summary refs log tree commit diff stats
path: root/tests/macros/tquotewords.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/macros/tquotewords.nim')
-rw-r--r--tests/macros/tquotewords.nim26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/macros/tquotewords.nim b/tests/macros/tquotewords.nim
new file mode 100644
index 000000000..76b8d8af7
--- /dev/null
+++ b/tests/macros/tquotewords.nim
@@ -0,0 +1,26 @@
+discard """
+  file: "tquotewords.nim"
+  output: "thisanexample"
+"""
+# Test an idea I recently had:
+
+import macros
+
+macro quoteWords(n: expr): expr {.immediate.} = 
+  let n = callsite()
+  result = newNimNode(nnkBracket, n)
+  for i in 1..n.len-1:
+    expectKind(n[i], nnkIdent)
+    result.add(toStrLit(n[i]))
+  
+const
+  myWordList = quoteWords(this, an, example)
+
+var s = ""
+for w in items(myWordList):
+  s.add(w)
+
+echo s #OUT thisanexample
+
+
+