diff options
Diffstat (limited to 'lexilla/test/examples/nim')
-rw-r--r-- | lexilla/test/examples/nim/SciTE.properties | 2 | ||||
-rw-r--r-- | lexilla/test/examples/nim/x.nim | 28 | ||||
-rw-r--r-- | lexilla/test/examples/nim/x.nim.styled | 28 |
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} |