Add support for BigInt

pull/2748/head
Sebastian Pahnke 6 years ago
parent 06ba3ff7e8
commit 5e89da1eef

@ -396,6 +396,96 @@ testTokenization('javascript', [
] ]
}], }],
// Bigint
[{
line: '0n',
tokens: [
{ startIndex: 0, type: 'number.js' }
]
}],
[{
line: ' 0n',
tokens: [
{ startIndex: 0, type: '' },
{ startIndex: 1, type: 'number.js' }
]
}],
[{
line: ' 0n ',
tokens: [
{ startIndex: 0, type: '' },
{ startIndex: 1, type: 'number.js' },
{ startIndex: 3, type: '' }
]
}],
[{
line: '0n ',
tokens: [
{ startIndex: 0, type: 'number.js' },
{ startIndex: 2, type: '' }
]
}],
[{
line: '0n+0n',
tokens: [
{ startIndex: 0, type: 'number.js' },
{ startIndex: 2, type: 'delimiter.js' },
{ startIndex: 3, type: 'number.js' }
]
}],
[{
line: '100n+10n',
tokens: [
{ startIndex: 0, type: 'number.js' },
{ startIndex: 4, type: 'delimiter.js' },
{ startIndex: 5, type: 'number.js' }
]
}],
[{
line: '0n + 0n',
tokens: [
{ startIndex: 0, type: 'number.js' },
{ startIndex: 2, type: '' },
{ startIndex: 3, type: 'delimiter.js' },
{ startIndex: 4, type: '' },
{ startIndex: 5, type: 'number.js' }
]
}],
[{
line: '0b101n',
tokens: [
{ startIndex: 0, type: 'number.binary.js' }
]
}],
[{
line: '0123n',
tokens: [
{ startIndex: 0, type: 'number.octal.js' }
]
}],
[{
line: '0o123n',
tokens: [
{ startIndex: 0, type: 'number.octal.js' }
]
}],
[{
line: '0x123n',
tokens: [
{ startIndex: 0, type: 'number.hex.js' }
]
}],
// Regular Expressions // Regular Expressions
[{ [{
line: '//', line: '//',

@ -396,6 +396,96 @@ testTokenization('typescript', [
] ]
}], }],
// Bigint
[{
line: '0n',
tokens: [
{ startIndex: 0, type: 'number.ts' }
]
}],
[{
line: ' 0n',
tokens: [
{ startIndex: 0, type: '' },
{ startIndex: 1, type: 'number.ts' }
]
}],
[{
line: ' 0n ',
tokens: [
{ startIndex: 0, type: '' },
{ startIndex: 1, type: 'number.ts' },
{ startIndex: 3, type: '' }
]
}],
[{
line: '0n ',
tokens: [
{ startIndex: 0, type: 'number.ts' },
{ startIndex: 2, type: '' }
]
}],
[{
line: '0n+0n',
tokens: [
{ startIndex: 0, type: 'number.ts' },
{ startIndex: 2, type: 'delimiter.ts' },
{ startIndex: 3, type: 'number.ts' }
]
}],
[{
line: '100n+10n',
tokens: [
{ startIndex: 0, type: 'number.ts' },
{ startIndex: 4, type: 'delimiter.ts' },
{ startIndex: 5, type: 'number.ts' }
]
}],
[{
line: '0n + 0n',
tokens: [
{ startIndex: 0, type: 'number.ts' },
{ startIndex: 2, type: '' },
{ startIndex: 3, type: 'delimiter.ts' },
{ startIndex: 4, type: '' },
{ startIndex: 5, type: 'number.ts' }
]
}],
[{
line: '0b101n',
tokens: [
{ startIndex: 0, type: 'number.binary.ts' }
]
}],
[{
line: '0123n',
tokens: [
{ startIndex: 0, type: 'number.octal.ts' }
]
}],
[{
line: '0o123n',
tokens: [
{ startIndex: 0, type: 'number.octal.ts' }
]
}],
[{
line: '0x123n',
tokens: [
{ startIndex: 0, type: 'number.hex.ts' }
]
}],
// Regular Expressions // Regular Expressions
[{ [{
line: '//', line: '//',

@ -146,10 +146,10 @@ export const language = {
// numbers // numbers
[/(@digits)[eE]([\-+]?(@digits))?/, 'number.float'], [/(@digits)[eE]([\-+]?(@digits))?/, 'number.float'],
[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/, 'number.float'], [/(@digits)\.(@digits)([eE][\-+]?(@digits))?/, 'number.float'],
[/0[xX](@hexdigits)/, 'number.hex'], [/0[xX](@hexdigits)n?/, 'number.hex'],
[/0[oO]?(@octaldigits)/, 'number.octal'], [/0[oO]?(@octaldigits)n?/, 'number.octal'],
[/0[bB](@binarydigits)/, 'number.binary'], [/0[bB](@binarydigits)n?/, 'number.binary'],
[/(@digits)/, 'number'], [/(@digits)n?/, 'number'],
// delimiter: after number because of .\d floats // delimiter: after number because of .\d floats
[/[;,.]/, 'delimiter'], [/[;,.]/, 'delimiter'],

Loading…
Cancel
Save