diff --git a/lexers/embedded/kotlin.xml b/lexers/embedded/kotlin.xml index ec02c4e..28bf2d8 100644 --- a/lexers/embedded/kotlin.xml +++ b/lexers/embedded/kotlin.xml @@ -113,9 +113,7 @@ - - - + @@ -137,8 +135,20 @@ - - + + + + + + + + + + + + + + diff --git a/lexers/testdata/kotlin.actual b/lexers/testdata/kotlin.actual index a3b8cda..9df3a61 100644 --- a/lexers/testdata/kotlin.actual +++ b/lexers/testdata/kotlin.actual @@ -10,7 +10,9 @@ fun main(args: Array) { StringBuilder().apply { append(multiline) } - val unsigned = 0x00UL + 123u + 76.54 + val ints = 9_000 + 1__2 + 0b0110_10 + 0B011010 + val floats = 1.0 + .45 + 1_2.3_4E5_6 + 56f + 90F + 1.2f + val unsigned = 0x00UL + 123u } /* */ diff --git a/lexers/testdata/kotlin.expected b/lexers/testdata/kotlin.expected index ea87ddf..8b85107 100644 --- a/lexers/testdata/kotlin.expected +++ b/lexers/testdata/kotlin.expected @@ -56,19 +56,63 @@ {"type":"Text","value":"\n "}, {"type":"Keyword","value":"val"}, {"type":"Text","value":" "}, + {"type":"NameProperty","value":"ints"}, + {"type":"Text","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberInteger","value":"9_000"}, + {"type":"Text","value":" "}, + {"type":"Punctuation","value":"+"}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberInteger","value":"1__2"}, + {"type":"Text","value":" "}, + {"type":"Punctuation","value":"+"}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberBin","value":"0b0110_10"}, + {"type":"Text","value":" "}, + {"type":"Punctuation","value":"+"}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberBin","value":"0B011010"}, + {"type":"Text","value":"\n "}, + {"type":"Keyword","value":"val"}, + {"type":"Text","value":" "}, + {"type":"NameProperty","value":"floats"}, + {"type":"Text","value":" "}, + {"type":"Punctuation","value":"="}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberFloat","value":"1.0"}, + {"type":"Text","value":" "}, + {"type":"Punctuation","value":"+"}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberFloat","value":".45"}, + {"type":"Text","value":" "}, + {"type":"Punctuation","value":"+"}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberFloat","value":"1_2.3_4E5_6"}, + {"type":"Text","value":" "}, + {"type":"Punctuation","value":"+"}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberFloat","value":"56f"}, + {"type":"Text","value":" "}, + {"type":"Punctuation","value":"+"}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberFloat","value":"90F"}, + {"type":"Text","value":" "}, + {"type":"Punctuation","value":"+"}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberFloat","value":"1.2f"}, + {"type":"Text","value":"\n "}, + {"type":"Keyword","value":"val"}, + {"type":"Text","value":" "}, {"type":"NameProperty","value":"unsigned"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, - {"type":"LiteralNumber","value":"0x00UL"}, + {"type":"LiteralNumberHex","value":"0x00UL"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"+"}, {"type":"Text","value":" "}, - {"type":"LiteralNumber","value":"123u"}, - {"type":"Text","value":" "}, - {"type":"Punctuation","value":"+"}, - {"type":"Text","value":" "}, - {"type":"LiteralNumber","value":"76.54"}, + {"type":"LiteralNumberInteger","value":"123u"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, @@ -94,7 +138,7 @@ {"type":"Text","value":" "}, {"type":"Operator","value":"?:"}, {"type":"Text","value":" "}, - {"type":"LiteralNumber","value":"0"}, + {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n\n"}, {"type":"Keyword","value":"fun"}, {"type":"Text","value":" "}, @@ -120,11 +164,11 @@ {"type":"Text","value":" "}, {"type":"Punctuation","value":"{"}, {"type":"Text","value":"\n "}, - {"type":"LiteralNumber","value":"1"}, + {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":" "}, {"type":"Punctuation","value":"+"}, {"type":"Text","value":" "}, - {"type":"LiteralNumber","value":"2"}, + {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n"}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n\n"}, @@ -275,7 +319,7 @@ {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, - {"type":"LiteralNumber","value":"123"}, + {"type":"LiteralNumberInteger","value":"123"}, {"type":"Text","value":"\n "}, {"type":"Name","value":"println"}, {"type":"Punctuation","value":"("}, @@ -320,7 +364,7 @@ {"type":"Text","value":" "}, {"type":"Operator","value":"%="}, {"type":"Text","value":" "}, - {"type":"LiteralNumber","value":"2"}, + {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n\t"}, {"type":"Name","value":"a"}, {"type":"Text","value":" "}, @@ -332,27 +376,27 @@ {"type":"Text","value":" "}, {"type":"Operator","value":"*="}, {"type":"Text","value":" "}, - {"type":"LiteralNumber","value":"2"}, + {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n\t"}, {"type":"Name","value":"a"}, {"type":"Operator","value":"++"}, {"type":"Text","value":"\n\t"}, {"type":"Name","value":"b"}, {"type":"Operator","value":"+="}, - {"type":"LiteralNumber","value":"2"}, + {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n\t"}, {"type":"Name","value":"b"}, {"type":"Operator","value":"--"}, {"type":"Text","value":"\n\t"}, {"type":"Name","value":"a"}, {"type":"Operator","value":"-="}, - {"type":"LiteralNumber","value":"1"}, + {"type":"LiteralNumberInteger","value":"1"}, {"type":"Text","value":"\n\t"}, {"type":"Name","value":"a"}, {"type":"Text","value":" "}, {"type":"Operator","value":"/="}, {"type":"Text","value":" "}, - {"type":"LiteralNumber","value":"2"}, + {"type":"LiteralNumberInteger","value":"2"}, {"type":"Text","value":"\n\t"}, {"type":"Name","value":"a"}, {"type":"Text","value":" "}, @@ -562,7 +606,7 @@ {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, - {"type":"LiteralNumber","value":"0"}, + {"type":"LiteralNumberInteger","value":"0"}, {"type":"Text","value":"\n\n "}, {"type":"Punctuation","value":"}"}, {"type":"Text","value":"\n"}, @@ -594,7 +638,7 @@ {"type":"Text","value":" "}, {"type":"Punctuation","value":"="}, {"type":"Text","value":" "}, - {"type":"LiteralNumber","value":"123"}, + {"type":"LiteralNumberInteger","value":"123"}, {"type":"Text","value":"\n\n"}, {"type":"Keyword","value":"class"}, {"type":"Text","value":" "},