aboutsummaryrefslogtreecommitdiffhomepage
path: root/lexilla/test/examples/nim
diff options
context:
space:
mode:
Diffstat (limited to 'lexilla/test/examples/nim')
-rw-r--r--lexilla/test/examples/nim/SciTE.properties2
-rw-r--r--lexilla/test/examples/nim/x.nim28
-rw-r--r--lexilla/test/examples/nim/x.nim.styled28
3 files changed, 58 insertions, 0 deletions
diff --git a/lexilla/test/examples/nim/SciTE.properties b/lexilla/test/examples/nim/SciTE.properties
new file mode 100644
index 000000000..3a0214952
--- /dev/null
+++ b/lexilla/test/examples/nim/SciTE.properties
@@ -0,0 +1,2 @@
+lexer.*.nim=nim
+keywords.*.nim=else end if let proc
diff --git a/lexilla/test/examples/nim/x.nim b/lexilla/test/examples/nim/x.nim
new file mode 100644
index 000000000..874940d47
--- /dev/null
+++ b/lexilla/test/examples/nim/x.nim
@@ -0,0 +1,28 @@
+# Tests for Nim
+let s = "foobar"
+
+# Feature #1260
+{.ident.}
+stdin.readLine.split.map(parseInt).max.`$`.echo(" is the maximum!")
+
+# Feature #1261
+# IsFuncName("proc") so style ticks as SCE_NIM_FUNCNAME:
+proc `$` (x: myDataType): string = ...
+# Style ticks as SCE_NIM_BACKTICKS:
+if `==`( `+`(3,4),7): echo "True"
+
+# Feature #1262
+# Standard raw string identifier:
+let standardDoubleLitRawStr = R"A raw string\"
+let standardTripleLitRawStr = R"""A triple-double raw string\""""
+# Style of 'customIdent' is determined by lexer.nim.raw.strings.highlight.ident. 16 if false, 6 or 10 if true
+let customDoubleLitRawStr = customIdent"A string\"
+let customTripleLitRawStr = customIdent"""A triple-double raw string\""""
+
+# Feature #1268
+10_000
+10__000
+10_
+1....5
+1.ident
+1._ident
diff --git a/lexilla/test/examples/nim/x.nim.styled b/lexilla/test/examples/nim/x.nim.styled
new file mode 100644
index 000000000..3a05c04b8
--- /dev/null
+++ b/lexilla/test/examples/nim/x.nim.styled
@@ -0,0 +1,28 @@
+{3}# Tests for Nim
+{8}let{0} {16}s{0} {15}={0} {6}"foobar"{0}
+
+{3}# Feature #1260
+{15}{.{16}ident{15}.}{0}
+{16}stdin{15}.{16}readLine{15}.{16}split{15}.{16}map{15}({16}parseInt{15}).{16}max{15}.{11}`$`{15}.{16}echo{15}({6}" is the maximum!"{15}){0}
+
+{3}# Feature #1261
+# IsFuncName("proc") so style ticks as SCE_NIM_FUNCNAME:
+{8}proc{0} {12}`$`{0} {15}({16}x{15}:{0} {16}myDataType{15}):{0} {16}string{0} {15}={0} {15}...{0}
+{3}# Style ticks as SCE_NIM_BACKTICKS:
+{8}if{0} {11}`==`{15}({0} {11}`+`{15}({5}3{15},{5}4{15}),{5}7{15}):{0} {16}echo{0} {6}"True"{0}
+
+{3}# Feature #1262
+# Standard raw string identifier:
+{8}let{0} {16}standardDoubleLitRawStr{0} {15}={0} {6}R"A raw string\"{0}
+{8}let{0} {16}standardTripleLitRawStr{0} {15}={0} {10}R"""A triple-double raw string\""""{0}
+{3}# Style of 'customIdent' is determined by lexer.nim.raw.strings.highlight.ident. 16 if false, 6 or 10 if true
+{8}let{0} {16}customDoubleLitRawStr{0} {15}={0} {16}customIdent{6}"A string\"{0}
+{8}let{0} {16}customTripleLitRawStr{0} {15}={0} {16}customIdent{10}"""A triple-double raw string\""""{0}
+
+{3}# Feature #1268
+{5}10_000{0}
+{5}10{16}__000{0}
+{5}10{16}_{0}
+{5}1{15}....{5}5{0}
+{5}1{15}.{16}ident{0}
+{5}1{15}.{16}_ident{0}