diff --git a/lexers/embedded/typescript.xml b/lexers/embedded/typescript.xml index b39c964..2e15ab4 100644 --- a/lexers/embedded/typescript.xml +++ b/lexers/embedded/typescript.xml @@ -275,13 +275,19 @@ - + - + + + + + + + - + diff --git a/lexers/testdata/typescript/number_literals.actual b/lexers/testdata/typescript/number_literals.actual new file mode 100644 index 0000000..652a388 --- /dev/null +++ b/lexers/testdata/typescript/number_literals.actual @@ -0,0 +1,19 @@ +const mode = 0o644; +0O755 +0b1010 +0B1010 +0xff +0XFF +1e5 +1E5 +1e+5 +1e-5 +1.5 +1. +1.5e10 +2.5E-3 +1_000 +1_000_000 +42 +0 +const total = 0XFF + 1e-5 * 1_000; diff --git a/lexers/testdata/typescript/number_literals.expected b/lexers/testdata/typescript/number_literals.expected new file mode 100644 index 0000000..6c067c7 --- /dev/null +++ b/lexers/testdata/typescript/number_literals.expected @@ -0,0 +1,62 @@ +[ + {"type":"KeywordReserved","value":"const"}, + {"type":"Text","value":" "}, + {"type":"NameOther","value":"mode"}, + {"type":"Text","value":" "}, + {"type":"Operator","value":"="}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberOct","value":"0o644"}, + {"type":"Punctuation","value":";"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberOct","value":"0O755"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberBin","value":"0b1010"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberBin","value":"0B1010"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberHex","value":"0xff"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberHex","value":"0XFF"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberFloat","value":"1e5"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberFloat","value":"1E5"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberFloat","value":"1e+5"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberFloat","value":"1e-5"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberFloat","value":"1.5"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberFloat","value":"1."}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberFloat","value":"1.5e10"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberFloat","value":"2.5E-3"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberInteger","value":"1_000"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberInteger","value":"1_000_000"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberInteger","value":"42"}, + {"type":"Text","value":"\n"}, + {"type":"LiteralNumberInteger","value":"0"}, + {"type":"Text","value":"\n"}, + {"type":"KeywordReserved","value":"const"}, + {"type":"Text","value":" "}, + {"type":"NameOther","value":"total"}, + {"type":"Text","value":" "}, + {"type":"Operator","value":"="}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberHex","value":"0XFF"}, + {"type":"Text","value":" "}, + {"type":"Operator","value":"+"}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberFloat","value":"1e-5"}, + {"type":"Text","value":" "}, + {"type":"Operator","value":"*"}, + {"type":"Text","value":" "}, + {"type":"LiteralNumberInteger","value":"1_000"}, + {"type":"Punctuation","value":";"}, + {"type":"Text","value":"\n"} +]