From 0d07623ea8558a380ffac4545e59c3dddf4d6855 Mon Sep 17 00:00:00 2001 From: yann300 Date: Mon, 8 Nov 2021 12:29:24 +0100 Subject: [PATCH] linting --- libs/remix-ui/editor/src/lib/syntax.ts | 2726 ++++++++++++------------ 1 file changed, 1363 insertions(+), 1363 deletions(-) diff --git a/libs/remix-ui/editor/src/lib/syntax.ts b/libs/remix-ui/editor/src/lib/syntax.ts index a2d4503d5d..623c57f3bc 100644 --- a/libs/remix-ui/editor/src/lib/syntax.ts +++ b/libs/remix-ui/editor/src/lib/syntax.ts @@ -1,1383 +1,1383 @@ export const conf = { - comments: { - lineComment: '//', - blockComment: ['/*', '*/'] - }, - brackets: [ - ['{', '}'], - ['[', ']'], - ['(', ')'], - ['<', '>'] - ], - autoClosingPairs: [ - { open: '"', close: '"', notIn: ['string', 'comment'] }, - { open: '{', close: '}', notIn: ['string', 'comment'] }, - { open: '[', close: ']', notIn: ['string', 'comment'] }, - { open: '(', close: ')', notIn: ['string', 'comment'] } - ] -}; + comments: { + lineComment: '//', + blockComment: ['/*', '*/'] + }, + brackets: [ + ['{', '}'], + ['[', ']'], + ['(', ')'], + ['<', '>'] + ], + autoClosingPairs: [ + { open: '"', close: '"', notIn: ['string', 'comment'] }, + { open: '{', close: '}', notIn: ['string', 'comment'] }, + { open: '[', close: ']', notIn: ['string', 'comment'] }, + { open: '(', close: ')', notIn: ['string', 'comment'] } + ] +} export const language = { - defaultToken: '', - tokenPostfix: '.sol', + defaultToken: '', + tokenPostfix: '.sol', - brackets: [ - { token: 'delimiter.curly', open: '{', close: '}' }, - { token: 'delimiter.parenthesis', open: '(', close: ')' }, - { token: 'delimiter.square', open: '[', close: ']' }, - { token: 'delimiter.angle', open: '<', close: '>' } - ], + brackets: [ + { token: 'delimiter.curly', open: '{', close: '}' }, + { token: 'delimiter.parenthesis', open: '(', close: ')' }, + { token: 'delimiter.square', open: '[', close: ']' }, + { token: 'delimiter.angle', open: '<', close: '>' } + ], - keywords: [ - // Main keywords - 'pragma', - 'solidity', - 'contract', - 'library', - 'using', - 'struct', - 'function', - 'modifier', - 'constructor', - //Built-in types - 'address', - 'string', - 'bool', - //Other types - 'Int', - 'Uint', - 'Byte', - 'Fixed', - 'Ufixed', - //All int - 'int', - 'int8', - 'int16', - 'int24', - 'int32', - 'int40', - 'int48', - 'int56', - 'int64', - 'int72', - 'int80', - 'int88', - 'int96', - 'int104', - 'int112', - 'int120', - 'int128', - 'int136', - 'int144', - 'int152', - 'int160', - 'int168', - 'int176', - 'int184', - 'int192', - 'int200', - 'int208', - 'int216', - 'int224', - 'int232', - 'int240', - 'int248', - 'int256', - //All uint - 'uint', - 'uint8', - 'uint16', - 'uint24', - 'uint32', - 'uint40', - 'uint48', - 'uint56', - 'uint64', - 'uint72', - 'uint80', - 'uint88', - 'uint96', - 'uint104', - 'uint112', - 'uint120', - 'uint128', - 'uint136', - 'uint144', - 'uint152', - 'uint160', - 'uint168', - 'uint176', - 'uint184', - 'uint192', - 'uint200', - 'uint208', - 'uint216', - 'uint224', - 'uint232', - 'uint240', - 'uint248', - 'uint256', - //All Byte - 'byte', - 'bytes', - 'bytes1', - 'bytes2', - 'bytes3', - 'bytes4', - 'bytes5', - 'bytes6', - 'bytes7', - 'bytes8', - 'bytes9', - 'bytes10', - 'bytes11', - 'bytes12', - 'bytes13', - 'bytes14', - 'bytes15', - 'bytes16', - 'bytes17', - 'bytes18', - 'bytes19', - 'bytes20', - 'bytes21', - 'bytes22', - 'bytes23', - 'bytes24', - 'bytes25', - 'bytes26', - 'bytes27', - 'bytes28', - 'bytes29', - 'bytes30', - 'bytes31', - 'bytes32', - //All fixed - 'fixed', - 'fixed0x8', - 'fixed0x16', - 'fixed0x24', - 'fixed0x32', - 'fixed0x40', - 'fixed0x48', - 'fixed0x56', - 'fixed0x64', - 'fixed0x72', - 'fixed0x80', - 'fixed0x88', - 'fixed0x96', - 'fixed0x104', - 'fixed0x112', - 'fixed0x120', - 'fixed0x128', - 'fixed0x136', - 'fixed0x144', - 'fixed0x152', - 'fixed0x160', - 'fixed0x168', - 'fixed0x176', - 'fixed0x184', - 'fixed0x192', - 'fixed0x200', - 'fixed0x208', - 'fixed0x216', - 'fixed0x224', - 'fixed0x232', - 'fixed0x240', - 'fixed0x248', - 'fixed0x256', - 'fixed8x8', - 'fixed8x16', - 'fixed8x24', - 'fixed8x32', - 'fixed8x40', - 'fixed8x48', - 'fixed8x56', - 'fixed8x64', - 'fixed8x72', - 'fixed8x80', - 'fixed8x88', - 'fixed8x96', - 'fixed8x104', - 'fixed8x112', - 'fixed8x120', - 'fixed8x128', - 'fixed8x136', - 'fixed8x144', - 'fixed8x152', - 'fixed8x160', - 'fixed8x168', - 'fixed8x176', - 'fixed8x184', - 'fixed8x192', - 'fixed8x200', - 'fixed8x208', - 'fixed8x216', - 'fixed8x224', - 'fixed8x232', - 'fixed8x240', - 'fixed8x248', - 'fixed16x8', - 'fixed16x16', - 'fixed16x24', - 'fixed16x32', - 'fixed16x40', - 'fixed16x48', - 'fixed16x56', - 'fixed16x64', - 'fixed16x72', - 'fixed16x80', - 'fixed16x88', - 'fixed16x96', - 'fixed16x104', - 'fixed16x112', - 'fixed16x120', - 'fixed16x128', - 'fixed16x136', - 'fixed16x144', - 'fixed16x152', - 'fixed16x160', - 'fixed16x168', - 'fixed16x176', - 'fixed16x184', - 'fixed16x192', - 'fixed16x200', - 'fixed16x208', - 'fixed16x216', - 'fixed16x224', - 'fixed16x232', - 'fixed16x240', - 'fixed24x8', - 'fixed24x16', - 'fixed24x24', - 'fixed24x32', - 'fixed24x40', - 'fixed24x48', - 'fixed24x56', - 'fixed24x64', - 'fixed24x72', - 'fixed24x80', - 'fixed24x88', - 'fixed24x96', - 'fixed24x104', - 'fixed24x112', - 'fixed24x120', - 'fixed24x128', - 'fixed24x136', - 'fixed24x144', - 'fixed24x152', - 'fixed24x160', - 'fixed24x168', - 'fixed24x176', - 'fixed24x184', - 'fixed24x192', - 'fixed24x200', - 'fixed24x208', - 'fixed24x216', - 'fixed24x224', - 'fixed24x232', - 'fixed32x8', - 'fixed32x16', - 'fixed32x24', - 'fixed32x32', - 'fixed32x40', - 'fixed32x48', - 'fixed32x56', - 'fixed32x64', - 'fixed32x72', - 'fixed32x80', - 'fixed32x88', - 'fixed32x96', - 'fixed32x104', - 'fixed32x112', - 'fixed32x120', - 'fixed32x128', - 'fixed32x136', - 'fixed32x144', - 'fixed32x152', - 'fixed32x160', - 'fixed32x168', - 'fixed32x176', - 'fixed32x184', - 'fixed32x192', - 'fixed32x200', - 'fixed32x208', - 'fixed32x216', - 'fixed32x224', - 'fixed40x8', - 'fixed40x16', - 'fixed40x24', - 'fixed40x32', - 'fixed40x40', - 'fixed40x48', - 'fixed40x56', - 'fixed40x64', - 'fixed40x72', - 'fixed40x80', - 'fixed40x88', - 'fixed40x96', - 'fixed40x104', - 'fixed40x112', - 'fixed40x120', - 'fixed40x128', - 'fixed40x136', - 'fixed40x144', - 'fixed40x152', - 'fixed40x160', - 'fixed40x168', - 'fixed40x176', - 'fixed40x184', - 'fixed40x192', - 'fixed40x200', - 'fixed40x208', - 'fixed40x216', - 'fixed48x8', - 'fixed48x16', - 'fixed48x24', - 'fixed48x32', - 'fixed48x40', - 'fixed48x48', - 'fixed48x56', - 'fixed48x64', - 'fixed48x72', - 'fixed48x80', - 'fixed48x88', - 'fixed48x96', - 'fixed48x104', - 'fixed48x112', - 'fixed48x120', - 'fixed48x128', - 'fixed48x136', - 'fixed48x144', - 'fixed48x152', - 'fixed48x160', - 'fixed48x168', - 'fixed48x176', - 'fixed48x184', - 'fixed48x192', - 'fixed48x200', - 'fixed48x208', - 'fixed56x8', - 'fixed56x16', - 'fixed56x24', - 'fixed56x32', - 'fixed56x40', - 'fixed56x48', - 'fixed56x56', - 'fixed56x64', - 'fixed56x72', - 'fixed56x80', - 'fixed56x88', - 'fixed56x96', - 'fixed56x104', - 'fixed56x112', - 'fixed56x120', - 'fixed56x128', - 'fixed56x136', - 'fixed56x144', - 'fixed56x152', - 'fixed56x160', - 'fixed56x168', - 'fixed56x176', - 'fixed56x184', - 'fixed56x192', - 'fixed56x200', - 'fixed64x8', - 'fixed64x16', - 'fixed64x24', - 'fixed64x32', - 'fixed64x40', - 'fixed64x48', - 'fixed64x56', - 'fixed64x64', - 'fixed64x72', - 'fixed64x80', - 'fixed64x88', - 'fixed64x96', - 'fixed64x104', - 'fixed64x112', - 'fixed64x120', - 'fixed64x128', - 'fixed64x136', - 'fixed64x144', - 'fixed64x152', - 'fixed64x160', - 'fixed64x168', - 'fixed64x176', - 'fixed64x184', - 'fixed64x192', - 'fixed72x8', - 'fixed72x16', - 'fixed72x24', - 'fixed72x32', - 'fixed72x40', - 'fixed72x48', - 'fixed72x56', - 'fixed72x64', - 'fixed72x72', - 'fixed72x80', - 'fixed72x88', - 'fixed72x96', - 'fixed72x104', - 'fixed72x112', - 'fixed72x120', - 'fixed72x128', - 'fixed72x136', - 'fixed72x144', - 'fixed72x152', - 'fixed72x160', - 'fixed72x168', - 'fixed72x176', - 'fixed72x184', - 'fixed80x8', - 'fixed80x16', - 'fixed80x24', - 'fixed80x32', - 'fixed80x40', - 'fixed80x48', - 'fixed80x56', - 'fixed80x64', - 'fixed80x72', - 'fixed80x80', - 'fixed80x88', - 'fixed80x96', - 'fixed80x104', - 'fixed80x112', - 'fixed80x120', - 'fixed80x128', - 'fixed80x136', - 'fixed80x144', - 'fixed80x152', - 'fixed80x160', - 'fixed80x168', - 'fixed80x176', - 'fixed88x8', - 'fixed88x16', - 'fixed88x24', - 'fixed88x32', - 'fixed88x40', - 'fixed88x48', - 'fixed88x56', - 'fixed88x64', - 'fixed88x72', - 'fixed88x80', - 'fixed88x88', - 'fixed88x96', - 'fixed88x104', - 'fixed88x112', - 'fixed88x120', - 'fixed88x128', - 'fixed88x136', - 'fixed88x144', - 'fixed88x152', - 'fixed88x160', - 'fixed88x168', - 'fixed96x8', - 'fixed96x16', - 'fixed96x24', - 'fixed96x32', - 'fixed96x40', - 'fixed96x48', - 'fixed96x56', - 'fixed96x64', - 'fixed96x72', - 'fixed96x80', - 'fixed96x88', - 'fixed96x96', - 'fixed96x104', - 'fixed96x112', - 'fixed96x120', - 'fixed96x128', - 'fixed96x136', - 'fixed96x144', - 'fixed96x152', - 'fixed96x160', - 'fixed104x8', - 'fixed104x16', - 'fixed104x24', - 'fixed104x32', - 'fixed104x40', - 'fixed104x48', - 'fixed104x56', - 'fixed104x64', - 'fixed104x72', - 'fixed104x80', - 'fixed104x88', - 'fixed104x96', - 'fixed104x104', - 'fixed104x112', - 'fixed104x120', - 'fixed104x128', - 'fixed104x136', - 'fixed104x144', - 'fixed104x152', - 'fixed112x8', - 'fixed112x16', - 'fixed112x24', - 'fixed112x32', - 'fixed112x40', - 'fixed112x48', - 'fixed112x56', - 'fixed112x64', - 'fixed112x72', - 'fixed112x80', - 'fixed112x88', - 'fixed112x96', - 'fixed112x104', - 'fixed112x112', - 'fixed112x120', - 'fixed112x128', - 'fixed112x136', - 'fixed112x144', - 'fixed120x8', - 'fixed120x16', - 'fixed120x24', - 'fixed120x32', - 'fixed120x40', - 'fixed120x48', - 'fixed120x56', - 'fixed120x64', - 'fixed120x72', - 'fixed120x80', - 'fixed120x88', - 'fixed120x96', - 'fixed120x104', - 'fixed120x112', - 'fixed120x120', - 'fixed120x128', - 'fixed120x136', - 'fixed128x8', - 'fixed128x16', - 'fixed128x24', - 'fixed128x32', - 'fixed128x40', - 'fixed128x48', - 'fixed128x56', - 'fixed128x64', - 'fixed128x72', - 'fixed128x80', - 'fixed128x88', - 'fixed128x96', - 'fixed128x104', - 'fixed128x112', - 'fixed128x120', - 'fixed128x128', - 'fixed136x8', - 'fixed136x16', - 'fixed136x24', - 'fixed136x32', - 'fixed136x40', - 'fixed136x48', - 'fixed136x56', - 'fixed136x64', - 'fixed136x72', - 'fixed136x80', - 'fixed136x88', - 'fixed136x96', - 'fixed136x104', - 'fixed136x112', - 'fixed136x120', - 'fixed144x8', - 'fixed144x16', - 'fixed144x24', - 'fixed144x32', - 'fixed144x40', - 'fixed144x48', - 'fixed144x56', - 'fixed144x64', - 'fixed144x72', - 'fixed144x80', - 'fixed144x88', - 'fixed144x96', - 'fixed144x104', - 'fixed144x112', - 'fixed152x8', - 'fixed152x16', - 'fixed152x24', - 'fixed152x32', - 'fixed152x40', - 'fixed152x48', - 'fixed152x56', - 'fixed152x64', - 'fixed152x72', - 'fixed152x80', - 'fixed152x88', - 'fixed152x96', - 'fixed152x104', - 'fixed160x8', - 'fixed160x16', - 'fixed160x24', - 'fixed160x32', - 'fixed160x40', - 'fixed160x48', - 'fixed160x56', - 'fixed160x64', - 'fixed160x72', - 'fixed160x80', - 'fixed160x88', - 'fixed160x96', - 'fixed168x8', - 'fixed168x16', - 'fixed168x24', - 'fixed168x32', - 'fixed168x40', - 'fixed168x48', - 'fixed168x56', - 'fixed168x64', - 'fixed168x72', - 'fixed168x80', - 'fixed168x88', - 'fixed176x8', - 'fixed176x16', - 'fixed176x24', - 'fixed176x32', - 'fixed176x40', - 'fixed176x48', - 'fixed176x56', - 'fixed176x64', - 'fixed176x72', - 'fixed176x80', - 'fixed184x8', - 'fixed184x16', - 'fixed184x24', - 'fixed184x32', - 'fixed184x40', - 'fixed184x48', - 'fixed184x56', - 'fixed184x64', - 'fixed184x72', - 'fixed192x8', - 'fixed192x16', - 'fixed192x24', - 'fixed192x32', - 'fixed192x40', - 'fixed192x48', - 'fixed192x56', - 'fixed192x64', - 'fixed200x8', - 'fixed200x16', - 'fixed200x24', - 'fixed200x32', - 'fixed200x40', - 'fixed200x48', - 'fixed200x56', - 'fixed208x8', - 'fixed208x16', - 'fixed208x24', - 'fixed208x32', - 'fixed208x40', - 'fixed208x48', - 'fixed216x8', - 'fixed216x16', - 'fixed216x24', - 'fixed216x32', - 'fixed216x40', - 'fixed224x8', - 'fixed224x16', - 'fixed224x24', - 'fixed224x32', - 'fixed232x8', - 'fixed232x16', - 'fixed232x24', - 'fixed240x8', - 'fixed240x16', - 'fixed248x8', - //All ufixed - 'ufixed', - 'ufixed0x8', - 'ufixed0x16', - 'ufixed0x24', - 'ufixed0x32', - 'ufixed0x40', - 'ufixed0x48', - 'ufixed0x56', - 'ufixed0x64', - 'ufixed0x72', - 'ufixed0x80', - 'ufixed0x88', - 'ufixed0x96', - 'ufixed0x104', - 'ufixed0x112', - 'ufixed0x120', - 'ufixed0x128', - 'ufixed0x136', - 'ufixed0x144', - 'ufixed0x152', - 'ufixed0x160', - 'ufixed0x168', - 'ufixed0x176', - 'ufixed0x184', - 'ufixed0x192', - 'ufixed0x200', - 'ufixed0x208', - 'ufixed0x216', - 'ufixed0x224', - 'ufixed0x232', - 'ufixed0x240', - 'ufixed0x248', - 'ufixed0x256', - 'ufixed8x8', - 'ufixed8x16', - 'ufixed8x24', - 'ufixed8x32', - 'ufixed8x40', - 'ufixed8x48', - 'ufixed8x56', - 'ufixed8x64', - 'ufixed8x72', - 'ufixed8x80', - 'ufixed8x88', - 'ufixed8x96', - 'ufixed8x104', - 'ufixed8x112', - 'ufixed8x120', - 'ufixed8x128', - 'ufixed8x136', - 'ufixed8x144', - 'ufixed8x152', - 'ufixed8x160', - 'ufixed8x168', - 'ufixed8x176', - 'ufixed8x184', - 'ufixed8x192', - 'ufixed8x200', - 'ufixed8x208', - 'ufixed8x216', - 'ufixed8x224', - 'ufixed8x232', - 'ufixed8x240', - 'ufixed8x248', - 'ufixed16x8', - 'ufixed16x16', - 'ufixed16x24', - 'ufixed16x32', - 'ufixed16x40', - 'ufixed16x48', - 'ufixed16x56', - 'ufixed16x64', - 'ufixed16x72', - 'ufixed16x80', - 'ufixed16x88', - 'ufixed16x96', - 'ufixed16x104', - 'ufixed16x112', - 'ufixed16x120', - 'ufixed16x128', - 'ufixed16x136', - 'ufixed16x144', - 'ufixed16x152', - 'ufixed16x160', - 'ufixed16x168', - 'ufixed16x176', - 'ufixed16x184', - 'ufixed16x192', - 'ufixed16x200', - 'ufixed16x208', - 'ufixed16x216', - 'ufixed16x224', - 'ufixed16x232', - 'ufixed16x240', - 'ufixed24x8', - 'ufixed24x16', - 'ufixed24x24', - 'ufixed24x32', - 'ufixed24x40', - 'ufixed24x48', - 'ufixed24x56', - 'ufixed24x64', - 'ufixed24x72', - 'ufixed24x80', - 'ufixed24x88', - 'ufixed24x96', - 'ufixed24x104', - 'ufixed24x112', - 'ufixed24x120', - 'ufixed24x128', - 'ufixed24x136', - 'ufixed24x144', - 'ufixed24x152', - 'ufixed24x160', - 'ufixed24x168', - 'ufixed24x176', - 'ufixed24x184', - 'ufixed24x192', - 'ufixed24x200', - 'ufixed24x208', - 'ufixed24x216', - 'ufixed24x224', - 'ufixed24x232', - 'ufixed32x8', - 'ufixed32x16', - 'ufixed32x24', - 'ufixed32x32', - 'ufixed32x40', - 'ufixed32x48', - 'ufixed32x56', - 'ufixed32x64', - 'ufixed32x72', - 'ufixed32x80', - 'ufixed32x88', - 'ufixed32x96', - 'ufixed32x104', - 'ufixed32x112', - 'ufixed32x120', - 'ufixed32x128', - 'ufixed32x136', - 'ufixed32x144', - 'ufixed32x152', - 'ufixed32x160', - 'ufixed32x168', - 'ufixed32x176', - 'ufixed32x184', - 'ufixed32x192', - 'ufixed32x200', - 'ufixed32x208', - 'ufixed32x216', - 'ufixed32x224', - 'ufixed40x8', - 'ufixed40x16', - 'ufixed40x24', - 'ufixed40x32', - 'ufixed40x40', - 'ufixed40x48', - 'ufixed40x56', - 'ufixed40x64', - 'ufixed40x72', - 'ufixed40x80', - 'ufixed40x88', - 'ufixed40x96', - 'ufixed40x104', - 'ufixed40x112', - 'ufixed40x120', - 'ufixed40x128', - 'ufixed40x136', - 'ufixed40x144', - 'ufixed40x152', - 'ufixed40x160', - 'ufixed40x168', - 'ufixed40x176', - 'ufixed40x184', - 'ufixed40x192', - 'ufixed40x200', - 'ufixed40x208', - 'ufixed40x216', - 'ufixed48x8', - 'ufixed48x16', - 'ufixed48x24', - 'ufixed48x32', - 'ufixed48x40', - 'ufixed48x48', - 'ufixed48x56', - 'ufixed48x64', - 'ufixed48x72', - 'ufixed48x80', - 'ufixed48x88', - 'ufixed48x96', - 'ufixed48x104', - 'ufixed48x112', - 'ufixed48x120', - 'ufixed48x128', - 'ufixed48x136', - 'ufixed48x144', - 'ufixed48x152', - 'ufixed48x160', - 'ufixed48x168', - 'ufixed48x176', - 'ufixed48x184', - 'ufixed48x192', - 'ufixed48x200', - 'ufixed48x208', - 'ufixed56x8', - 'ufixed56x16', - 'ufixed56x24', - 'ufixed56x32', - 'ufixed56x40', - 'ufixed56x48', - 'ufixed56x56', - 'ufixed56x64', - 'ufixed56x72', - 'ufixed56x80', - 'ufixed56x88', - 'ufixed56x96', - 'ufixed56x104', - 'ufixed56x112', - 'ufixed56x120', - 'ufixed56x128', - 'ufixed56x136', - 'ufixed56x144', - 'ufixed56x152', - 'ufixed56x160', - 'ufixed56x168', - 'ufixed56x176', - 'ufixed56x184', - 'ufixed56x192', - 'ufixed56x200', - 'ufixed64x8', - 'ufixed64x16', - 'ufixed64x24', - 'ufixed64x32', - 'ufixed64x40', - 'ufixed64x48', - 'ufixed64x56', - 'ufixed64x64', - 'ufixed64x72', - 'ufixed64x80', - 'ufixed64x88', - 'ufixed64x96', - 'ufixed64x104', - 'ufixed64x112', - 'ufixed64x120', - 'ufixed64x128', - 'ufixed64x136', - 'ufixed64x144', - 'ufixed64x152', - 'ufixed64x160', - 'ufixed64x168', - 'ufixed64x176', - 'ufixed64x184', - 'ufixed64x192', - 'ufixed72x8', - 'ufixed72x16', - 'ufixed72x24', - 'ufixed72x32', - 'ufixed72x40', - 'ufixed72x48', - 'ufixed72x56', - 'ufixed72x64', - 'ufixed72x72', - 'ufixed72x80', - 'ufixed72x88', - 'ufixed72x96', - 'ufixed72x104', - 'ufixed72x112', - 'ufixed72x120', - 'ufixed72x128', - 'ufixed72x136', - 'ufixed72x144', - 'ufixed72x152', - 'ufixed72x160', - 'ufixed72x168', - 'ufixed72x176', - 'ufixed72x184', - 'ufixed80x8', - 'ufixed80x16', - 'ufixed80x24', - 'ufixed80x32', - 'ufixed80x40', - 'ufixed80x48', - 'ufixed80x56', - 'ufixed80x64', - 'ufixed80x72', - 'ufixed80x80', - 'ufixed80x88', - 'ufixed80x96', - 'ufixed80x104', - 'ufixed80x112', - 'ufixed80x120', - 'ufixed80x128', - 'ufixed80x136', - 'ufixed80x144', - 'ufixed80x152', - 'ufixed80x160', - 'ufixed80x168', - 'ufixed80x176', - 'ufixed88x8', - 'ufixed88x16', - 'ufixed88x24', - 'ufixed88x32', - 'ufixed88x40', - 'ufixed88x48', - 'ufixed88x56', - 'ufixed88x64', - 'ufixed88x72', - 'ufixed88x80', - 'ufixed88x88', - 'ufixed88x96', - 'ufixed88x104', - 'ufixed88x112', - 'ufixed88x120', - 'ufixed88x128', - 'ufixed88x136', - 'ufixed88x144', - 'ufixed88x152', - 'ufixed88x160', - 'ufixed88x168', - 'ufixed96x8', - 'ufixed96x16', - 'ufixed96x24', - 'ufixed96x32', - 'ufixed96x40', - 'ufixed96x48', - 'ufixed96x56', - 'ufixed96x64', - 'ufixed96x72', - 'ufixed96x80', - 'ufixed96x88', - 'ufixed96x96', - 'ufixed96x104', - 'ufixed96x112', - 'ufixed96x120', - 'ufixed96x128', - 'ufixed96x136', - 'ufixed96x144', - 'ufixed96x152', - 'ufixed96x160', - 'ufixed104x8', - 'ufixed104x16', - 'ufixed104x24', - 'ufixed104x32', - 'ufixed104x40', - 'ufixed104x48', - 'ufixed104x56', - 'ufixed104x64', - 'ufixed104x72', - 'ufixed104x80', - 'ufixed104x88', - 'ufixed104x96', - 'ufixed104x104', - 'ufixed104x112', - 'ufixed104x120', - 'ufixed104x128', - 'ufixed104x136', - 'ufixed104x144', - 'ufixed104x152', - 'ufixed112x8', - 'ufixed112x16', - 'ufixed112x24', - 'ufixed112x32', - 'ufixed112x40', - 'ufixed112x48', - 'ufixed112x56', - 'ufixed112x64', - 'ufixed112x72', - 'ufixed112x80', - 'ufixed112x88', - 'ufixed112x96', - 'ufixed112x104', - 'ufixed112x112', - 'ufixed112x120', - 'ufixed112x128', - 'ufixed112x136', - 'ufixed112x144', - 'ufixed120x8', - 'ufixed120x16', - 'ufixed120x24', - 'ufixed120x32', - 'ufixed120x40', - 'ufixed120x48', - 'ufixed120x56', - 'ufixed120x64', - 'ufixed120x72', - 'ufixed120x80', - 'ufixed120x88', - 'ufixed120x96', - 'ufixed120x104', - 'ufixed120x112', - 'ufixed120x120', - 'ufixed120x128', - 'ufixed120x136', - 'ufixed128x8', - 'ufixed128x16', - 'ufixed128x24', - 'ufixed128x32', - 'ufixed128x40', - 'ufixed128x48', - 'ufixed128x56', - 'ufixed128x64', - 'ufixed128x72', - 'ufixed128x80', - 'ufixed128x88', - 'ufixed128x96', - 'ufixed128x104', - 'ufixed128x112', - 'ufixed128x120', - 'ufixed128x128', - 'ufixed136x8', - 'ufixed136x16', - 'ufixed136x24', - 'ufixed136x32', - 'ufixed136x40', - 'ufixed136x48', - 'ufixed136x56', - 'ufixed136x64', - 'ufixed136x72', - 'ufixed136x80', - 'ufixed136x88', - 'ufixed136x96', - 'ufixed136x104', - 'ufixed136x112', - 'ufixed136x120', - 'ufixed144x8', - 'ufixed144x16', - 'ufixed144x24', - 'ufixed144x32', - 'ufixed144x40', - 'ufixed144x48', - 'ufixed144x56', - 'ufixed144x64', - 'ufixed144x72', - 'ufixed144x80', - 'ufixed144x88', - 'ufixed144x96', - 'ufixed144x104', - 'ufixed144x112', - 'ufixed152x8', - 'ufixed152x16', - 'ufixed152x24', - 'ufixed152x32', - 'ufixed152x40', - 'ufixed152x48', - 'ufixed152x56', - 'ufixed152x64', - 'ufixed152x72', - 'ufixed152x80', - 'ufixed152x88', - 'ufixed152x96', - 'ufixed152x104', - 'ufixed160x8', - 'ufixed160x16', - 'ufixed160x24', - 'ufixed160x32', - 'ufixed160x40', - 'ufixed160x48', - 'ufixed160x56', - 'ufixed160x64', - 'ufixed160x72', - 'ufixed160x80', - 'ufixed160x88', - 'ufixed160x96', - 'ufixed168x8', - 'ufixed168x16', - 'ufixed168x24', - 'ufixed168x32', - 'ufixed168x40', - 'ufixed168x48', - 'ufixed168x56', - 'ufixed168x64', - 'ufixed168x72', - 'ufixed168x80', - 'ufixed168x88', - 'ufixed176x8', - 'ufixed176x16', - 'ufixed176x24', - 'ufixed176x32', - 'ufixed176x40', - 'ufixed176x48', - 'ufixed176x56', - 'ufixed176x64', - 'ufixed176x72', - 'ufixed176x80', - 'ufixed184x8', - 'ufixed184x16', - 'ufixed184x24', - 'ufixed184x32', - 'ufixed184x40', - 'ufixed184x48', - 'ufixed184x56', - 'ufixed184x64', - 'ufixed184x72', - 'ufixed192x8', - 'ufixed192x16', - 'ufixed192x24', - 'ufixed192x32', - 'ufixed192x40', - 'ufixed192x48', - 'ufixed192x56', - 'ufixed192x64', - 'ufixed200x8', - 'ufixed200x16', - 'ufixed200x24', - 'ufixed200x32', - 'ufixed200x40', - 'ufixed200x48', - 'ufixed200x56', - 'ufixed208x8', - 'ufixed208x16', - 'ufixed208x24', - 'ufixed208x32', - 'ufixed208x40', - 'ufixed208x48', - 'ufixed216x8', - 'ufixed216x16', - 'ufixed216x24', - 'ufixed216x32', - 'ufixed216x40', - 'ufixed224x8', - 'ufixed224x16', - 'ufixed224x24', - 'ufixed224x32', - 'ufixed232x8', - 'ufixed232x16', - 'ufixed232x24', - 'ufixed240x8', - 'ufixed240x16', - 'ufixed248x8', - 'event', - 'enum', - 'let', - 'mapping', - 'private', - 'public', - 'external', - 'view', - 'pure', - 'inherited', - 'payable', - 'true', - 'false', - 'var', - 'import', - 'constant', - 'if', - 'else', - 'for', - 'else', - 'for', - 'while', - 'do', - 'break', - 'continue', - 'throw', - 'returns', - 'return', - 'suicide', - 'new', - 'is', - 'this', - 'super' - ], + keywords: [ + // Main keywords + 'pragma', + 'solidity', + 'contract', + 'library', + 'using', + 'struct', + 'function', + 'modifier', + 'constructor', + // Built-in types + 'address', + 'string', + 'bool', + // Other types + 'Int', + 'Uint', + 'Byte', + 'Fixed', + 'Ufixed', + // All int + 'int', + 'int8', + 'int16', + 'int24', + 'int32', + 'int40', + 'int48', + 'int56', + 'int64', + 'int72', + 'int80', + 'int88', + 'int96', + 'int104', + 'int112', + 'int120', + 'int128', + 'int136', + 'int144', + 'int152', + 'int160', + 'int168', + 'int176', + 'int184', + 'int192', + 'int200', + 'int208', + 'int216', + 'int224', + 'int232', + 'int240', + 'int248', + 'int256', + // All uint + 'uint', + 'uint8', + 'uint16', + 'uint24', + 'uint32', + 'uint40', + 'uint48', + 'uint56', + 'uint64', + 'uint72', + 'uint80', + 'uint88', + 'uint96', + 'uint104', + 'uint112', + 'uint120', + 'uint128', + 'uint136', + 'uint144', + 'uint152', + 'uint160', + 'uint168', + 'uint176', + 'uint184', + 'uint192', + 'uint200', + 'uint208', + 'uint216', + 'uint224', + 'uint232', + 'uint240', + 'uint248', + 'uint256', + // All Byte + 'byte', + 'bytes', + 'bytes1', + 'bytes2', + 'bytes3', + 'bytes4', + 'bytes5', + 'bytes6', + 'bytes7', + 'bytes8', + 'bytes9', + 'bytes10', + 'bytes11', + 'bytes12', + 'bytes13', + 'bytes14', + 'bytes15', + 'bytes16', + 'bytes17', + 'bytes18', + 'bytes19', + 'bytes20', + 'bytes21', + 'bytes22', + 'bytes23', + 'bytes24', + 'bytes25', + 'bytes26', + 'bytes27', + 'bytes28', + 'bytes29', + 'bytes30', + 'bytes31', + 'bytes32', + // All fixed + 'fixed', + 'fixed0x8', + 'fixed0x16', + 'fixed0x24', + 'fixed0x32', + 'fixed0x40', + 'fixed0x48', + 'fixed0x56', + 'fixed0x64', + 'fixed0x72', + 'fixed0x80', + 'fixed0x88', + 'fixed0x96', + 'fixed0x104', + 'fixed0x112', + 'fixed0x120', + 'fixed0x128', + 'fixed0x136', + 'fixed0x144', + 'fixed0x152', + 'fixed0x160', + 'fixed0x168', + 'fixed0x176', + 'fixed0x184', + 'fixed0x192', + 'fixed0x200', + 'fixed0x208', + 'fixed0x216', + 'fixed0x224', + 'fixed0x232', + 'fixed0x240', + 'fixed0x248', + 'fixed0x256', + 'fixed8x8', + 'fixed8x16', + 'fixed8x24', + 'fixed8x32', + 'fixed8x40', + 'fixed8x48', + 'fixed8x56', + 'fixed8x64', + 'fixed8x72', + 'fixed8x80', + 'fixed8x88', + 'fixed8x96', + 'fixed8x104', + 'fixed8x112', + 'fixed8x120', + 'fixed8x128', + 'fixed8x136', + 'fixed8x144', + 'fixed8x152', + 'fixed8x160', + 'fixed8x168', + 'fixed8x176', + 'fixed8x184', + 'fixed8x192', + 'fixed8x200', + 'fixed8x208', + 'fixed8x216', + 'fixed8x224', + 'fixed8x232', + 'fixed8x240', + 'fixed8x248', + 'fixed16x8', + 'fixed16x16', + 'fixed16x24', + 'fixed16x32', + 'fixed16x40', + 'fixed16x48', + 'fixed16x56', + 'fixed16x64', + 'fixed16x72', + 'fixed16x80', + 'fixed16x88', + 'fixed16x96', + 'fixed16x104', + 'fixed16x112', + 'fixed16x120', + 'fixed16x128', + 'fixed16x136', + 'fixed16x144', + 'fixed16x152', + 'fixed16x160', + 'fixed16x168', + 'fixed16x176', + 'fixed16x184', + 'fixed16x192', + 'fixed16x200', + 'fixed16x208', + 'fixed16x216', + 'fixed16x224', + 'fixed16x232', + 'fixed16x240', + 'fixed24x8', + 'fixed24x16', + 'fixed24x24', + 'fixed24x32', + 'fixed24x40', + 'fixed24x48', + 'fixed24x56', + 'fixed24x64', + 'fixed24x72', + 'fixed24x80', + 'fixed24x88', + 'fixed24x96', + 'fixed24x104', + 'fixed24x112', + 'fixed24x120', + 'fixed24x128', + 'fixed24x136', + 'fixed24x144', + 'fixed24x152', + 'fixed24x160', + 'fixed24x168', + 'fixed24x176', + 'fixed24x184', + 'fixed24x192', + 'fixed24x200', + 'fixed24x208', + 'fixed24x216', + 'fixed24x224', + 'fixed24x232', + 'fixed32x8', + 'fixed32x16', + 'fixed32x24', + 'fixed32x32', + 'fixed32x40', + 'fixed32x48', + 'fixed32x56', + 'fixed32x64', + 'fixed32x72', + 'fixed32x80', + 'fixed32x88', + 'fixed32x96', + 'fixed32x104', + 'fixed32x112', + 'fixed32x120', + 'fixed32x128', + 'fixed32x136', + 'fixed32x144', + 'fixed32x152', + 'fixed32x160', + 'fixed32x168', + 'fixed32x176', + 'fixed32x184', + 'fixed32x192', + 'fixed32x200', + 'fixed32x208', + 'fixed32x216', + 'fixed32x224', + 'fixed40x8', + 'fixed40x16', + 'fixed40x24', + 'fixed40x32', + 'fixed40x40', + 'fixed40x48', + 'fixed40x56', + 'fixed40x64', + 'fixed40x72', + 'fixed40x80', + 'fixed40x88', + 'fixed40x96', + 'fixed40x104', + 'fixed40x112', + 'fixed40x120', + 'fixed40x128', + 'fixed40x136', + 'fixed40x144', + 'fixed40x152', + 'fixed40x160', + 'fixed40x168', + 'fixed40x176', + 'fixed40x184', + 'fixed40x192', + 'fixed40x200', + 'fixed40x208', + 'fixed40x216', + 'fixed48x8', + 'fixed48x16', + 'fixed48x24', + 'fixed48x32', + 'fixed48x40', + 'fixed48x48', + 'fixed48x56', + 'fixed48x64', + 'fixed48x72', + 'fixed48x80', + 'fixed48x88', + 'fixed48x96', + 'fixed48x104', + 'fixed48x112', + 'fixed48x120', + 'fixed48x128', + 'fixed48x136', + 'fixed48x144', + 'fixed48x152', + 'fixed48x160', + 'fixed48x168', + 'fixed48x176', + 'fixed48x184', + 'fixed48x192', + 'fixed48x200', + 'fixed48x208', + 'fixed56x8', + 'fixed56x16', + 'fixed56x24', + 'fixed56x32', + 'fixed56x40', + 'fixed56x48', + 'fixed56x56', + 'fixed56x64', + 'fixed56x72', + 'fixed56x80', + 'fixed56x88', + 'fixed56x96', + 'fixed56x104', + 'fixed56x112', + 'fixed56x120', + 'fixed56x128', + 'fixed56x136', + 'fixed56x144', + 'fixed56x152', + 'fixed56x160', + 'fixed56x168', + 'fixed56x176', + 'fixed56x184', + 'fixed56x192', + 'fixed56x200', + 'fixed64x8', + 'fixed64x16', + 'fixed64x24', + 'fixed64x32', + 'fixed64x40', + 'fixed64x48', + 'fixed64x56', + 'fixed64x64', + 'fixed64x72', + 'fixed64x80', + 'fixed64x88', + 'fixed64x96', + 'fixed64x104', + 'fixed64x112', + 'fixed64x120', + 'fixed64x128', + 'fixed64x136', + 'fixed64x144', + 'fixed64x152', + 'fixed64x160', + 'fixed64x168', + 'fixed64x176', + 'fixed64x184', + 'fixed64x192', + 'fixed72x8', + 'fixed72x16', + 'fixed72x24', + 'fixed72x32', + 'fixed72x40', + 'fixed72x48', + 'fixed72x56', + 'fixed72x64', + 'fixed72x72', + 'fixed72x80', + 'fixed72x88', + 'fixed72x96', + 'fixed72x104', + 'fixed72x112', + 'fixed72x120', + 'fixed72x128', + 'fixed72x136', + 'fixed72x144', + 'fixed72x152', + 'fixed72x160', + 'fixed72x168', + 'fixed72x176', + 'fixed72x184', + 'fixed80x8', + 'fixed80x16', + 'fixed80x24', + 'fixed80x32', + 'fixed80x40', + 'fixed80x48', + 'fixed80x56', + 'fixed80x64', + 'fixed80x72', + 'fixed80x80', + 'fixed80x88', + 'fixed80x96', + 'fixed80x104', + 'fixed80x112', + 'fixed80x120', + 'fixed80x128', + 'fixed80x136', + 'fixed80x144', + 'fixed80x152', + 'fixed80x160', + 'fixed80x168', + 'fixed80x176', + 'fixed88x8', + 'fixed88x16', + 'fixed88x24', + 'fixed88x32', + 'fixed88x40', + 'fixed88x48', + 'fixed88x56', + 'fixed88x64', + 'fixed88x72', + 'fixed88x80', + 'fixed88x88', + 'fixed88x96', + 'fixed88x104', + 'fixed88x112', + 'fixed88x120', + 'fixed88x128', + 'fixed88x136', + 'fixed88x144', + 'fixed88x152', + 'fixed88x160', + 'fixed88x168', + 'fixed96x8', + 'fixed96x16', + 'fixed96x24', + 'fixed96x32', + 'fixed96x40', + 'fixed96x48', + 'fixed96x56', + 'fixed96x64', + 'fixed96x72', + 'fixed96x80', + 'fixed96x88', + 'fixed96x96', + 'fixed96x104', + 'fixed96x112', + 'fixed96x120', + 'fixed96x128', + 'fixed96x136', + 'fixed96x144', + 'fixed96x152', + 'fixed96x160', + 'fixed104x8', + 'fixed104x16', + 'fixed104x24', + 'fixed104x32', + 'fixed104x40', + 'fixed104x48', + 'fixed104x56', + 'fixed104x64', + 'fixed104x72', + 'fixed104x80', + 'fixed104x88', + 'fixed104x96', + 'fixed104x104', + 'fixed104x112', + 'fixed104x120', + 'fixed104x128', + 'fixed104x136', + 'fixed104x144', + 'fixed104x152', + 'fixed112x8', + 'fixed112x16', + 'fixed112x24', + 'fixed112x32', + 'fixed112x40', + 'fixed112x48', + 'fixed112x56', + 'fixed112x64', + 'fixed112x72', + 'fixed112x80', + 'fixed112x88', + 'fixed112x96', + 'fixed112x104', + 'fixed112x112', + 'fixed112x120', + 'fixed112x128', + 'fixed112x136', + 'fixed112x144', + 'fixed120x8', + 'fixed120x16', + 'fixed120x24', + 'fixed120x32', + 'fixed120x40', + 'fixed120x48', + 'fixed120x56', + 'fixed120x64', + 'fixed120x72', + 'fixed120x80', + 'fixed120x88', + 'fixed120x96', + 'fixed120x104', + 'fixed120x112', + 'fixed120x120', + 'fixed120x128', + 'fixed120x136', + 'fixed128x8', + 'fixed128x16', + 'fixed128x24', + 'fixed128x32', + 'fixed128x40', + 'fixed128x48', + 'fixed128x56', + 'fixed128x64', + 'fixed128x72', + 'fixed128x80', + 'fixed128x88', + 'fixed128x96', + 'fixed128x104', + 'fixed128x112', + 'fixed128x120', + 'fixed128x128', + 'fixed136x8', + 'fixed136x16', + 'fixed136x24', + 'fixed136x32', + 'fixed136x40', + 'fixed136x48', + 'fixed136x56', + 'fixed136x64', + 'fixed136x72', + 'fixed136x80', + 'fixed136x88', + 'fixed136x96', + 'fixed136x104', + 'fixed136x112', + 'fixed136x120', + 'fixed144x8', + 'fixed144x16', + 'fixed144x24', + 'fixed144x32', + 'fixed144x40', + 'fixed144x48', + 'fixed144x56', + 'fixed144x64', + 'fixed144x72', + 'fixed144x80', + 'fixed144x88', + 'fixed144x96', + 'fixed144x104', + 'fixed144x112', + 'fixed152x8', + 'fixed152x16', + 'fixed152x24', + 'fixed152x32', + 'fixed152x40', + 'fixed152x48', + 'fixed152x56', + 'fixed152x64', + 'fixed152x72', + 'fixed152x80', + 'fixed152x88', + 'fixed152x96', + 'fixed152x104', + 'fixed160x8', + 'fixed160x16', + 'fixed160x24', + 'fixed160x32', + 'fixed160x40', + 'fixed160x48', + 'fixed160x56', + 'fixed160x64', + 'fixed160x72', + 'fixed160x80', + 'fixed160x88', + 'fixed160x96', + 'fixed168x8', + 'fixed168x16', + 'fixed168x24', + 'fixed168x32', + 'fixed168x40', + 'fixed168x48', + 'fixed168x56', + 'fixed168x64', + 'fixed168x72', + 'fixed168x80', + 'fixed168x88', + 'fixed176x8', + 'fixed176x16', + 'fixed176x24', + 'fixed176x32', + 'fixed176x40', + 'fixed176x48', + 'fixed176x56', + 'fixed176x64', + 'fixed176x72', + 'fixed176x80', + 'fixed184x8', + 'fixed184x16', + 'fixed184x24', + 'fixed184x32', + 'fixed184x40', + 'fixed184x48', + 'fixed184x56', + 'fixed184x64', + 'fixed184x72', + 'fixed192x8', + 'fixed192x16', + 'fixed192x24', + 'fixed192x32', + 'fixed192x40', + 'fixed192x48', + 'fixed192x56', + 'fixed192x64', + 'fixed200x8', + 'fixed200x16', + 'fixed200x24', + 'fixed200x32', + 'fixed200x40', + 'fixed200x48', + 'fixed200x56', + 'fixed208x8', + 'fixed208x16', + 'fixed208x24', + 'fixed208x32', + 'fixed208x40', + 'fixed208x48', + 'fixed216x8', + 'fixed216x16', + 'fixed216x24', + 'fixed216x32', + 'fixed216x40', + 'fixed224x8', + 'fixed224x16', + 'fixed224x24', + 'fixed224x32', + 'fixed232x8', + 'fixed232x16', + 'fixed232x24', + 'fixed240x8', + 'fixed240x16', + 'fixed248x8', + // All ufixed + 'ufixed', + 'ufixed0x8', + 'ufixed0x16', + 'ufixed0x24', + 'ufixed0x32', + 'ufixed0x40', + 'ufixed0x48', + 'ufixed0x56', + 'ufixed0x64', + 'ufixed0x72', + 'ufixed0x80', + 'ufixed0x88', + 'ufixed0x96', + 'ufixed0x104', + 'ufixed0x112', + 'ufixed0x120', + 'ufixed0x128', + 'ufixed0x136', + 'ufixed0x144', + 'ufixed0x152', + 'ufixed0x160', + 'ufixed0x168', + 'ufixed0x176', + 'ufixed0x184', + 'ufixed0x192', + 'ufixed0x200', + 'ufixed0x208', + 'ufixed0x216', + 'ufixed0x224', + 'ufixed0x232', + 'ufixed0x240', + 'ufixed0x248', + 'ufixed0x256', + 'ufixed8x8', + 'ufixed8x16', + 'ufixed8x24', + 'ufixed8x32', + 'ufixed8x40', + 'ufixed8x48', + 'ufixed8x56', + 'ufixed8x64', + 'ufixed8x72', + 'ufixed8x80', + 'ufixed8x88', + 'ufixed8x96', + 'ufixed8x104', + 'ufixed8x112', + 'ufixed8x120', + 'ufixed8x128', + 'ufixed8x136', + 'ufixed8x144', + 'ufixed8x152', + 'ufixed8x160', + 'ufixed8x168', + 'ufixed8x176', + 'ufixed8x184', + 'ufixed8x192', + 'ufixed8x200', + 'ufixed8x208', + 'ufixed8x216', + 'ufixed8x224', + 'ufixed8x232', + 'ufixed8x240', + 'ufixed8x248', + 'ufixed16x8', + 'ufixed16x16', + 'ufixed16x24', + 'ufixed16x32', + 'ufixed16x40', + 'ufixed16x48', + 'ufixed16x56', + 'ufixed16x64', + 'ufixed16x72', + 'ufixed16x80', + 'ufixed16x88', + 'ufixed16x96', + 'ufixed16x104', + 'ufixed16x112', + 'ufixed16x120', + 'ufixed16x128', + 'ufixed16x136', + 'ufixed16x144', + 'ufixed16x152', + 'ufixed16x160', + 'ufixed16x168', + 'ufixed16x176', + 'ufixed16x184', + 'ufixed16x192', + 'ufixed16x200', + 'ufixed16x208', + 'ufixed16x216', + 'ufixed16x224', + 'ufixed16x232', + 'ufixed16x240', + 'ufixed24x8', + 'ufixed24x16', + 'ufixed24x24', + 'ufixed24x32', + 'ufixed24x40', + 'ufixed24x48', + 'ufixed24x56', + 'ufixed24x64', + 'ufixed24x72', + 'ufixed24x80', + 'ufixed24x88', + 'ufixed24x96', + 'ufixed24x104', + 'ufixed24x112', + 'ufixed24x120', + 'ufixed24x128', + 'ufixed24x136', + 'ufixed24x144', + 'ufixed24x152', + 'ufixed24x160', + 'ufixed24x168', + 'ufixed24x176', + 'ufixed24x184', + 'ufixed24x192', + 'ufixed24x200', + 'ufixed24x208', + 'ufixed24x216', + 'ufixed24x224', + 'ufixed24x232', + 'ufixed32x8', + 'ufixed32x16', + 'ufixed32x24', + 'ufixed32x32', + 'ufixed32x40', + 'ufixed32x48', + 'ufixed32x56', + 'ufixed32x64', + 'ufixed32x72', + 'ufixed32x80', + 'ufixed32x88', + 'ufixed32x96', + 'ufixed32x104', + 'ufixed32x112', + 'ufixed32x120', + 'ufixed32x128', + 'ufixed32x136', + 'ufixed32x144', + 'ufixed32x152', + 'ufixed32x160', + 'ufixed32x168', + 'ufixed32x176', + 'ufixed32x184', + 'ufixed32x192', + 'ufixed32x200', + 'ufixed32x208', + 'ufixed32x216', + 'ufixed32x224', + 'ufixed40x8', + 'ufixed40x16', + 'ufixed40x24', + 'ufixed40x32', + 'ufixed40x40', + 'ufixed40x48', + 'ufixed40x56', + 'ufixed40x64', + 'ufixed40x72', + 'ufixed40x80', + 'ufixed40x88', + 'ufixed40x96', + 'ufixed40x104', + 'ufixed40x112', + 'ufixed40x120', + 'ufixed40x128', + 'ufixed40x136', + 'ufixed40x144', + 'ufixed40x152', + 'ufixed40x160', + 'ufixed40x168', + 'ufixed40x176', + 'ufixed40x184', + 'ufixed40x192', + 'ufixed40x200', + 'ufixed40x208', + 'ufixed40x216', + 'ufixed48x8', + 'ufixed48x16', + 'ufixed48x24', + 'ufixed48x32', + 'ufixed48x40', + 'ufixed48x48', + 'ufixed48x56', + 'ufixed48x64', + 'ufixed48x72', + 'ufixed48x80', + 'ufixed48x88', + 'ufixed48x96', + 'ufixed48x104', + 'ufixed48x112', + 'ufixed48x120', + 'ufixed48x128', + 'ufixed48x136', + 'ufixed48x144', + 'ufixed48x152', + 'ufixed48x160', + 'ufixed48x168', + 'ufixed48x176', + 'ufixed48x184', + 'ufixed48x192', + 'ufixed48x200', + 'ufixed48x208', + 'ufixed56x8', + 'ufixed56x16', + 'ufixed56x24', + 'ufixed56x32', + 'ufixed56x40', + 'ufixed56x48', + 'ufixed56x56', + 'ufixed56x64', + 'ufixed56x72', + 'ufixed56x80', + 'ufixed56x88', + 'ufixed56x96', + 'ufixed56x104', + 'ufixed56x112', + 'ufixed56x120', + 'ufixed56x128', + 'ufixed56x136', + 'ufixed56x144', + 'ufixed56x152', + 'ufixed56x160', + 'ufixed56x168', + 'ufixed56x176', + 'ufixed56x184', + 'ufixed56x192', + 'ufixed56x200', + 'ufixed64x8', + 'ufixed64x16', + 'ufixed64x24', + 'ufixed64x32', + 'ufixed64x40', + 'ufixed64x48', + 'ufixed64x56', + 'ufixed64x64', + 'ufixed64x72', + 'ufixed64x80', + 'ufixed64x88', + 'ufixed64x96', + 'ufixed64x104', + 'ufixed64x112', + 'ufixed64x120', + 'ufixed64x128', + 'ufixed64x136', + 'ufixed64x144', + 'ufixed64x152', + 'ufixed64x160', + 'ufixed64x168', + 'ufixed64x176', + 'ufixed64x184', + 'ufixed64x192', + 'ufixed72x8', + 'ufixed72x16', + 'ufixed72x24', + 'ufixed72x32', + 'ufixed72x40', + 'ufixed72x48', + 'ufixed72x56', + 'ufixed72x64', + 'ufixed72x72', + 'ufixed72x80', + 'ufixed72x88', + 'ufixed72x96', + 'ufixed72x104', + 'ufixed72x112', + 'ufixed72x120', + 'ufixed72x128', + 'ufixed72x136', + 'ufixed72x144', + 'ufixed72x152', + 'ufixed72x160', + 'ufixed72x168', + 'ufixed72x176', + 'ufixed72x184', + 'ufixed80x8', + 'ufixed80x16', + 'ufixed80x24', + 'ufixed80x32', + 'ufixed80x40', + 'ufixed80x48', + 'ufixed80x56', + 'ufixed80x64', + 'ufixed80x72', + 'ufixed80x80', + 'ufixed80x88', + 'ufixed80x96', + 'ufixed80x104', + 'ufixed80x112', + 'ufixed80x120', + 'ufixed80x128', + 'ufixed80x136', + 'ufixed80x144', + 'ufixed80x152', + 'ufixed80x160', + 'ufixed80x168', + 'ufixed80x176', + 'ufixed88x8', + 'ufixed88x16', + 'ufixed88x24', + 'ufixed88x32', + 'ufixed88x40', + 'ufixed88x48', + 'ufixed88x56', + 'ufixed88x64', + 'ufixed88x72', + 'ufixed88x80', + 'ufixed88x88', + 'ufixed88x96', + 'ufixed88x104', + 'ufixed88x112', + 'ufixed88x120', + 'ufixed88x128', + 'ufixed88x136', + 'ufixed88x144', + 'ufixed88x152', + 'ufixed88x160', + 'ufixed88x168', + 'ufixed96x8', + 'ufixed96x16', + 'ufixed96x24', + 'ufixed96x32', + 'ufixed96x40', + 'ufixed96x48', + 'ufixed96x56', + 'ufixed96x64', + 'ufixed96x72', + 'ufixed96x80', + 'ufixed96x88', + 'ufixed96x96', + 'ufixed96x104', + 'ufixed96x112', + 'ufixed96x120', + 'ufixed96x128', + 'ufixed96x136', + 'ufixed96x144', + 'ufixed96x152', + 'ufixed96x160', + 'ufixed104x8', + 'ufixed104x16', + 'ufixed104x24', + 'ufixed104x32', + 'ufixed104x40', + 'ufixed104x48', + 'ufixed104x56', + 'ufixed104x64', + 'ufixed104x72', + 'ufixed104x80', + 'ufixed104x88', + 'ufixed104x96', + 'ufixed104x104', + 'ufixed104x112', + 'ufixed104x120', + 'ufixed104x128', + 'ufixed104x136', + 'ufixed104x144', + 'ufixed104x152', + 'ufixed112x8', + 'ufixed112x16', + 'ufixed112x24', + 'ufixed112x32', + 'ufixed112x40', + 'ufixed112x48', + 'ufixed112x56', + 'ufixed112x64', + 'ufixed112x72', + 'ufixed112x80', + 'ufixed112x88', + 'ufixed112x96', + 'ufixed112x104', + 'ufixed112x112', + 'ufixed112x120', + 'ufixed112x128', + 'ufixed112x136', + 'ufixed112x144', + 'ufixed120x8', + 'ufixed120x16', + 'ufixed120x24', + 'ufixed120x32', + 'ufixed120x40', + 'ufixed120x48', + 'ufixed120x56', + 'ufixed120x64', + 'ufixed120x72', + 'ufixed120x80', + 'ufixed120x88', + 'ufixed120x96', + 'ufixed120x104', + 'ufixed120x112', + 'ufixed120x120', + 'ufixed120x128', + 'ufixed120x136', + 'ufixed128x8', + 'ufixed128x16', + 'ufixed128x24', + 'ufixed128x32', + 'ufixed128x40', + 'ufixed128x48', + 'ufixed128x56', + 'ufixed128x64', + 'ufixed128x72', + 'ufixed128x80', + 'ufixed128x88', + 'ufixed128x96', + 'ufixed128x104', + 'ufixed128x112', + 'ufixed128x120', + 'ufixed128x128', + 'ufixed136x8', + 'ufixed136x16', + 'ufixed136x24', + 'ufixed136x32', + 'ufixed136x40', + 'ufixed136x48', + 'ufixed136x56', + 'ufixed136x64', + 'ufixed136x72', + 'ufixed136x80', + 'ufixed136x88', + 'ufixed136x96', + 'ufixed136x104', + 'ufixed136x112', + 'ufixed136x120', + 'ufixed144x8', + 'ufixed144x16', + 'ufixed144x24', + 'ufixed144x32', + 'ufixed144x40', + 'ufixed144x48', + 'ufixed144x56', + 'ufixed144x64', + 'ufixed144x72', + 'ufixed144x80', + 'ufixed144x88', + 'ufixed144x96', + 'ufixed144x104', + 'ufixed144x112', + 'ufixed152x8', + 'ufixed152x16', + 'ufixed152x24', + 'ufixed152x32', + 'ufixed152x40', + 'ufixed152x48', + 'ufixed152x56', + 'ufixed152x64', + 'ufixed152x72', + 'ufixed152x80', + 'ufixed152x88', + 'ufixed152x96', + 'ufixed152x104', + 'ufixed160x8', + 'ufixed160x16', + 'ufixed160x24', + 'ufixed160x32', + 'ufixed160x40', + 'ufixed160x48', + 'ufixed160x56', + 'ufixed160x64', + 'ufixed160x72', + 'ufixed160x80', + 'ufixed160x88', + 'ufixed160x96', + 'ufixed168x8', + 'ufixed168x16', + 'ufixed168x24', + 'ufixed168x32', + 'ufixed168x40', + 'ufixed168x48', + 'ufixed168x56', + 'ufixed168x64', + 'ufixed168x72', + 'ufixed168x80', + 'ufixed168x88', + 'ufixed176x8', + 'ufixed176x16', + 'ufixed176x24', + 'ufixed176x32', + 'ufixed176x40', + 'ufixed176x48', + 'ufixed176x56', + 'ufixed176x64', + 'ufixed176x72', + 'ufixed176x80', + 'ufixed184x8', + 'ufixed184x16', + 'ufixed184x24', + 'ufixed184x32', + 'ufixed184x40', + 'ufixed184x48', + 'ufixed184x56', + 'ufixed184x64', + 'ufixed184x72', + 'ufixed192x8', + 'ufixed192x16', + 'ufixed192x24', + 'ufixed192x32', + 'ufixed192x40', + 'ufixed192x48', + 'ufixed192x56', + 'ufixed192x64', + 'ufixed200x8', + 'ufixed200x16', + 'ufixed200x24', + 'ufixed200x32', + 'ufixed200x40', + 'ufixed200x48', + 'ufixed200x56', + 'ufixed208x8', + 'ufixed208x16', + 'ufixed208x24', + 'ufixed208x32', + 'ufixed208x40', + 'ufixed208x48', + 'ufixed216x8', + 'ufixed216x16', + 'ufixed216x24', + 'ufixed216x32', + 'ufixed216x40', + 'ufixed224x8', + 'ufixed224x16', + 'ufixed224x24', + 'ufixed224x32', + 'ufixed232x8', + 'ufixed232x16', + 'ufixed232x24', + 'ufixed240x8', + 'ufixed240x16', + 'ufixed248x8', + 'event', + 'enum', + 'let', + 'mapping', + 'private', + 'public', + 'external', + 'view', + 'pure', + 'inherited', + 'payable', + 'true', + 'false', + 'var', + 'import', + 'constant', + 'if', + 'else', + 'for', + 'else', + 'for', + 'while', + 'do', + 'break', + 'continue', + 'throw', + 'returns', + 'return', + 'suicide', + 'new', + 'is', + 'this', + 'super' + ], - operators: [ - '=', - '>', - '<', - '!', - '~', - '?', - ':', - '==', - '<=', - '>=', - '!=', - '&&', - '||', - '++', - '--', - '+', - '-', - '*', - '/', - '&', - '|', - '^', - '%', - '<<', - '>>', - '>>>', - '+=', - '-=', - '*=', - '/=', - '&=', - '|=', - '^=', - '%=', - '<<=', - '>>=', - '>>>=' - ], + operators: [ + '=', + '>', + '<', + '!', + '~', + '?', + ':', + '==', + '<=', + '>=', + '!=', + '&&', + '||', + '++', + '--', + '+', + '-', + '*', + '/', + '&', + '|', + '^', + '%', + '<<', + '>>', + '>>>', + '+=', + '-=', + '*=', + '/=', + '&=', + '|=', + '^=', + '%=', + '<<=', + '>>=', + '>>>=' + ], - // we include these common regular expressions - symbols: /[=>](?!@symbols)/, '@brackets'], - [ - /@symbols/, - { - cases: { - '@operators': 'delimiter', - '@default': '' - } - } - ], + // delimiters and operators + [/[{}()\[\]]/, '@brackets'], + [/[<>](?!@symbols)/, '@brackets'], + [ + /@symbols/, + { + cases: { + '@operators': 'delimiter', + '@default': '' + } + } + ], - // numbers - [/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, 'number.float'], - [/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, 'number.float'], - [/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/, 'number.hex'], - [/0[0-7']*[0-7](@integersuffix)/, 'number.octal'], - [/0[bB][0-1']*[0-1](@integersuffix)/, 'number.binary'], - [/\d[\d']*\d(@integersuffix)/, 'number'], - [/\d(@integersuffix)/, 'number'], + // numbers + [/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, 'number.float'], + [/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, 'number.float'], + [/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/, 'number.hex'], + [/0[0-7']*[0-7](@integersuffix)/, 'number.octal'], + [/0[bB][0-1']*[0-1](@integersuffix)/, 'number.binary'], + [/\d[\d']*\d(@integersuffix)/, 'number'], + [/\d(@integersuffix)/, 'number'], - // delimiter: after number because of .\d floats - [/[;,.]/, 'delimiter'], + // delimiter: after number because of .\d floats + [/[;,.]/, 'delimiter'], - // strings - [/"([^"\\]|\\.)*$/, 'string.invalid'], // non-teminated string - [/"/, 'string', '@string'], + // strings + [/"([^"\\]|\\.)*$/, 'string.invalid'], // non-teminated string + [/"/, 'string', '@string'], - // characters - [/'[^\\']'/, 'string'], - [/(')(@escapes)(')/, ['string', 'string.escape', 'string']], - [/'/, 'string.invalid'] - ], + // characters + [/'[^\\']'/, 'string'], + [/(')(@escapes)(')/, ['string', 'string.escape', 'string']], + [/'/, 'string.invalid'] + ], - whitespace: [ - [/[ \t\r\n]+/, ''], - [/\/\*\*(?!\/)/, 'comment.doc', '@doccomment'], - [/\/\*/, 'comment', '@comment'], - [/\/\/.*$/, 'comment'] - ], + whitespace: [ + [/[ \t\r\n]+/, ''], + [/\/\*\*(?!\/)/, 'comment.doc', '@doccomment'], + [/\/\*/, 'comment', '@comment'], + [/\/\/.*$/, 'comment'] + ], - comment: [ - [/[^\/*]+/, 'comment'], - [/\*\//, 'comment', '@pop'], - [/[\/*]/, 'comment'] - ], - //Identical copy of comment above, except for the addition of .doc - doccomment: [ - [/[^\/*]+/, 'comment.doc'], - [/\*\//, 'comment.doc', '@pop'], - [/[\/*]/, 'comment.doc'] - ], + comment: [ + [/[^\/*]+/, 'comment'], + [/\*\//, 'comment', '@pop'], + [/[\/*]/, 'comment'] + ], + // Identical copy of comment above, except for the addition of .doc + doccomment: [ + [/[^\/*]+/, 'comment.doc'], + [/\*\//, 'comment.doc', '@pop'], + [/[\/*]/, 'comment.doc'] + ], - string: [ - [/[^\\"]+/, 'string'], - [/@escapes/, 'string.escape'], - [/\\./, 'string.escape.invalid'], - [/"/, 'string', '@pop'] - ] - } -}; \ No newline at end of file + string: [ + [/[^\\"]+/, 'string'], + [/@escapes/, 'string.escape'], + [/\\./, 'string.escape.invalid'], + [/"/, 'string', '@pop'] + ] + } +}