diff options
author | PureFox48 <64583745+PureFox48@users.noreply.github.com> | 2022-11-29 01:13:37 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-29 02:13:37 +0100 |
commit | a47833dc7b3ee2f531ac17371f354798e43b9f88 (patch) | |
tree | 16214011257991350c526d711d142d938b174f7c /tests | |
parent | 880a2177ddcbaf02beb1d986b9fb15ab4a7a95a8 (diff) | |
download | pygments-git-a47833dc7b3ee2f531ac17371f354798e43b9f88.tar.gz |
Add support for Wren language (#2271)
Co-authored-by: Jean Abou Samra <jean@abou-samra.fr>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/examplefiles/wren/example.wren | 122 | ||||
-rw-r--r-- | tests/examplefiles/wren/example.wren.output | 925 | ||||
-rw-r--r-- | tests/snippets/wren/lonely-paren.txt | 10 |
3 files changed, 1057 insertions, 0 deletions
diff --git a/tests/examplefiles/wren/example.wren b/tests/examplefiles/wren/example.wren new file mode 100644 index 00000000..272d3cb9 --- /dev/null +++ b/tests/examplefiles/wren/example.wren @@ -0,0 +1,122 @@ +#!/bin/wren + +/* IMPORTS */ +import "random" for Random as Rand + +/* COMMENTS */ + +// single line comment + +/* + multiline comment + /* + nested multiline comment + */ +*/ + +/* CLASSES & ATTRIBUTES */ + +#!type = "parent" +class Parent { + #method + static setField (field) { + __field = field + } + + construct new(parent) { + _parent = parent + return + } + + parent { _parent } + + foreign method() +} + +#!type = "child" +#group( + multiple, + lines = true +) +class Child is Parent { + construct new(parent, child) { + super(parent) + _child = child + } + + child { _child } + + toString { this.parent } +} + +/* VARIABLES & STRINGS */ + +var rand = Rand.new() +var name = """David""" +var fullName = "%(name) Smith" +var firstChild = Child.new("Philip Smith", fullName) +var age = 21 +var weight = 70.25 +var male = true +var sex = male ? "M" : "F" +var address = """ + "House name" 12 Any Street + Some Town + \t %("Some Country") " +""" + +/* LOOPS & CONDITIONALS */ +for (i in 1..5) { + if (i == 2) { + continue + } else if (i == 4) { + break + } + System.print(i) +} +var j = 6 +while (j <= 1e+1) { + if (j == 8) break + System.print(j) + j = j + 1 +} + +/* ARITHMETIC OPERATORS */ +var a = 1 +var b = 2 +var c = [-a, a + b, a - b, a * b, a / b, a % b] +var add = c[1] + +/* BITWISE OPERATORS */ +var d = 3 +var e = 4 +var f = [~d, d & e, d | e, d ^ e, d << 2, e >> 1] + +/* COMPARISON OPERATORS */ +var g = 5 +var h = 6 +var i = [a == b, a != b, a < b, a <= b, a > b, a >= b] +var k = firstChild is Parent + +/* FUNCTIONS */ +var func = Fn.new { |param| + var z = "this" + System.print(z + " " + param) +} +func.call("function") + +/* MISCELLANEOUS */ + +var hex = 0x12ac +var nul = null +var l = false +var m = true +var n = l && m +var o = l || m +var esc = "\\ \% \" \0 \a \b \t \f \n \r \v \e \x01 \uabcd \Uabcdef01" +var uni = "£ é 😀 🎷" +var map = {"a": 1, "b": 2} +var iex = "%(map["a"] + map[("b")])" +var odd = (1...h).where { |i| i % 2 == 1 } + .toList +var emp = "" diff --git a/tests/examplefiles/wren/example.wren.output b/tests/examplefiles/wren/example.wren.output new file mode 100644 index 00000000..2b76dd63 --- /dev/null +++ b/tests/examplefiles/wren/example.wren.output @@ -0,0 +1,925 @@ +'#!/bin/wren' Comment.Special +'\n\n' Text.Whitespace + +'/*' Comment.Multiline +' IMPORTS ' Comment.Multiline +'*/' Comment.Multiline +'\n' Text.Whitespace + +'import' Keyword +' ' Text.Whitespace +'"' Literal.String +'random' Literal.String +'"' Literal.String +' ' Text.Whitespace +'for' Keyword +' ' Text.Whitespace +'Random' Name.Class +' ' Text.Whitespace +'as' Keyword +' ' Text.Whitespace +'Rand' Name.Class +'\n\n' Text.Whitespace + +'/*' Comment.Multiline +' COMMENTS ' Comment.Multiline +'*/' Comment.Multiline +'\n\n' Text.Whitespace + +'// single line comment' Comment.Single +'\n\n' Text.Whitespace + +'/*' Comment.Multiline +'\n multiline comment\n ' Comment.Multiline +'/*' Comment.Multiline +'\n nested multiline comment\n ' Comment.Multiline +'*/' Comment.Multiline +'\n' Comment.Multiline + +'*/' Comment.Multiline +'\n\n' Text.Whitespace + +'/*' Comment.Multiline +' CLASSES & ATTRIBUTES ' Comment.Multiline +'*/' Comment.Multiline +'\n\n' Text.Whitespace + +'#!type = "parent"' Comment.Special +'\n' Text.Whitespace + +'class' Keyword +' ' Text.Whitespace +'Parent' Name.Class +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'#method' Comment.Special +'\n ' Text.Whitespace +'static' Keyword +' ' Text.Whitespace +'setField' Name +' ' Text.Whitespace +'(' Punctuation +'field' Name +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'__field' Name.Variable.Class +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'field' Name +'\n ' Text.Whitespace +'}' Punctuation +'\n\n ' Text.Whitespace +'construct' Keyword +' ' Text.Whitespace +'new' Name +'(' Punctuation +'parent' Name +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'_parent' Name.Variable.Instance +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'parent' Name +'\n ' Text.Whitespace +'return' Keyword +'\n ' Text.Whitespace +'}' Punctuation +'\n\n ' Text.Whitespace +'parent' Name +' ' Text.Whitespace +'{' Punctuation +' ' Text.Whitespace +'_parent' Name.Variable.Instance +' ' Text.Whitespace +'}' Punctuation +'\n\n ' Text.Whitespace +'foreign' Keyword +' ' Text.Whitespace +'method' Name +'(' Punctuation +')' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n\n' Text.Whitespace + +'#!type = "child"' Comment.Special +'\n' Text.Whitespace + +'#group(\n multiple,\n lines = true\n)' Comment.Special +'\n' Text.Whitespace + +'class' Keyword +' ' Text.Whitespace +'Child' Name.Class +' ' Text.Whitespace +'is' Operator.Word +' ' Text.Whitespace +'Parent' Name.Class +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'construct' Keyword +' ' Text.Whitespace +'new' Name +'(' Punctuation +'parent' Name +',' Punctuation +' ' Text.Whitespace +'child' Name +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'super' Keyword +'(' Punctuation +'parent' Name +')' Punctuation +'\n ' Text.Whitespace +'_child' Name.Variable.Instance +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'child' Name +'\n ' Text.Whitespace +'}' Punctuation +'\n\n ' Text.Whitespace +'child' Name +' ' Text.Whitespace +'{' Punctuation +' ' Text.Whitespace +'_child' Name.Variable.Instance +' ' Text.Whitespace +'}' Punctuation +'\n\n ' Text.Whitespace +'toString' Name +' ' Text.Whitespace +'{' Punctuation +' ' Text.Whitespace +'this' Keyword +'.' Operator +'parent' Name +' ' Text.Whitespace +'}' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n\n' Text.Whitespace + +'/*' Comment.Multiline +' VARIABLES & STRINGS ' Comment.Multiline +'*/' Comment.Multiline +'\n\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'rand' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'Rand' Name.Class +'.' Operator +'new' Name +'(' Punctuation +')' Punctuation +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'name' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"""David"""' Literal.String +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'fullName' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"' Literal.String +'%(' Literal.String.Interpol +'name' Name +')' Literal.String.Interpol +' Smith' Literal.String +'"' Literal.String +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'firstChild' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'Child' Name.Class +'.' Operator +'new' Name +'(' Punctuation +'"' Literal.String +'Philip Smith' Literal.String +'"' Literal.String +',' Punctuation +' ' Text.Whitespace +'fullName' Name +')' Punctuation +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'age' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'21' Literal.Number.Float +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'weight' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'70.25' Literal.Number.Float +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'male' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'true' Keyword.Constant +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'sex' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'male' Name +' ' Text.Whitespace +'?' Operator +' ' Text.Whitespace +'"' Literal.String +'M' Literal.String +'"' Literal.String +' ' Text.Whitespace +':' Operator +' ' Text.Whitespace +'"' Literal.String +'F' Literal.String +'"' Literal.String +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'address' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"""\n "House name" 12 Any Street\n Some Town\n \\t %("Some Country") "\n"""' Literal.String +'\n\n' Text.Whitespace + +'/*' Comment.Multiline +' LOOPS & CONDITIONALS ' Comment.Multiline +'*/' Comment.Multiline +'\n' Text.Whitespace + +'for' Keyword +' ' Text.Whitespace +'(' Punctuation +'i' Name +' ' Text.Whitespace +'in' Operator.Word +' ' Text.Whitespace +'1' Literal.Number.Float +'..' Operator +'5' Literal.Number.Float +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'i' Name +' ' Text.Whitespace +'==' Operator +' ' Text.Whitespace +'2' Literal.Number.Float +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'continue' Keyword +'\n ' Text.Whitespace +'}' Punctuation +' ' Text.Whitespace +'else' Keyword +' ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'i' Name +' ' Text.Whitespace +'==' Operator +' ' Text.Whitespace +'4' Literal.Number.Float +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'break' Keyword +'\n ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'System' Name.Class +'.' Operator +'print' Name +'(' Punctuation +'i' Name +')' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'j' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'6' Literal.Number.Float +'\n' Text.Whitespace + +'while' Keyword +' ' Text.Whitespace +'(' Punctuation +'j' Name +' ' Text.Whitespace +'<=' Operator +' ' Text.Whitespace +'1e+1' Literal.Number.Float +')' Punctuation +' ' Text.Whitespace +'{' Punctuation +'\n ' Text.Whitespace +'if' Keyword +' ' Text.Whitespace +'(' Punctuation +'j' Name +' ' Text.Whitespace +'==' Operator +' ' Text.Whitespace +'8' Literal.Number.Float +')' Punctuation +' ' Text.Whitespace +'break' Keyword +'\n ' Text.Whitespace +'System' Name.Class +'.' Operator +'print' Name +'(' Punctuation +'j' Name +')' Punctuation +'\n ' Text.Whitespace +'j' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'j' Name +' ' Text.Whitespace +'+' Operator +' ' Text.Whitespace +'1' Literal.Number.Float +'\n' Text.Whitespace + +'}' Punctuation +'\n\n' Text.Whitespace + +'/*' Comment.Multiline +' ARITHMETIC OPERATORS ' Comment.Multiline +'*/' Comment.Multiline +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'a' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'1' Literal.Number.Float +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'b' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'2' Literal.Number.Float +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'c' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +'-' Operator +'a' Name +',' Punctuation +' ' Text.Whitespace +'a' Name +' ' Text.Whitespace +'+' Operator +' ' Text.Whitespace +'b' Name +',' Punctuation +' ' Text.Whitespace +'a' Name +' ' Text.Whitespace +'-' Operator +' ' Text.Whitespace +'b' Name +',' Punctuation +' ' Text.Whitespace +'a' Name +' ' Text.Whitespace +'*' Operator +' ' Text.Whitespace +'b' Name +',' Punctuation +' ' Text.Whitespace +'a' Name +' ' Text.Whitespace +'/' Operator +' ' Text.Whitespace +'b' Name +',' Punctuation +' ' Text.Whitespace +'a' Name +' ' Text.Whitespace +'%' Operator +' ' Text.Whitespace +'b' Name +']' Punctuation +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'add' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'c' Name +'[' Punctuation +'1' Literal.Number.Float +']' Punctuation +'\n\n' Text.Whitespace + +'/*' Comment.Multiline +' BITWISE OPERATORS ' Comment.Multiline +'*/' Comment.Multiline +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'d' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'3' Literal.Number.Float +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'e' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'4' Literal.Number.Float +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'f' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +'~' Operator +'d' Name +',' Punctuation +' ' Text.Whitespace +'d' Name +' ' Text.Whitespace +'&' Operator +' ' Text.Whitespace +'e' Name +',' Punctuation +' ' Text.Whitespace +'d' Name +' ' Text.Whitespace +'|' Operator +' ' Text.Whitespace +'e' Name +',' Punctuation +' ' Text.Whitespace +'d' Name +' ' Text.Whitespace +'^' Operator +' ' Text.Whitespace +'e' Name +',' Punctuation +' ' Text.Whitespace +'d' Name +' ' Text.Whitespace +'<<' Operator +' ' Text.Whitespace +'2' Literal.Number.Float +',' Punctuation +' ' Text.Whitespace +'e' Name +' ' Text.Whitespace +'>>' Operator +' ' Text.Whitespace +'1' Literal.Number.Float +']' Punctuation +'\n\n' Text.Whitespace + +'/*' Comment.Multiline +' COMPARISON OPERATORS ' Comment.Multiline +'*/' Comment.Multiline +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'g' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'5' Literal.Number.Float +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'h' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'6' Literal.Number.Float +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'i' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'[' Punctuation +'a' Name +' ' Text.Whitespace +'==' Operator +' ' Text.Whitespace +'b' Name +',' Punctuation +' ' Text.Whitespace +'a' Name +' ' Text.Whitespace +'!=' Operator +' ' Text.Whitespace +'b' Name +',' Punctuation +' ' Text.Whitespace +'a' Name +' ' Text.Whitespace +'<' Operator +' ' Text.Whitespace +'b' Name +',' Punctuation +' ' Text.Whitespace +'a' Name +' ' Text.Whitespace +'<=' Operator +' ' Text.Whitespace +'b' Name +',' Punctuation +' ' Text.Whitespace +'a' Name +' ' Text.Whitespace +'>' Operator +' ' Text.Whitespace +'b' Name +',' Punctuation +' ' Text.Whitespace +'a' Name +' ' Text.Whitespace +'>=' Operator +' ' Text.Whitespace +'b' Name +']' Punctuation +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'k' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'firstChild' Name +' ' Text.Whitespace +'is' Operator.Word +' ' Text.Whitespace +'Parent' Name.Class +'\n\n' Text.Whitespace + +'/*' Comment.Multiline +' FUNCTIONS ' Comment.Multiline +'*/' Comment.Multiline +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'func' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'Fn' Name.Class +'.' Operator +'new' Name +' ' Text.Whitespace +'{' Punctuation +' ' Text.Whitespace +'|' Operator +'param' Name +'|' Operator +'\n ' Text.Whitespace +'var' Keyword +' ' Text.Whitespace +'z' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"' Literal.String +'this' Literal.String +'"' Literal.String +'\n ' Text.Whitespace +'System' Name.Class +'.' Operator +'print' Name +'(' Punctuation +'z' Name +' ' Text.Whitespace +'+' Operator +' ' Text.Whitespace +'"' Literal.String +' ' Literal.String +'"' Literal.String +' ' Text.Whitespace +'+' Operator +' ' Text.Whitespace +'param' Name +')' Punctuation +'\n' Text.Whitespace + +'}' Punctuation +'\n' Text.Whitespace + +'func' Name +'.' Operator +'call' Name +'(' Punctuation +'"' Literal.String +'function' Literal.String +'"' Literal.String +')' Punctuation +'\n\n' Text.Whitespace + +'/*' Comment.Multiline +' MISCELLANEOUS ' Comment.Multiline +'*/' Comment.Multiline +'\n\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'hex' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'0x12ac' Literal.Number.Hex +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'nul' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'null' Keyword.Constant +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'l' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'false' Keyword.Constant +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'m' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'true' Keyword.Constant +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'n' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'l' Name +' ' Text.Whitespace +'&&' Operator +' ' Text.Whitespace +'m' Name +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'o' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'l' Name +' ' Text.Whitespace +'||' Operator +' ' Text.Whitespace +'m' Name +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'esc' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"' Literal.String +'\\\\' Literal.String.Escape +' ' Literal.String +'\\%' Literal.String.Escape +' ' Literal.String +'\\"' Literal.String.Escape +' ' Literal.String +'\\0' Literal.String.Escape +' ' Literal.String +'\\a' Literal.String.Escape +' ' Literal.String +'\\b' Literal.String.Escape +' ' Literal.String +'\\t' Literal.String.Escape +' ' Literal.String +'\\f' Literal.String.Escape +' ' Literal.String +'\\n' Literal.String.Escape +' ' Literal.String +'\\r' Literal.String.Escape +' ' Literal.String +'\\v' Literal.String.Escape +' ' Literal.String +'\\e' Literal.String.Escape +' ' Literal.String +'\\x01' Literal.String.Escape +' ' Literal.String +'\\uabcd' Literal.String.Escape +' ' Literal.String +'\\Uabcdef01' Literal.String.Escape +'"' Literal.String +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'uni' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"' Literal.String +'£ é 😀 \u200e🎷' Literal.String +'"' Literal.String +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'map' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'{' Punctuation +'"' Literal.String +'a' Literal.String +'"' Literal.String +':' Operator +' ' Text.Whitespace +'1' Literal.Number.Float +',' Punctuation +' ' Text.Whitespace +'"' Literal.String +'b' Literal.String +'"' Literal.String +':' Operator +' ' Text.Whitespace +'2' Literal.Number.Float +'}' Punctuation +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'iex' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"' Literal.String +'%(' Literal.String.Interpol +'map' Name +'[' Punctuation +'"' Literal.String +'a' Literal.String +'"' Literal.String +']' Punctuation +' ' Text.Whitespace +'+' Operator +' ' Text.Whitespace +'map' Name +'[' Punctuation +'(' Punctuation +'"' Literal.String +'b' Literal.String +'"' Literal.String +')' Punctuation +']' Punctuation +')' Literal.String.Interpol +'"' Literal.String +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'odd' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'(' Punctuation +'1' Literal.Number.Float +'...' Operator +'h' Name +')' Punctuation +'.' Operator +'where' Name +' ' Text.Whitespace +'{' Punctuation +' ' Text.Whitespace +'|' Operator +'i' Name +'|' Operator +' ' Text.Whitespace +'i' Name +' ' Text.Whitespace +'%' Operator +' ' Text.Whitespace +'2' Literal.Number.Float +' ' Text.Whitespace +'==' Operator +' ' Text.Whitespace +'1' Literal.Number.Float +' ' Text.Whitespace +'}' Punctuation +'\n ' Text.Whitespace +'.' Operator +'toList' Name +'\n' Text.Whitespace + +'var' Keyword +' ' Text.Whitespace +'emp' Name +' ' Text.Whitespace +'=' Operator +' ' Text.Whitespace +'"' Literal.String +'"' Literal.String +'\n' Text.Whitespace diff --git a/tests/snippets/wren/lonely-paren.txt b/tests/snippets/wren/lonely-paren.txt new file mode 100644 index 00000000..5236e601 --- /dev/null +++ b/tests/snippets/wren/lonely-paren.txt @@ -0,0 +1,10 @@ +---input--- +// This invalid input should terminate. +) + +---tokens--- +'// This invalid input should terminate.' Comment.Single +'\n' Text.Whitespace + +')' Punctuation +'\n' Text.Whitespace |