| // Copyright (c) 2023, Compiler Explorer Authors |
| // All rights reserved. |
| // |
| // Redistribution and use in source and binary forms, with or without |
| // modification, are permitted provided that the following conditions are met: |
| // |
| // * Redistributions of source code must retain the above copyright notice, |
| // this list of conditions and the following disclaimer. |
| // * Redistributions in binary form must reproduce the above copyright |
| // notice, this list of conditions and the following disclaimer in the |
| // documentation and/or other materials provided with the distribution. |
| // |
| // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
| // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| // POSSIBILITY OF SUCH DAMAGE. |
| import * as monaco from 'monaco-editor'; |
| |
| function definition(): monaco.languages.IMonarchLanguage { |
| return { |
| ignoreCase: true, |
| keywords: [ |
| '3-D', |
| 'ABSENT', |
| 'ABS', |
| 'ACCEPT', |
| 'ACCESS', |
| 'ACOS', |
| 'ACTION', |
| 'ACTIVE-CLASS', |
| 'ACTIVE-X', |
| 'ADDRESS', |
| 'ADD', |
| 'ADJUSTABLE-COLUMNS', |
| 'ADVANCING', |
| 'AFTER', |
| 'ALIGNED', |
| 'ALIGNMENT', |
| 'ALLOCATE', |
| 'ALL', |
| 'ALPHABETIC-LOWER', |
| 'ALPHABETIC-UPPER', |
| 'ALPHABETIC', |
| 'ALPHABET', |
| 'ALPHANUMERIC-EDITED', |
| 'ALPHANUMERIC', |
| 'ALSO', |
| 'ALTERNATE', |
| 'ALTER', |
| 'AND', |
| 'ANNUITY', |
| 'ANYCASE', |
| 'ANY', |
| 'AREAS', |
| 'AREA', |
| 'ARE', |
| 'ARGUMENT-NUMBER', |
| 'ARGUMENT-VALUE', |
| 'ARITHMETIC', |
| 'ASCENDING', |
| 'ASCII', |
| 'ASIN', |
| 'ASSIGN', |
| 'AS', |
| 'ATAN', |
| 'ATTRIBUTE', |
| 'AT', |
| 'AUTHOR', |
| 'AUTO-DECIMAL', |
| 'AUTOMATIC', |
| 'AUTO-SKIP', |
| 'AUTO-SPIN', |
| 'AUTOTERMINATE', |
| 'AUTO', |
| 'AWAY-FROM-ZERO', |
| 'BACKGROUND-COLOR', |
| 'BACKGROUND-COLOUR', |
| 'BACKGROUND-HIGH', |
| 'BACKGROUND-LOW', |
| 'BACKGROUND-STANDARD', |
| 'B-AND', |
| 'BAR', |
| 'BASED', |
| 'BEEP', |
| 'BEFORE', |
| 'BELL', |
| 'BINARY-CHAR', |
| 'BINARY-C-LONG', |
| 'BINARY-DOUBLE', |
| 'BINARY-INT', |
| 'BINARY-LONG-LONG', |
| 'BINARY-LONG', |
| 'BINARY-SEQUENTIAL', |
| 'BINARY-SHORT', |
| 'BINARY', |
| 'BITMAP-END', |
| 'BITMAP-HANDLE', |
| 'BITMAP-NUMBER', |
| 'BITMAP-START', |
| 'BITMAP-TIMER', |
| 'BITMAP-TRAILING', |
| 'BITMAP-TRANSPARENT-COLOR', |
| 'BITMAP-WIDTH', |
| 'BITMAP', |
| 'BIT', |
| 'BLANK', |
| 'BLINK', |
| 'BLOCK', |
| 'B-NOT', |
| 'BOOLEAN', |
| 'BOOLEAN-OF-INTEGER', |
| 'B-OR', |
| 'BOTTOM', |
| 'BOXED', |
| 'BOX', |
| 'BUSY', |
| 'BUTTONS', |
| 'B-XOR', |
| 'BYTE-LENGTH', |
| 'BY', |
| 'C01', |
| 'C02', |
| 'C03', |
| 'C04', |
| 'C05', |
| 'C06', |
| 'C07', |
| 'C08', |
| 'C09', |
| 'C10', |
| 'C11', |
| 'C12', |
| 'CALENDAR-FONT', |
| 'CALL-CONVENTION', |
| 'CALL', |
| 'CANCEL-BUTTON', |
| 'CANCEL', |
| 'CAPACITY', |
| 'CARD-PUNCH', |
| 'CARD-READER', |
| 'CASSETTE', |
| 'CBL_AND', |
| 'CBL_CHANGE_DIR', |
| 'CBL_CHECK_FILE_EXIST', |
| 'CBL_CLOSE_FILE', |
| 'CBL_COPY_FILE', |
| 'CBL_CREATE_DIR', |
| 'CBL_CREATE_FILE', |
| 'CBL_DELETE_DIR', |
| 'CBL_DELETE_FILE', |
| 'CBL_EQ', |
| 'CBL_ERROR_PROC', |
| 'CBL_EXIT_PROC', |
| 'CBL_FLUSH_FILE', |
| 'CBL_GC_FORK', |
| 'CBL_GC_GETOPT', |
| 'CBL_GC_HOSTED', |
| 'CBL_GC_NANOSLEEP', |
| 'CBL_GC_PRINTABLE', |
| 'CBL_GC_WAITPID', |
| 'CBL_GET_CSR_POS', |
| 'CBL_GET_CURRENT_DIR', |
| 'CBL_GET_SCR_SIZE', |
| 'CBL_IMP', |
| 'CBL_NIMP', |
| 'CBL_NOR', |
| 'CBL_NOT', |
| 'CBL_OC_GETOPT', |
| 'CBL_OC_HOSTED', |
| 'CBL_OC_NANOSLEEP', |
| 'CBL_OPEN_FILE', |
| 'CBL_OR', |
| 'CBL_READ_FILE', |
| 'CBL_READ_KBD_CHAR', |
| 'CBL_RENAME_FILE', |
| 'CBL_SET_CSR_POS', |
| 'CBL_TOLOWER', |
| 'CBL_TOUPPER', |
| 'CBL_WRITE_FILE', |
| 'CBL_XOR', |
| 'C$CALLEDBY', |
| 'C$CHDIR', |
| 'CCOL', |
| 'C$COPY', |
| 'C$DELETE', |
| 'CD', |
| 'CELL-COLOR', |
| 'CELL-DATA', |
| 'CELL-FONT', |
| 'CELL-PROTECTION', |
| 'CELLS', |
| 'CELL', |
| 'CENTERED-HEADINGS', |
| 'CENTER', |
| 'CENTURY-DATE', |
| 'C$FILEINFO', |
| 'CF', |
| 'C$GETPID', |
| 'CHAINING', |
| 'CHAIN', |
| 'CHARACTERS', |
| 'CHARACTER', |
| 'CHAR-NATIONAL', |
| 'CHAR', |
| 'CHECK-BOX', |
| 'CH', |
| 'C$JUSTIFY', |
| 'CLASS-ID', |
| 'CLASSIFICATION', |
| 'CLASS', |
| 'CLEAR-SELECTION', |
| 'CLINES', |
| 'CLINE', |
| 'CLOSE', |
| 'C$MAKEDIR', |
| 'C$NARG', |
| 'COB-CRT-STATUS', |
| 'COBOL', |
| 'CODE-SET', |
| 'CODE', |
| 'COLLATING', |
| 'COLORS', |
| 'COLOR', |
| 'COLOURS', |
| 'COLS', |
| 'COLUMN-COLOR', |
| 'COLUMN-DIVIDERS', |
| 'COLUMN-FONT', |
| 'COLUMN-HEADINGS', |
| 'COLUMN-PROTECTION', |
| 'COLUMNS', |
| 'COLUMN', |
| 'COL', |
| 'COMBINED-DATETIME', |
| 'COMBO-BOX', |
| 'COMMAND-LINE', |
| 'COMMA', |
| 'COMMIT', |
| 'COMMON', |
| 'COMMUNICATION', |
| 'COMP-1', |
| 'COMP-2', |
| 'COMP-3', |
| 'COMP-4', |
| 'COMP-5', |
| 'COMP-6', |
| 'COMPUTATIONAL-1', |
| 'COMPUTATIONAL-2', |
| 'COMPUTATIONAL-3', |
| 'COMPUTATIONAL-4', |
| 'COMPUTATIONAL-5', |
| 'COMPUTATIONAL-6', |
| 'COMPUTATIONAL-X', |
| 'COMPUTATIONAL', |
| 'COMPUTE', |
| 'COMP-X', |
| 'COMP', |
| 'CONCATENATE', |
| 'CONDITION', |
| 'CONFIGURATION', |
| 'CONSOLE', |
| 'CONSTANT', |
| 'CONTAINS', |
| 'CONTENT', |
| 'CONTINUE', |
| 'CONTROLS', |
| 'CONTROL', |
| 'CONVERSION', |
| 'CONVERTING', |
| 'COPY-SELECTION', |
| 'COPY', |
| 'CORRESPONDING', |
| 'CORR', |
| 'COS', |
| 'COUNT', |
| 'C$PARAMSIZE', |
| 'C$PRINTABLE', |
| 'CRT-UNDER', |
| 'CRT', |
| 'CSIZE', |
| 'C$SLEEP', |
| 'CSP', |
| 'C$TOLOWER', |
| 'C$TOUPPER', |
| 'CURRENCY-SYMBOL', |
| 'CURRENCY', |
| 'CURRENT-DATE', |
| 'CURSOR-COLOR', |
| 'CURSOR-COL', |
| 'CURSOR-FRAME-WIDTH', |
| 'CURSOR-ROW', |
| 'CURSOR-X', |
| 'CURSOR', |
| 'CURSOR-Y', |
| 'CUSTOM-PRINT-TEMPLATE', |
| 'CYCLE', |
| 'DASHED', |
| 'DATA-COLUMNS', |
| 'DATA-POINTER', |
| 'DATA-TYPES', |
| 'DATA', |
| 'DATE-COMPILED', |
| 'DATE-ENTRY', |
| 'DATE-MODIFIED', |
| 'DATE-OF-INTEGER', |
| 'DATE-TO-YYYYMMDD', |
| 'DATE-WRITTEN', |
| 'DATE', |
| 'DAY-OF-INTEGER', |
| 'DAY-OF-WEEK', |
| 'DAY-TO-YYYYDDD', |
| 'DAY', |
| 'DEBUGGING', |
| 'DEBUG-ITEM', |
| 'DECIMAL-POINT', |
| 'DECLARATIVES', |
| 'DEFAULT-BUTTON', |
| 'DEFAULT-FONT', |
| 'DEFAULT', |
| 'DELETE', |
| 'DELIMITED', |
| 'DELIMITER', |
| 'DEPENDING', |
| 'DESCENDING', |
| 'DESTINATION', |
| 'DESTROY', |
| 'DETAIL', |
| 'DE', |
| 'DISABLE', |
| 'DISC', |
| 'DISK', |
| 'DISPLAY-COLUMNS', |
| 'DISPLAY-FORMAT', |
| 'DISPLAY-OF', |
| 'DISPLAY', |
| 'DIVIDER-COLOR', |
| 'DIVIDERS', |
| 'DIVIDE', |
| 'DIVISION', |
| 'DOTDASH', |
| 'DOTTED', |
| 'DOUBLE', |
| 'DOWN', |
| 'DRAG-COLOR', |
| 'DROP-DOWN', |
| 'DROP-LIST', |
| 'DUPLICATES', |
| 'DYNAMIC', |
| 'E', |
| 'EBCDIC', |
| 'ECHO', |
| 'EC', |
| 'EGI', |
| 'ELSE', |
| 'EMI', |
| 'EMPTY-CHECK', |
| 'ENABLE', |
| 'END-ACCEPT', |
| 'END-ADD', |
| 'END-CALL', |
| 'END-CHAIN', |
| 'END-COLOR', |
| 'END-COMPUTE', |
| 'END-DELETE', |
| 'END-DISPLAY', |
| 'END-DIVIDE', |
| 'END-EVALUATE', |
| 'END-IF', |
| 'END-MODIFY', |
| 'END-MULTIPLY', |
| 'END-OF-PAGE', |
| 'END-PERFORM', |
| 'END-READ', |
| 'END-RECEIVE', |
| 'END-RETURN', |
| 'END-REWRITE', |
| 'END-SEARCH', |
| 'END-START', |
| 'END-STRING', |
| 'END-SUBTRACT', |
| 'END-UNSTRING', |
| 'END-WRITE', |
| 'END', |
| 'ENGRAVED', |
| 'ENSURE-VISIBLE', |
| 'ENTRY-CONVENTION', |
| 'ENTRY-FIELD', |
| 'ENTRY-REASON', |
| 'ENTRY', |
| 'ENVIRONMENT-NAME', |
| 'ENVIRONMENT-VALUE', |
| 'ENVIRONMENT', |
| 'EOL', |
| 'EO', |
| 'EOP', |
| 'EOS', |
| 'EQUALS', |
| 'EQUAL', |
| 'ERASE', |
| 'ERROR', |
| 'ESCAPE-BUTTON', |
| 'ESCAPE', |
| 'ESI', |
| 'EVALUATE', |
| 'EVENT-LIST', |
| 'EVENT', |
| 'EXCEPTION-FILE-N', |
| 'EXCEPTION-FILE', |
| 'EXCEPTION-LOCATION-N', |
| 'EXCEPTION-LOCATION', |
| 'EXCEPTION-OBJECT', |
| 'EXCEPTION-STATEMENT', |
| 'EXCEPTION-STATUS', |
| 'EXCEPTION-VALUE', |
| 'EXCEPTION', |
| 'EXCLUSIVE', |
| 'EXIT', |
| 'EXP10', |
| 'EXPANDS', |
| 'EXPAND', |
| 'EXP', |
| 'EXTEND', |
| 'EXTERNAL-FORM', |
| 'EXTERNAL', |
| 'EXTERN', |
| 'F', |
| 'FACTORIAL', |
| 'FACTORY', |
| 'FALSE', |
| 'FD', |
| 'FILE-CONTROL', |
| 'FILE-ID', |
| 'FILE-NAME', |
| 'FILE-POS', |
| 'FILE', |
| 'FILL-COLOR2', |
| 'FILL-COLOR', |
| 'FILLER', |
| 'FILL-PERCENT', |
| 'FINAL', |
| 'FINISH-REASON', |
| 'FIRST', |
| 'FIXED-FONT', |
| 'FIXED-WIDTH', |
| 'FIXED', |
| 'FLAT-BUTTONS', |
| 'FLAT', |
| 'FLOAT-BINARY-128', |
| 'FLOAT-BINARY-32', |
| 'FLOAT-BINARY-64', |
| 'FLOAT-DECIMAL-16', |
| 'FLOAT-DECIMAL-34', |
| 'FLOAT-EXTENDED', |
| 'FLOAT-INFINITY', |
| 'FLOATING', |
| 'FLOAT-LONG', |
| 'FLOAT-NOT-A-NUMBER', |
| 'FLOAT-SHORT', |
| 'FLOAT', |
| 'FONT', |
| 'FOOTING', |
| 'FOREGROUND-COLOR', |
| 'FOREGROUND-COLOUR', |
| 'FOREVER', |
| 'FORMAT', |
| 'FORMATTED-CURRENT-DATE', |
| 'FORMATTED-DATETIME', |
| 'FORMATTED-DATE', |
| 'FORMATTED-TIME', |
| 'FORMFEED', |
| 'FOR', |
| 'FRACTION-PART', |
| 'FRAMED', |
| 'FRAME', |
| 'FREE', |
| 'FROM', |
| 'FULL-HEIGHT', |
| 'FULL', |
| 'FUNCTION-ID', |
| 'FUNCTION-POINTER', |
| 'FUNCTION', |
| 'GENERATE', |
| 'GET', |
| 'GIVING', |
| 'GLOBAL', |
| 'GOBACK', |
| 'GO-BACK', |
| 'GO-FORWARD', |
| 'GO-HOME', |
| 'GO-SEARCH', |
| 'GO', |
| 'GRAPHICAL', |
| 'GREATER', |
| 'GRID', |
| 'GROUP-USAGE', |
| 'GROUP-VALUE', |
| 'GROUP', |
| 'HANDLE', |
| 'HAS-CHILDREN', |
| 'HEADING-COLOR', |
| 'HEADING-DIVIDER-COLOR', |
| 'HEADING-FONT', |
| 'HEADING', |
| 'HEAVY', |
| 'HEIGHT-IN-CELLS', |
| 'HIDDEN-DATA', |
| 'HIGH-COLOR', |
| 'HIGHEST-ALGEBRAIC', |
| 'HIGHLIGHT', |
| 'HIGH-VALUES', |
| 'HIGH-VALUE', |
| 'HOT-TRACK', |
| 'HSCROLL-POS', |
| 'HSCROLL', |
| 'ICON', |
| 'IDENTIFICATION', |
| 'IDENTIFIED', |
| 'ID', |
| 'IF', |
| 'IGNORE', |
| 'IGNORING', |
| 'IMPLEMENTS', |
| 'INDEPENDENT', |
| 'INDEXED', |
| 'INDEX', |
| 'INDICATE', |
| 'INHERITS', |
| 'INITIALISED', |
| 'INITIALISE', |
| 'INITIALIZED', |
| 'INITIALIZE', |
| 'INITIAL', |
| 'INITIATE', |
| 'INPUT-OUTPUT', |
| 'INPUT', |
| 'INQUIRE', |
| 'INSERTION-INDEX', |
| 'INSERT-ROWS', |
| 'INSPECT', |
| 'INSTALLATION', |
| 'INTEGER-OF-BOOLEAN', |
| 'INTEGER-OF-DATE', |
| 'INTEGER-OF-DAY', |
| 'INTEGER-OF-FORMATTED-DATE', |
| 'INTEGER-PART', |
| 'INTEGER', |
| 'INTERFACE-ID', |
| 'INTERFACE', |
| 'INTERMEDIATE', |
| 'INTO', |
| 'INTRINSIC', |
| 'INVALID', |
| 'INVOKE', |
| 'IN', |
| 'I-O-CONTROL', |
| 'I-O', |
| 'IS', |
| 'ITEM-TEXT', |
| 'ITEM-TO-ADD', |
| 'ITEM-TO-DELETE', |
| 'ITEM-TO-EMPTY', |
| 'ITEM-VALUE', |
| 'ITEM', |
| 'JUSTIFIED', |
| 'JUST', |
| 'KEPT', |
| 'KEY', |
| 'KEYBOARD', |
| 'LABEL-OFFSET', |
| 'LABEL', |
| 'LARGE-FONT', |
| 'LARGE-OFFSET', |
| 'LAST-ROW', |
| 'LAST', |
| 'LAYOUT-DATA', |
| 'LAYOUT-MANAGER', |
| 'LC_ALL', |
| 'LC_COLLATE', |
| 'LC_CTYPE', |
| 'LC_MESSAGES', |
| 'LC_MONETARY', |
| 'LC_NUMERIC', |
| 'LC_TIME', |
| 'LEADING-SHIFT', |
| 'LEADING', |
| 'LEFT-JUSTIFY', |
| 'LEFTLINE', |
| 'LEFT-TEXT', |
| 'LEFT', |
| 'LENGTH-AN', |
| 'LENGTH-CHECK', |
| 'LENGTH', |
| 'LESS', |
| 'LIMITS', |
| 'LIMIT', |
| 'LINAGE-COUNTER', |
| 'LINAGE', |
| 'LINE-COUNTER', |
| 'LINES-AT-ROOT', |
| 'LINE-SEQUENTIAL', |
| 'LINES', |
| 'LINE', |
| 'LINKAGE', |
| 'LIST-BOX', |
| 'LM-RESIZE', |
| 'LOCALE-COMPARE', |
| 'LOCALE-DATE', |
| 'LOCALE-TIME-FROM-SECONDS', |
| 'LOCALE-TIME', |
| 'LOCALE', |
| 'LOCAL-STORAGE', |
| 'LOCK', |
| 'LOG10', |
| 'LOG', |
| 'LONG-DATE', |
| 'LOW-COLOR', |
| 'LOWER-CASE', |
| 'LOWERED', |
| 'LOWER', |
| 'LOWEST-ALGEBRAIC', |
| 'LOWLIGHT', |
| 'LOW-VALUES', |
| 'LOW-VALUE', |
| 'MAGNETIC-TAPE', |
| 'MANUAL', |
| 'MASS-UPDATE', |
| 'MAX-LINES', |
| 'MAX-PROGRESS', |
| 'MAX-TEXT', |
| 'MAX-VAL', |
| 'MAX', |
| 'MEAN', |
| 'MEDIAN', |
| 'MEDIUM-FONT', |
| 'MEMORY', |
| 'MENU', |
| 'MERGE', |
| 'MESSAGE', |
| 'METHOD-ID', |
| 'METHOD', |
| 'MIDRANGE', |
| 'MINUS', |
| 'MIN-VAL', |
| 'MIN', |
| 'MODE', |
| 'MODIFY', |
| 'MODULE-CALLER-ID', |
| 'MODULE-DATE', |
| 'MODULE-FORMATTED-DATE', |
| 'MODULE-ID', |
| 'MODULE-PATH', |
| 'MODULE-SOURCE', |
| 'MODULES', |
| 'MODULE-TIME', |
| 'MOD', |
| 'MONETARY-DECIMAL-POINT', |
| 'MONETARY-THOUSANDS-SEPARATOR', |
| 'MOVE', |
| 'MULTILINE', |
| 'MULTIPLE', |
| 'MULTIPLY', |
| 'NAME', |
| 'NATIONAL-EDITED', |
| 'NATIONAL-OF', |
| 'NATIONAL', |
| 'NATIVE', |
| 'NAVIGATE-URL', |
| 'NEAREST-AWAY-FROM-ZERO', |
| 'NEAREST-EVEN', |
| 'NEAREST-TOWARD-ZERO', |
| 'NEGATIVE', |
| 'NESTED', |
| 'NEW', |
| 'NEXT-ITEM', |
| 'NEXT', |
| 'NO-AUTO-DEFAULT', |
| 'NO-AUTOSEL', |
| 'NO-BOX', |
| 'NO-DIVIDERS', |
| 'NO-ECHO', |
| 'NO-F4', |
| 'NO-FOCUS', |
| 'NO-GROUP-TAB', |
| 'NO-KEY-LETTER', |
| 'NONE', |
| 'NORMAL', |
| 'NO-SEARCH', |
| 'NOTAB', |
| 'NOTHING', |
| 'NOTIFY-CHANGE', |
| 'NOTIFY-DBLCLICK', |
| 'NOTIFY-SELCHANGE', |
| 'NOTIFY', |
| 'NOT', |
| 'NO-UPDOWN', |
| 'NO', |
| 'NULLS', |
| 'NULL', |
| 'NUMBER-OF-CALL-PARAMETERS', |
| 'NUMBERS', |
| 'NUMBER', |
| 'NUM-COL-HEADINGS', |
| 'NUMERIC-DECIMAL-POINT', |
| 'NUMERIC-EDITED', |
| 'NUMERIC-THOUSANDS-SEPARATOR', |
| 'NUMERIC', |
| 'NUM-ROWS', |
| 'NUMVAL-C', |
| 'NUMVAL-F', |
| 'NUMVAL', |
| 'OBJECT-COMPUTER', |
| 'OBJECT-REFERENCE', |
| 'OBJECT', |
| 'OCCURS', |
| 'OFF', |
| 'OF', |
| 'OK-BUTTON', |
| 'OMITTED', |
| 'ONLY', |
| 'ON', |
| 'OPEN', |
| 'OPTIONAL', |
| 'OPTIONS', |
| 'ORDER', |
| 'ORD-MAX', |
| 'ORD-MIN', |
| 'ORD', |
| 'ORGANISATION', |
| 'ORGANIZATION', |
| 'OR', |
| 'OTHER', |
| 'OUTPUT', |
| 'OVERFLOW', |
| 'OVERLAP-LEFT', |
| 'OVERLAP-TOP', |
| 'OVERLINE', |
| 'OVERRIDE', |
| 'PACKED-DECIMAL', |
| 'PADDING', |
| 'PAGE-COUNTER', |
| 'PAGED', |
| 'PAGE-SETUP', |
| 'PAGE', |
| 'PARAGRAPH', |
| 'PARENT', |
| 'PASSWORD', |
| 'PERFORM', |
| 'PERMANENT', |
| 'PF', |
| 'PH', |
| 'PHYSICAL', |
| 'PICTURE', |
| 'PIC', |
| 'PIXELS', |
| 'PIXEL', |
| 'PI', |
| 'PLACEMENT', |
| 'PLUS', |
| 'POINTER', |
| 'POP-UP', |
| 'POSITION-SHIFT', |
| 'POSITION', |
| 'POSITIVE', |
| 'PREFIXED', |
| 'PRESENT-VALUE', |
| 'PRESENT', |
| 'PREVIOUS', |
| 'PRINT', |
| 'PRINTER-1', |
| 'PRINTER', |
| 'PRINTING', |
| 'PRINT-NO-PROMPT', |
| 'PRINT-PREVIEW', |
| 'PRINT', |
| 'PRIORITY', |
| 'PROCEDURE-POINTER', |
| 'PROCEDURES', |
| 'PROCEDURE', |
| 'PROCEED', |
| 'PROGRAM-ID', |
| 'PROGRAM-POINTER', |
| 'PROGRAM', |
| 'PROGRESS', |
| 'PROHIBITED', |
| 'PROMPT', |
| 'PROPERTIES', |
| 'PROPERTY', |
| 'PROTECTED', |
| 'PROTOTYPE', |
| 'PURGE', |
| 'PUSH-BUTTON', |
| 'QUERY-INDEX', |
| 'QUEUE', |
| 'QUOTES', |
| 'QUOTE', |
| 'RADIO-BUTTON', |
| 'RAISED', |
| 'RAISE', |
| 'RAISING', |
| 'RANDOM', |
| 'RANGE', |
| 'RD', |
| 'READ-ONLY', |
| 'READ', |
| 'RECEIVE', |
| 'RECORD-DATA', |
| 'RECORDING', |
| 'RECORDS', |
| 'RECORD-TO-ADD', |
| 'RECORD-TO-DELETE', |
| 'RECORD', |
| 'RECURSIVE', |
| 'REDEFINES', |
| 'REEL', |
| 'REFERENCE', |
| 'REFERENCES', |
| 'REFRESH', |
| 'REGION-COLOR', |
| 'RELATION', |
| 'RELATIVE', |
| 'RELEASE', |
| 'REMAINDER', |
| 'REMARKS', |
| 'REMOVAL', |
| 'REM', |
| 'RENAMES', |
| 'REPLACE', |
| 'REPLACING', |
| 'REPORTING', |
| 'REPORTS', |
| 'REPORT', |
| 'REPOSITORY', |
| 'REQUIRED', |
| 'RESERVE', |
| 'RESET-GRID', |
| 'RESET-LIST', |
| 'RESET-TABS', |
| 'RESET', |
| 'RESUME', |
| 'RETRY', |
| 'RETURN-CODE', |
| 'RETURNING', |
| 'RETURN', |
| 'REVERSED', |
| 'REVERSE-VIDEO', |
| 'REVERSE', |
| 'REWIND', |
| 'REWRITE', |
| 'RF', |
| 'RH', |
| 'RIGHT-ALIGN', |
| 'RIGHT-JUSTIFY', |
| 'RIGHT', |
| 'RIMMED', |
| 'ROLLBACK', |
| 'ROUNDED', |
| 'ROUNDING', |
| 'ROW-COLOR-PATTERN', |
| 'ROW-COLOR', |
| 'ROW-DIVIDERS', |
| 'ROW-FONT', |
| 'ROW-HEADINGS', |
| 'ROW-PROTECTION', |
| 'RUN', |
| 'S', |
| 'SAME', |
| 'SAVE-AS-NO-PROMPT', |
| 'SAVE-AS', |
| 'SCREEN', |
| 'SCROLL-BAR', |
| 'SCROLL', |
| 'SD', |
| 'SEARCH-OPTIONS', |
| 'SEARCH-TEXT', |
| 'SEARCH', |
| 'SECONDS-FROM-FORMATTED-TIME', |
| 'SECONDS-PAST-MIDNIGHT', |
| 'SECONDS', |
| 'SECTION', |
| 'SECURE', |
| 'SECURITY', |
| 'SEGMENT-LIMIT', |
| 'SEGMENT', |
| 'SELECT-ALL', |
| 'SELECTION-INDEX', |
| 'SELECTION-TEXT', |
| 'SELECT', |
| 'SELF-ACT', |
| 'SELF', |
| 'SEND', |
| 'SENTENCE', |
| 'SEPARATE', |
| 'SEPARATION', |
| 'SEQUENCE', |
| 'SEQUENTIAL', |
| 'SET', |
| 'SHADING', |
| 'SHADOW', |
| 'SHARING', |
| 'SHORT-DATE', |
| 'SHOW-LINES', |
| 'SHOW-NONE', |
| 'SHOW-SEL-ALWAYS', |
| 'SIGNED-INT', |
| 'SIGNED-LONG', |
| 'SIGNED-SHORT', |
| 'SIGNED', |
| 'SIGN', |
| 'SIN', |
| 'SIZE', |
| 'SMALL-FONT', |
| 'SORT-MERGE', |
| 'SORT-ORDER', |
| 'SORT-RETURN', |
| 'SORT', |
| 'SOURCE-COMPUTER', |
| 'SOURCES', |
| 'SOURCE', |
| 'SPACE-FILL', |
| 'SPACES', |
| 'SPACE', |
| 'SPECIAL-NAMES', |
| 'SPINNER', |
| 'SQRT', |
| 'SQUARE', |
| 'STANDARD-1', |
| 'STANDARD-2', |
| 'STANDARD-BINARY', |
| 'STANDARD-COMPARE', |
| 'STANDARD-DECIMAL', |
| 'STANDARD-DEVIATION', |
| 'STANDARD', |
| 'START-X', |
| 'START', |
| 'START-Y', |
| 'STATEMENT', |
| 'STATIC-LIST', |
| 'STATIC', |
| 'STATUS-BAR', |
| 'STATUS-TEXT', |
| 'STATUS', |
| 'STDCALL', |
| 'STDERR', |
| 'STDIN', |
| 'STDOUT', |
| 'STEP', |
| 'STOP', |
| 'STORED-CHAR-LENGTH', |
| 'STRING', |
| 'STRONG', |
| 'STYLE', |
| 'SUB-QUEUE-1', |
| 'SUB-QUEUE-2', |
| 'SUB-QUEUE-3', |
| 'SUBSTITUTE-CASE', |
| 'SUBSTITUTE', |
| 'SUBTRACT', |
| 'SUBWINDOW', |
| 'SUM', |
| 'SUM', |
| 'SUPER', |
| 'SUPPRESS', |
| 'SWITCH-0', |
| 'SWITCH-10', |
| 'SWITCH-11', |
| 'SWITCH-12', |
| 'SWITCH-13', |
| 'SWITCH-14', |
| 'SWITCH-15', |
| 'SWITCH-16', |
| 'SWITCH-17', |
| 'SWITCH-18', |
| 'SWITCH-19', |
| 'SWITCH-1', |
| 'SWITCH-20', |
| 'SWITCH-21', |
| 'SWITCH-22', |
| 'SWITCH-23', |
| 'SWITCH-24', |
| 'SWITCH-25', |
| 'SWITCH-26', |
| 'SWITCH-27', |
| 'SWITCH-28', |
| 'SWITCH-29', |
| 'SWITCH-2', |
| 'SWITCH-30', |
| 'SWITCH-31', |
| 'SWITCH-32', |
| 'SWITCH-33', |
| 'SWITCH-34', |
| 'SWITCH-35', |
| 'SWITCH-36', |
| 'SWITCH-3', |
| 'SWITCH-4', |
| 'SWITCH-5', |
| 'SWITCH-6', |
| 'SWITCH-7', |
| 'SWITCH-8', |
| 'SWITCH-9', |
| 'SYMBOLIC', |
| 'SYMBOL', |
| 'SYNCHRONISED', |
| 'SYNCHRONIZED', |
| 'SYNC', |
| 'SYSERR', |
| 'SYSIN', |
| 'SYSIPT', |
| 'SYSLIST', |
| 'SYSLST', |
| 'SYSOUT', |
| 'SYSTEM', |
| 'SYSTEM-DEFAULT', |
| 'SYSTEM-OFFSET', |
| 'TABLE', |
| 'TAB-TO-ADD', |
| 'TAB-TO-DELETE', |
| 'TAB', |
| 'TALLYING', |
| 'TALLY', |
| 'TAN', |
| 'TAPE', |
| 'TEMPORARY', |
| 'TERMINATE', |
| 'TERMINATION-VALUE', |
| 'TEST-DATE-YYYYMMDD', |
| 'TEST-DAY-YYYYDDD', |
| 'TEST-FORMATTED-DATETIME', |
| 'TEST-NUMVAL-C', |
| 'TEST-NUMVAL-F', |
| 'TEST-NUMVAL', |
| 'TEXT', |
| 'THAN', |
| 'THEN', |
| 'THREADS', |
| 'THREAD', |
| 'THROUGH', |
| 'THRU', |
| 'THUMB-POSITION', |
| 'TILED-HEADINGS', |
| 'TIMEOUT', |
| 'TIME-OUT', |
| 'TIMES', |
| 'TIME', |
| 'TITLE-POSITION', |
| 'TITLE', |
| 'TOP', |
| 'TOWARD-GREATER', |
| 'TOWARD-LESSER', |
| 'TO', |
| 'TRADITIONAL-FONT', |
| 'TRAILING-SHIFT', |
| 'TRAILING-SIGN', |
| 'TRAILING', |
| 'TRANSFORM', |
| 'TRANSPARENT', |
| 'TREE-VIEW', |
| 'TRIM', |
| 'TRUE', |
| 'TRUNCATION', |
| 'TYPEDEF', |
| 'TYPE', |
| 'U', |
| 'UCS-4', |
| 'UNBOUNDED', |
| 'UNDERLINE', |
| 'UNFRAMED', |
| 'UNIT', |
| 'UNIVERSAL', |
| 'UNLOCK', |
| 'UNSIGNED-INT', |
| 'UNSIGNED-LONG', |
| 'UNSIGNED-SHORT', |
| 'UNSIGNED', |
| 'UNSORTED', |
| 'UNSTRING', |
| 'UNTIL', |
| 'UPDATE', |
| 'UPON', |
| 'UPPER-CASE', |
| 'UPPER', |
| 'UP', |
| 'USAGE', |
| 'USE-ALT', |
| 'USER-DEFAULT', |
| 'USE-RETURN', |
| 'USER', |
| 'USE-TAB', |
| 'USE', |
| 'USING', |
| 'UTF-16', |
| 'UTF-8', |
| 'V', |
| 'VALIDATE-STATUS', |
| 'VALIDATE', |
| 'VALID', |
| 'VAL-STATUS', |
| 'VALUE-FORMAT', |
| 'VALUES', |
| 'VALUE', |
| 'VARIABLE', |
| 'VARIANCE', |
| 'VARIANT', |
| 'VARYING', |
| 'VERTICAL', |
| 'VERY-HEAVY', |
| 'VIRTUAL-WIDTH', |
| 'VPADDING', |
| 'VSCROLL-BAR', |
| 'VSCROLL-POS', |
| 'VSCROLL', |
| 'VTOP', |
| 'WAIT', |
| 'WEB-BROWSER', |
| 'WHEN-COMPILED', |
| 'WHEN', |
| 'WIDTH-IN-CELLS', |
| 'WIDTH', |
| 'WINDOW', |
| 'WITH', |
| 'WORDS', |
| 'WORKING-STORAGE', |
| 'WRAP', |
| 'WRITE', |
| 'X', |
| 'Y', |
| 'YEAR-TO-YYYY', |
| 'YYYYDDD', |
| 'YYYYMMDD', |
| 'ZEROES', |
| 'ZERO-FILL', |
| 'ZEROS', |
| 'ZERO', |
| ], |
| typeKeywords: ['integer number', 'real number', 'identifier', 'string'], |
| numbers: /-?[0-9.]/, |
| tokenizer: { |
| root: [ |
| // identifiers and keywords |
| [ |
| /[A-Za-z][\w$-]*/, |
| { |
| cases: { |
| '@typeKeywords': 'keyword', |
| '@keywords': 'keyword.$0', |
| '@default': 'identifier', |
| }, |
| }, |
| ], |
| {include: '@whitespace'}, |
| [/@numbers/, 'number'], |
| [/[.+\-*/=<>]/, 'operators'], |
| [/(")(.*)(")/, ['string', 'string', 'string']], |
| [/(')(.*)(')/, ['string', 'string', 'string']], |
| ], |
| |
| comment: [[/(.{6}\*.*)([\n])/, ['comment', '@pop']]], |
| |
| whitespace: [ |
| [/.{6}\*.*$/, 'comment'], |
| [/[ \t\r\n]+/, 'white'], |
| ], |
| }, |
| }; |
| } |
| |
| monaco.languages.register({id: 'cobol'}); |
| monaco.languages.setMonarchTokensProvider('cobol', definition()); |
| |
| export {}; |