require.config({ paths: { vs: 'assets/js/vs' } }); let editor require(['vs/editor/editor.main'], function () { monaco.languages.register({ id: 'luau' }); monaco.languages.setMonarchTokensProvider('luau', { defaultToken: '', tokenPostfix: '.lua', keywords: [ 'and', 'break', 'do', 'else', 'elseif', 'end', 'false', 'for', 'function', 'goto', 'if', 'in', 'local', 'nil', 'not', 'or', 'repeat', 'return', 'then', 'true', 'until', 'while', // luau 'type', 'export', // primative types 'string', 'number', 'boolean', 'thread', ], brackets: [ { token: 'delimiter.bracket', open: '{', close: '}' }, { token: 'delimiter.array', open: '[', close: ']' }, { token: 'delimiter.parenthesis', open: '(', close: ')' } ], operators: [ '+', '-', '*', '/', '%', '^', '#', '==', '~=', '<=', '>=', '<', '>', '=', ';', ':', ',', '.', '..', '...', // luau '+=', '-=', '*=', '/=', '%=', '^=', '..=', '::', "|", "&" ], // we include these common regular expressions symbols: /[=>