12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- /*---------------------------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
- *--------------------------------------------------------------------------------------------*/
- define(["require", "exports"], function (require, exports) {
- 'use strict';
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.conf = {
- comments: {
- lineComment: '*',
- },
- brackets: [
- ['[', ']'],
- ['(', ')']
- ],
- };
- var abapKeywords = [
- 'abstract', 'add', 'add-corresponding', 'adjacent', 'alias', 'aliases', 'all', 'append', 'appending', 'ascending', 'as', 'assert', 'assign', 'assigned', 'assigning', 'association', 'authority-check',
- 'back', 'begin', 'binary', 'block', 'bound', 'break-point', 'by', 'byte',
- 'class', 'call', 'cast', 'changing', 'check', 'class-data', 'class-method', 'class-methods', 'clear', 'close', 'cnt', 'collect', 'commit', 'cond', 'character',
- 'corresponding', 'communication', 'component', 'compute', 'concatenate', 'condense', 'constants', 'conv', 'count',
- 'controls', 'convert', 'create', 'currency',
- 'data', 'descending', 'default', 'define', 'deferred', 'delete', 'describe', 'detail', 'display', 'divide', 'divide-corresponding', 'display-mode', 'duplicates',
- 'deleting',
- 'editor-call', 'end', 'endexec', 'endfunction', 'ending', 'endmodule', 'end-of-definition', 'end-of-page', 'end-of-selection', 'end-test-injection', 'end-test-seam', 'exit-command', 'endclass', 'endmethod', 'endform', 'endinterface',
- 'endprovide', 'endselect', 'endtry', 'endwhile', 'enum', 'event', 'events', 'exec', 'exit', 'export',
- 'exporting', 'extract', 'exception', 'exceptions',
- 'field-symbols', 'field-groups', 'field', 'first', 'fetch', 'fields', 'format', 'frame', 'free', 'from', 'function', 'find', 'for', 'found', 'function-pool',
- 'generate', 'get',
- 'handle', 'hide', 'hashed',
- 'include', 'import', 'importing', 'index', 'infotypes', 'initial', 'initialization',
- 'id', 'is', 'in', 'interface', 'interfaces', 'init', 'input', 'insert', 'instance', 'into',
- 'key',
- 'left-justified', 'leave', 'like', 'line', 'line-count', 'line-size', 'load', 'local', 'log-point', 'length', 'left', 'leading', 'lower',
- 'matchcode', 'method', 'mesh', 'message', 'message-id', 'methods', 'modify', 'module', 'move', 'move-corresponding', 'multiply', 'multiply-corresponding', 'match',
- 'new', 'new-line', 'new-page', 'new-section', 'next', 'no', 'no-gap', 'no-gaps', 'no-sign', 'no-zero', 'non-unique', 'number',
- 'occurrence', 'object', 'obligatory', 'of', 'output', 'overlay', 'optional', 'others', 'occurrences', 'occurs', 'offset', 'options',
- 'pack', 'parameters', 'perform', 'places', 'position', 'print-control', 'private', 'program', 'protected', 'provide', 'public', 'put',
- 'radiobutton', 'raising', 'ranges', 'receive', 'receiving', 'redefinition', 'reduce', 'reference', 'refresh', 'regex', 'reject', 'results', 'requested',
- 'ref', 'replace', 'report', 'reserve', 'restore', 'result', 'return', 'returning', 'right-justified', 'rollback', 'read', 'read-only', 'rp-provide-from-last', 'run',
- 'scan', 'screen', 'scroll', 'search', 'select', 'select-options', 'selection-screen', 'stamp', 'source', 'subkey',
- 'separated', 'set', 'shift', 'single', 'skip', 'sort', 'sorted', 'split', 'standard', 'stamp', 'starting', 'start-of-selection', 'sum', 'subtract-corresponding', 'statics', 'step', 'stop', 'structure', 'submatches', 'submit', 'subtract', 'summary', 'supplied', 'suppress', 'section', 'syntax-check', 'syntax-trace', 'system-call', 'switch',
- 'tables', 'table', 'task', 'testing', 'test-seam', 'test-injection', 'then', 'time', 'times', 'title', 'titlebar', 'to', 'top-of-page', 'trailing', 'transfer', 'transformation', 'translate', 'transporting', 'types', 'type', 'type-pool', 'type-pools',
- 'unassign', 'unique', 'uline', 'unpack', 'update', 'upper', 'using',
- 'value',
- 'when', 'while', 'window', 'write', 'where', 'with', 'work',
- 'at', 'case', 'catch', 'continue', 'do', 'elseif', 'else', 'endat', 'endcase', 'enddo', 'endif', 'endloop', 'endon', 'if', 'loop', 'on', 'raise', 'try',
- 'abs', 'sign', 'ceil', 'floor', 'trunc', 'frac', 'acos', 'asin', 'atan', 'cos', 'sin', 'tan', 'cosh', 'sinh', 'tanh', 'exp', 'log', 'log10', 'sqrt', 'strlen', 'xstrlen', 'charlen', 'lines', 'numofchar', 'dbmaxlen', 'round', 'rescale', 'nmax', 'nmin', 'cmax', 'cmin', 'boolc', 'boolx', 'xsdbool', 'contains', 'contains_any_of', 'contains_any_not_of', 'matches', 'line_exists', 'ipow', 'char_off', 'count', 'count_any_of', 'count_any_not_of', 'distance', 'condense', 'concat_lines_of', 'escape', 'find', 'find_end', 'find_any_of', 'find_any_not_of', 'insert', 'match', 'repeat', 'replace', 'reverse', 'segment', 'shift_left', 'shift_right', 'substring', 'substring_after', 'substring_from', 'substring_before', 'substring_to', 'to_upper', 'to_lower', 'to_mixed', 'from_mixed', 'translate', 'bit-set', 'line_index',
- 'definition', 'implementation', 'public', 'inheriting', 'final'
- ];
- exports.language = {
- defaultToken: 'invalid',
- ignoreCase: true,
- tokenPostfix: '.abap',
- keywords: abapKeywords,
- typeKeywords: [
- 'abap_bool', 'string', 'xstring', 'any', 'clike', 'csequence', 'numeric',
- 'xsequence', 'c', 'n', 'i', 'p', 'f', 'd', 't', 'x'
- ],
- operators: [
- '+', '-', '/', '*',
- '=', '<', '>', '<=', '>=', '<>', '><', '=<', '=>',
- 'EQ', 'NE', 'GE', 'LE',
- 'CS', 'CN', 'CA', 'CO', 'CP', 'NS', 'NA', 'NP',
- ],
- symbols: /[=><!~?&+\-*\/\^%]+/,
- tokenizer: {
- root: [
- [/[a-z_$][\w$]*/, { cases: { '@typeKeywords': 'keyword',
- '@keywords': 'keyword',
- '@default': 'identifier' } }],
- { include: '@whitespace' },
- [/[:,.]/, 'delimiter'],
- [/[{}()\[\]]/, '@brackets'],
- [/@symbols/, { cases: { '@operators': 'operator',
- '@default': '' } }],
- [/'/, { token: 'string', bracket: '@open', next: '@stringquote' }],
- [/\|/, { token: 'string', bracket: '@open', next: '@stringtemplate' }],
- [/\d+/, 'number'],
- ],
- stringtemplate: [
- [/[^\\\|]+/, 'string'],
- [/\\\|/, 'string'],
- [/\|/, { token: 'string', bracket: '@close', next: '@pop' }]
- ],
- stringquote: [
- [/[^\\']+/, 'string'],
- [/'/, { token: 'string', bracket: '@close', next: '@pop' }]
- ],
- whitespace: [
- [/[ \t\r\n]+/, ''],
- [/^\*.*$/, 'comment'],
- [/\".*$/, 'comment'],
- ],
- },
- };
- });
|