@@ -15,19 +15,19 @@ variables:
1515 quotedStrings : (\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)
1616 nonIdentifierPropertyName : ' {{quotedStrings}}|(\[([^\[\]]|\[[^\[\]]*\])+\])'
1717 label : ({{identifier}})\s*(:)
18- hexNumber : \b(?<!\$)0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\b(?!\$)
19- binaryNumber : \b(?<!\$)0(b|B)[01][01_]*\b(?!\$)
20- octalNumber : \b(?<!\$)0(o|O)?[0-7][0-7_]*\b(?!\$)
18+ hexNumber : \b(?<!\$)0(?: x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)? \b(?!\$)
19+ binaryNumber : \b(?<!\$)0(?: b|B)[01][01_]*(n)? \b(?!\$)
20+ octalNumber : \b(?<!\$)0(?: o|O)?[0-7][0-7_]*(n)? \b(?!\$)
2121 decimalNumber : |-
2222 (?<!\$)(?:
23- (?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # 1.1E+3
24- (?:\b[0-9][0-9_]*(\.)[eE][+-]?[0-9][0-9_]*\b)| # 1.E+3
25- (?:\B(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # .1E+3
26- (?:\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*\b)| # 1E+3
27- (?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*\b)| # 1.1
28- (?:\b[0-9][0-9_]*(\.)\B)| # 1.
29- (?:\B(\.)[0-9][0-9_]*\b)| # .1
30- (?:\b[0-9][0-9_]*\b(?!\.)) # 1
23+ (?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)? \b)| # 1.1E+3
24+ (?:\b[0-9][0-9_]*(\.)[eE][+-]?[0-9][0-9_]*(n)? \b)| # 1.E+3
25+ (?:\B(\.)[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)? \b)| # .1E+3
26+ (?:\b[0-9][0-9_]*[eE][+-]?[0-9][0-9_]*(n)? \b)| # 1E+3
27+ (?:\b[0-9][0-9_]*(\.)[0-9][0-9_]*(n)? \b)| # 1.1
28+ (?:\b[0-9][0-9_]*(\.)(n)? \B)| # 1.
29+ (?:\B(\.)[0-9][0-9_]*(n)? \b)| # .1
30+ (?:\b[0-9][0-9_]*(n)? \b(?!\.)) # 1
3131 )(?!\$)
3232 anyNumber : ({{hexNumber}})|({{binaryNumber}})|({{octalNumber}})|({{decimalNumber}})
3333 # any use of property name needs to ignore line breaks in regular expression because of decimal number regex (maintained for readability)
@@ -1576,21 +1576,35 @@ repository:
15761576 patterns :
15771577 - name : constant.numeric.hex.ts
15781578 match : ' {{hexNumber}}'
1579+ captures :
1580+ ' 1 ' : { name: storage.type.numeric.bigint.ts }
15791581 - name : constant.numeric.binary.ts
15801582 match : ' {{binaryNumber}}'
1583+ captures :
1584+ ' 1 ' : { name: storage.type.numeric.bigint.ts }
15811585 - name : constant.numeric.octal.ts
15821586 match : ' {{octalNumber}}'
1587+ captures :
1588+ ' 1 ' : { name: storage.type.numeric.bigint.ts }
15831589 - match : |-
15841590 (?x)
15851591 {{decimalNumber}}
15861592 captures:
15871593 '0': {name: constant.numeric.decimal.ts}
15881594 '1': {name: meta.delimiter.decimal.period.ts}
1589- '2': {name: meta.delimiter.decimal.period .ts}
1595+ '2': { name: storage.type.numeric.bigint .ts }
15901596 '3': {name: meta.delimiter.decimal.period.ts}
1591- '4': {name: meta.delimiter.decimal.period .ts}
1597+ '4': { name: storage.type.numeric.bigint .ts }
15921598 '5': {name: meta.delimiter.decimal.period.ts}
1593- '6': {name: meta.delimiter.decimal.period.ts}
1599+ '6': { name: storage.type.numeric.bigint.ts }
1600+ '7': { name: storage.type.numeric.bigint.ts }
1601+ '8': {name: meta.delimiter.decimal.period.ts}
1602+ '9': { name: storage.type.numeric.bigint.ts }
1603+ '10': {name: meta.delimiter.decimal.period.ts}
1604+ '11': { name: storage.type.numeric.bigint.ts }
1605+ '12': {name: meta.delimiter.decimal.period.ts}
1606+ '13': { name: storage.type.numeric.bigint.ts }
1607+ '14': { name: storage.type.numeric.bigint.ts }
15941608
15951609 boolean-literal :
15961610 patterns :
@@ -1630,8 +1644,8 @@ repository:
16301644 # builtins
16311645 - name : support.class.builtin.ts
16321646 match : |-
1633- (?x){{startOfIdentifier}}(Array|ArrayBuffer|Atomics|Boolean|DataView|Date|Float32Array|Float64Array|Function|Generator
1634- |GeneratorFunction|Int8Array|Int16Array|Int32Array|Intl|Map|Number|Object|Proxy
1647+ (?x){{startOfIdentifier}}(Array|ArrayBuffer|Atomics|BigInt|BigInt64Array|BigUint64Array| Boolean|DataView|Date|Float32Array
1648+ |Float64Array|Function|Generator| GeneratorFunction|Int8Array|Int16Array|Int32Array|Intl|Map|Number|Object|Proxy
16351649 |Reflect|RegExp|Set|SharedArrayBuffer|SIMD|String|Symbol|TypedArray
16361650 |Uint8Array|Uint16Array|Uint32Array|Uint8ClampedArray|WeakMap|WeakSet)\b(?!\$)
16371651 - name : support.class.error.ts
@@ -2107,7 +2121,7 @@ repository:
21072121
21082122 type-primitive :
21092123 name : support.type.primitive.ts
2110- match : ' {{startOfIdentifier}}(string|number|boolean|symbol|any|void|never|unknown){{endOfIdentifier}}'
2124+ match : ' {{startOfIdentifier}}(string|number|bigint| boolean|symbol|any|void|never|unknown){{endOfIdentifier}}'
21112125
21122126 type-builtin-literals :
21132127 name : support.type.builtin.ts
0 commit comments