@@ -15,19 +15,19 @@ variables:
15
15
quotedStrings : (\'([^\'\\]|\\\'|\\)*\')|(\"([^\"\\]|\\\"|\\)*\")|(\`([^\`\\]|\\\`|\\)*\`)
16
16
nonIdentifierPropertyName : ' {{quotedStrings}}|(\[([^\[\]]|\[[^\[\]]*\])+\])'
17
17
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(?!\$)
21
21
decimalNumber : |-
22
22
(?<!\$)(?:
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
31
31
)(?!\$)
32
32
anyNumber : ({{hexNumber}})|({{binaryNumber}})|({{octalNumber}})|({{decimalNumber}})
33
33
# 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:
1576
1576
patterns :
1577
1577
- name : constant.numeric.hex.ts
1578
1578
match : ' {{hexNumber}}'
1579
+ captures :
1580
+ ' 1 ' : { name: storage.type.numeric.bigint.ts }
1579
1581
- name : constant.numeric.binary.ts
1580
1582
match : ' {{binaryNumber}}'
1583
+ captures :
1584
+ ' 1 ' : { name: storage.type.numeric.bigint.ts }
1581
1585
- name : constant.numeric.octal.ts
1582
1586
match : ' {{octalNumber}}'
1587
+ captures :
1588
+ ' 1 ' : { name: storage.type.numeric.bigint.ts }
1583
1589
- match : |-
1584
1590
(?x)
1585
1591
{{decimalNumber}}
1586
1592
captures:
1587
1593
'0': {name: constant.numeric.decimal.ts}
1588
1594
'1': {name: meta.delimiter.decimal.period.ts}
1589
- '2': {name: meta.delimiter.decimal.period .ts}
1595
+ '2': { name: storage.type.numeric.bigint .ts }
1590
1596
'3': {name: meta.delimiter.decimal.period.ts}
1591
- '4': {name: meta.delimiter.decimal.period .ts}
1597
+ '4': { name: storage.type.numeric.bigint .ts }
1592
1598
'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 }
1594
1608
1595
1609
boolean-literal :
1596
1610
patterns :
@@ -1630,8 +1644,8 @@ repository:
1630
1644
# builtins
1631
1645
- name : support.class.builtin.ts
1632
1646
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
1635
1649
|Reflect|RegExp|Set|SharedArrayBuffer|SIMD|String|Symbol|TypedArray
1636
1650
|Uint8Array|Uint16Array|Uint32Array|Uint8ClampedArray|WeakMap|WeakSet)\b(?!\$)
1637
1651
- name : support.class.error.ts
@@ -2107,7 +2121,7 @@ repository:
2107
2121
2108
2122
type-primitive :
2109
2123
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}}'
2111
2125
2112
2126
type-builtin-literals :
2113
2127
name : support.type.builtin.ts
0 commit comments