| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114 |
- /*---------------------------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
- *--------------------------------------------------------------------------------------------*/
- export var conf = {
- comments: {
- lineComment: '*'
- },
- brackets: [
- ['[', ']'],
- ['(', ')']
- ]
- };
- var abapKeywords = [
- // words
- 'abap-source',
- 'abbreviated',
- 'abstract',
- 'accept',
- 'accepting',
- 'according',
- 'activation',
- 'actual',
- 'add',
- 'add-corresponding',
- 'adjacent',
- 'after',
- 'alias',
- 'aliases',
- 'align',
- 'all',
- 'allocate',
- 'alpha',
- 'analysis',
- 'analyzer',
- 'append',
- 'appendage',
- 'appending',
- 'application',
- 'archive',
- 'area',
- 'arithmetic',
- 'as',
- 'ascending',
- 'aspect',
- 'assert',
- 'assign',
- 'assigned',
- 'assigning',
- 'association',
- 'asynchronous',
- 'at',
- 'attributes',
- 'authority',
- 'authority-check',
- 'avg',
- 'back',
- 'background',
- 'backup',
- 'backward',
- 'badi',
- 'base',
- 'before',
- 'begin',
- 'big',
- 'binary',
- 'bintohex',
- 'bit',
- 'black',
- 'blank',
- 'blanks',
- 'blob',
- 'block',
- 'blocks',
- 'blue',
- 'bound',
- 'boundaries',
- 'bounds',
- 'boxed',
- 'break-point',
- 'buffer',
- 'by',
- 'bypassing',
- 'byte',
- 'byte-order',
- 'call',
- 'calling',
- 'case',
- 'cast',
- 'casting',
- 'catch',
- 'center',
- 'centered',
- 'chain',
- 'chain-input',
- 'chain-request',
- 'change',
- 'changing',
- 'channels',
- 'character',
- 'char-to-hex',
- 'check',
- 'checkbox',
- 'ci_',
- 'circular',
- 'class',
- 'class-coding',
- 'class-data',
- 'class-events',
- 'class-methods',
- 'class-pool',
- 'cleanup',
- 'clear',
- 'client',
- 'clob',
- 'clock',
- 'close',
- 'coalesce',
- 'code',
- 'coding',
- 'col_background',
- 'col_group',
- 'col_heading',
- 'col_key',
- 'col_negative',
- 'col_normal',
- 'col_positive',
- 'col_total',
- 'collect',
- 'color',
- 'column',
- 'columns',
- 'comment',
- 'comments',
- 'commit',
- 'common',
- 'communication',
- 'comparing',
- 'component',
- 'components',
- 'compression',
- 'compute',
- 'concat',
- 'concat_with_space',
- 'concatenate',
- 'cond',
- 'condition',
- 'connect',
- 'connection',
- 'constants',
- 'context',
- 'contexts',
- 'continue',
- 'control',
- 'controls',
- 'conv',
- 'conversion',
- 'convert',
- 'copies',
- 'copy',
- 'corresponding',
- 'country',
- 'cover',
- 'cpi',
- 'create',
- 'creating',
- 'critical',
- 'currency',
- 'currency_conversion',
- 'current',
- 'cursor',
- 'cursor-selection',
- 'customer',
- 'customer-function',
- 'dangerous',
- 'data',
- 'database',
- 'datainfo',
- 'dataset',
- 'date',
- 'dats_add_days',
- 'dats_add_months',
- 'dats_days_between',
- 'dats_is_valid',
- 'daylight',
- 'dd/mm/yy',
- 'dd/mm/yyyy',
- 'ddmmyy',
- 'deallocate',
- 'decimal_shift',
- 'decimals',
- 'declarations',
- 'deep',
- 'default',
- 'deferred',
- 'define',
- 'defining',
- 'definition',
- 'delete',
- 'deleting',
- 'demand',
- 'department',
- 'descending',
- 'describe',
- 'destination',
- 'detail',
- 'dialog',
- 'directory',
- 'disconnect',
- 'display',
- 'display-mode',
- 'distinct',
- 'divide',
- 'divide-corresponding',
- 'division',
- 'do',
- 'dummy',
- 'duplicate',
- 'duplicates',
- 'duration',
- 'during',
- 'dynamic',
- 'dynpro',
- 'edit',
- 'editor-call',
- 'else',
- 'elseif',
- 'empty',
- 'enabled',
- 'enabling',
- 'encoding',
- 'end',
- 'endat',
- 'endcase',
- 'endcatch',
- 'endchain',
- 'endclass',
- 'enddo',
- 'endenhancement',
- 'end-enhancement-section',
- 'endexec',
- 'endform',
- 'endfunction',
- 'endian',
- 'endif',
- 'ending',
- 'endinterface',
- 'end-lines',
- 'endloop',
- 'endmethod',
- 'endmodule',
- 'end-of-definition',
- 'end-of-editing',
- 'end-of-file',
- 'end-of-page',
- 'end-of-selection',
- 'endon',
- 'endprovide',
- 'endselect',
- 'end-test-injection',
- 'end-test-seam',
- 'endtry',
- 'endwhile',
- 'endwith',
- 'engineering',
- 'enhancement',
- 'enhancement-point',
- 'enhancements',
- 'enhancement-section',
- 'entries',
- 'entry',
- 'enum',
- 'environment',
- 'errormessage',
- 'errors',
- 'escaping',
- 'event',
- 'events',
- 'exact',
- 'except',
- 'exception',
- 'exceptions',
- 'exception-table',
- 'exclude',
- 'excluding',
- 'exec',
- 'execute',
- 'exists',
- 'exit',
- 'exit-command',
- 'expand',
- 'expanding',
- 'expiration',
- 'explicit',
- 'exponent',
- 'export',
- 'exporting',
- 'extend',
- 'extended',
- 'extension',
- 'extract',
- 'fail',
- 'fetch',
- 'field',
- 'field-groups',
- 'fields',
- 'field-symbol',
- 'field-symbols',
- 'file',
- 'filter',
- 'filters',
- 'filter-table',
- 'final',
- 'first',
- 'first-line',
- 'fixed-point',
- 'fkeq',
- 'fkge',
- 'flush',
- 'font',
- 'for',
- 'form',
- 'format',
- 'forward',
- 'found',
- 'frame',
- 'frames',
- 'free',
- 'friends',
- 'from',
- 'function',
- 'functionality',
- 'function-pool',
- 'further',
- 'gaps',
- 'generate',
- 'get',
- 'giving',
- 'gkeq',
- 'gkge',
- 'global',
- 'grant',
- 'green',
- 'group',
- 'groups',
- 'handle',
- 'handler',
- 'harmless',
- 'hashed',
- 'having',
- 'hdb',
- 'header',
- 'headers',
- 'heading',
- 'head-lines',
- 'help-id',
- 'help-request',
- 'hextobin',
- 'hide',
- 'high',
- 'hint',
- 'hold',
- 'hotspot',
- 'icon',
- 'id',
- 'identification',
- 'identifier',
- 'ids',
- 'if',
- 'ignore',
- 'ignoring',
- 'immediately',
- 'implementation',
- 'implementations',
- 'implemented',
- 'implicit',
- 'import',
- 'importing',
- 'inactive',
- 'incl',
- 'include',
- 'includes',
- 'including',
- 'increment',
- 'index',
- 'index-line',
- 'infotypes',
- 'inheriting',
- 'init',
- 'initial',
- 'initialization',
- 'inner',
- 'inout',
- 'input',
- 'instance',
- 'instances',
- 'instr',
- 'intensified',
- 'interface',
- 'interface-pool',
- 'interfaces',
- 'internal',
- 'intervals',
- 'into',
- 'inverse',
- 'inverted-date',
- 'is',
- 'iso',
- 'job',
- 'join',
- 'keep',
- 'keeping',
- 'kernel',
- 'key',
- 'keys',
- 'keywords',
- 'kind',
- 'language',
- 'last',
- 'late',
- 'layout',
- 'leading',
- 'leave',
- 'left',
- 'left-justified',
- 'leftplus',
- 'leftspace',
- 'legacy',
- 'length',
- 'let',
- 'level',
- 'levels',
- 'like',
- 'line',
- 'line-count',
- 'linefeed',
- 'line-selection',
- 'line-size',
- 'list',
- 'listbox',
- 'list-processing',
- 'little',
- 'llang',
- 'load',
- 'load-of-program',
- 'lob',
- 'local',
- 'locale',
- 'locator',
- 'logfile',
- 'logical',
- 'log-point',
- 'long',
- 'loop',
- 'low',
- 'lower',
- 'lpad',
- 'lpi',
- 'ltrim',
- 'mail',
- 'main',
- 'major-id',
- 'mapping',
- 'margin',
- 'mark',
- 'mask',
- 'matchcode',
- 'max',
- 'maximum',
- 'medium',
- 'members',
- 'memory',
- 'mesh',
- 'message',
- 'message-id',
- 'messages',
- 'messaging',
- 'method',
- 'methods',
- 'min',
- 'minimum',
- 'minor-id',
- 'mm/dd/yy',
- 'mm/dd/yyyy',
- 'mmddyy',
- 'mode',
- 'modif',
- 'modifier',
- 'modify',
- 'module',
- 'move',
- 'move-corresponding',
- 'multiply',
- 'multiply-corresponding',
- 'name',
- 'nametab',
- 'native',
- 'nested',
- 'nesting',
- 'new',
- 'new-line',
- 'new-page',
- 'new-section',
- 'next',
- 'no',
- 'node',
- 'nodes',
- 'no-display',
- 'no-extension',
- 'no-gap',
- 'no-gaps',
- 'no-grouping',
- 'no-heading',
- 'non-unicode',
- 'non-unique',
- 'no-scrolling',
- 'no-sign',
- 'no-title',
- 'no-topofpage',
- 'no-zero',
- 'null',
- 'number',
- 'object',
- 'objects',
- 'obligatory',
- 'occurrence',
- 'occurrences',
- 'occurs',
- 'of',
- 'off',
- 'offset',
- 'ole',
- 'on',
- 'only',
- 'open',
- 'option',
- 'optional',
- 'options',
- 'order',
- 'other',
- 'others',
- 'out',
- 'outer',
- 'output',
- 'output-length',
- 'overflow',
- 'overlay',
- 'pack',
- 'package',
- 'pad',
- 'padding',
- 'page',
- 'pages',
- 'parameter',
- 'parameters',
- 'parameter-table',
- 'part',
- 'partially',
- 'pattern',
- 'percentage',
- 'perform',
- 'performing',
- 'person',
- 'pf1',
- 'pf10',
- 'pf11',
- 'pf12',
- 'pf13',
- 'pf14',
- 'pf15',
- 'pf2',
- 'pf3',
- 'pf4',
- 'pf5',
- 'pf6',
- 'pf7',
- 'pf8',
- 'pf9',
- 'pf-status',
- 'pink',
- 'places',
- 'pool',
- 'pos_high',
- 'pos_low',
- 'position',
- 'pragmas',
- 'precompiled',
- 'preferred',
- 'preserving',
- 'primary',
- 'print',
- 'print-control',
- 'priority',
- 'private',
- 'procedure',
- 'process',
- 'program',
- 'property',
- 'protected',
- 'provide',
- 'public',
- 'push',
- 'pushbutton',
- 'put',
- 'queue-only',
- 'quickinfo',
- 'radiobutton',
- 'raise',
- 'raising',
- 'range',
- 'ranges',
- 'read',
- 'reader',
- 'read-only',
- 'receive',
- 'received',
- 'receiver',
- 'receiving',
- 'red',
- 'redefinition',
- 'reduce',
- 'reduced',
- 'ref',
- 'reference',
- 'refresh',
- 'regex',
- 'reject',
- 'remote',
- 'renaming',
- 'replacement',
- 'replacing',
- 'report',
- 'request',
- 'requested',
- 'reserve',
- 'reset',
- 'resolution',
- 'respecting',
- 'responsible',
- 'result',
- 'results',
- 'resumable',
- 'resume',
- 'retry',
- 'return',
- 'returncode',
- 'returning',
- 'returns',
- 'right',
- 'right-justified',
- 'rightplus',
- 'rightspace',
- 'risk',
- 'rmc_communication_failure',
- 'rmc_invalid_status',
- 'rmc_system_failure',
- 'role',
- 'rollback',
- 'rows',
- 'rpad',
- 'rtrim',
- 'run',
- 'sap',
- 'sap-spool',
- 'saving',
- 'scale_preserving',
- 'scale_preserving_scientific',
- 'scan',
- 'scientific',
- 'scientific_with_leading_zero',
- 'scroll',
- 'scroll-boundary',
- 'scrolling',
- 'search',
- 'secondary',
- 'seconds',
- 'section',
- 'select',
- 'selection',
- 'selections',
- 'selection-screen',
- 'selection-set',
- 'selection-sets',
- 'selection-table',
- 'select-options',
- 'send',
- 'separate',
- 'separated',
- 'set',
- 'shared',
- 'shift',
- 'short',
- 'shortdump-id',
- 'sign_as_postfix',
- 'single',
- 'size',
- 'skip',
- 'skipping',
- 'smart',
- 'some',
- 'sort',
- 'sortable',
- 'sorted',
- 'source',
- 'specified',
- 'split',
- 'spool',
- 'spots',
- 'sql',
- 'sqlscript',
- 'stable',
- 'stamp',
- 'standard',
- 'starting',
- 'start-of-editing',
- 'start-of-selection',
- 'state',
- 'statement',
- 'statements',
- 'static',
- 'statics',
- 'statusinfo',
- 'step-loop',
- 'stop',
- 'structure',
- 'structures',
- 'style',
- 'subkey',
- 'submatches',
- 'submit',
- 'subroutine',
- 'subscreen',
- 'subtract',
- 'subtract-corresponding',
- 'suffix',
- 'sum',
- 'summary',
- 'summing',
- 'supplied',
- 'supply',
- 'suppress',
- 'switch',
- 'switchstates',
- 'symbol',
- 'syncpoints',
- 'syntax',
- 'syntax-check',
- 'syntax-trace',
- 'system-call',
- 'system-exceptions',
- 'system-exit',
- 'tab',
- 'tabbed',
- 'tables',
- 'tableview',
- 'tabstrip',
- 'target',
- 'task',
- 'tasks',
- 'test',
- 'testing',
- 'test-injection',
- 'test-seam',
- 'text',
- 'textpool',
- 'then',
- 'throw',
- 'time',
- 'times',
- 'timestamp',
- 'timezone',
- 'tims_is_valid',
- 'title',
- 'titlebar',
- 'title-lines',
- 'to',
- 'tokenization',
- 'tokens',
- 'top-lines',
- 'top-of-page',
- 'trace-file',
- 'trace-table',
- 'trailing',
- 'transaction',
- 'transfer',
- 'transformation',
- 'transporting',
- 'trmac',
- 'truncate',
- 'truncation',
- 'try',
- 'tstmp_add_seconds',
- 'tstmp_current_utctimestamp',
- 'tstmp_is_valid',
- 'tstmp_seconds_between',
- 'type',
- 'type-pool',
- 'type-pools',
- 'types',
- 'uline',
- 'unassign',
- 'under',
- 'unicode',
- 'union',
- 'unique',
- 'unit_conversion',
- 'unix',
- 'unpack',
- 'until',
- 'unwind',
- 'up',
- 'update',
- 'upper',
- 'user',
- 'user-command',
- 'using',
- 'utf-8',
- 'valid',
- 'value',
- 'value-request',
- 'values',
- 'vary',
- 'varying',
- 'verification-message',
- 'version',
- 'via',
- 'view',
- 'visible',
- 'wait',
- 'warning',
- 'when',
- 'whenever',
- 'where',
- 'while',
- 'width',
- 'window',
- 'windows',
- 'with',
- 'with-heading',
- 'without',
- 'with-title',
- 'word',
- 'work',
- 'write',
- 'writer',
- 'xml',
- 'xsd',
- 'yellow',
- 'yes',
- 'yymmdd',
- 'zero',
- 'zone',
- // built-ins
- 'abs',
- 'acos',
- 'asin',
- 'atan',
- 'bit-set',
- 'boolc',
- 'boolx',
- 'ceil',
- 'char_off',
- 'charlen',
- 'cmax',
- 'cmin',
- 'concat_lines_of',
- 'condense',
- 'contains',
- 'contains_any_not_of',
- 'contains_any_of',
- 'cos',
- 'cosh',
- 'count',
- 'count_any_not_of',
- 'count_any_of',
- 'dbmaxlen',
- 'distance',
- 'escape',
- 'exp',
- 'find',
- 'find_any_not_of',
- 'find_any_of',
- 'find_end',
- 'floor',
- 'frac',
- 'from_mixed',
- 'insert',
- 'ipow',
- 'line_exists',
- 'line_index',
- 'lines',
- 'log',
- 'log10',
- 'match',
- 'matches',
- 'nmax',
- 'nmin',
- 'numofchar',
- 'repeat',
- 'replace',
- 'rescale',
- 'reverse',
- 'round',
- 'segment',
- 'shift_left',
- 'shift_right',
- 'sign',
- 'sin',
- 'sinh',
- 'sqrt',
- 'strlen',
- 'substring',
- 'substring_after',
- 'substring_before',
- 'substring_from',
- 'substring_to',
- 'tan',
- 'tanh',
- 'to_lower',
- 'to_mixed',
- 'to_upper',
- 'translate',
- 'trunc',
- 'utclong_add',
- 'utclong_current',
- 'utclong_diff',
- 'xsdbool',
- 'xstrlen'
- ];
- export var language = {
- defaultToken: 'invalid',
- ignoreCase: true,
- tokenPostfix: '.abap',
- keywords: abapKeywords,
- typeKeywords: [
- // built-in data types
- 'b',
- 'c',
- 'd',
- 'decfloat16',
- 'decfloat34',
- 'f',
- 'i',
- 'int8',
- 'n',
- 'p',
- 's',
- 'string',
- 't',
- 'utclong',
- 'x',
- 'xstring',
- // generic data types
- 'any',
- 'clike',
- 'csequence',
- 'decfloat',
- 'numeric',
- 'simple',
- 'xsequence',
- // generic table types
- 'table',
- // 'any table',
- 'hashed',
- 'index',
- 'sorted',
- 'standard',
- // ddic data types
- 'accp',
- 'char',
- 'clnt',
- 'cuky',
- 'curr',
- 'dats',
- 'dec',
- 'df16_dec',
- 'df16_raw',
- 'df34_dec',
- 'df34_raw',
- 'fltp',
- 'int1',
- 'int2',
- 'int4',
- // 'int8', built-in since 7.54
- 'lang',
- 'lchr',
- 'lraw',
- 'numc',
- 'quan',
- 'raw',
- 'rawstring',
- 'sstring',
- 'tims',
- 'unit',
- // ddic data types (obsolete)
- 'df16_scl',
- 'df34_scl',
- 'prec',
- 'varc',
- // special data types
- 'abap_bool',
- 'space',
- 'me',
- 'syst',
- 'sy',
- 'screen'
- ],
- operators: [
- // arithmetic operators
- ' +',
- ' -',
- '/',
- '*',
- '**',
- 'div',
- 'mod',
- // assignment operators
- '=',
- '#',
- '@',
- // concat operators
- '&',
- '&&',
- // bit operators
- 'bit-and',
- 'bit-not',
- 'bit-or',
- 'bit-xor',
- 'm',
- 'o',
- 'z',
- // boolean operators
- 'and',
- 'equiv',
- 'not',
- 'or',
- // comparison operators
- ' < ',
- ' > ',
- '<=',
- '>=',
- '<>',
- '><',
- '=<',
- '=>',
- 'between',
- 'bt',
- 'byte-ca',
- 'byte-cn',
- 'byte-co',
- 'byte-cs',
- 'byte-na',
- 'byte-ns',
- 'ca',
- 'cn',
- 'co',
- 'cp',
- 'cs',
- 'eq',
- 'ge',
- 'gt',
- 'in',
- 'le',
- 'lt',
- 'na',
- 'nb',
- 'ne',
- 'np',
- 'ns'
- ],
- symbols: /[=><!~?&+\-*\/\^%#@]+/,
- tokenizer: {
- root: [
- [
- /[a-z_$][\w-$]*/,
- {
- cases: {
- '@typeKeywords': 'keyword',
- '@keywords': 'keyword',
- '@operators': 'operator',
- '@default': 'identifier'
- }
- }
- ],
- [/<[\w]+>/, 'identifier'],
- { include: '@whitespace' },
- [/[:,.]/, 'delimiter'],
- [/[{}()\[\]]/, '@brackets'],
- [/@symbols/, { cases: { '@operators': 'operator', '@default': '' } }],
- [/'/, { token: 'string', bracket: '@open', next: '@stringquote' }],
- [/`/, { token: 'string', bracket: '@open', next: '@stringping' }],
- [/\|/, { token: 'string', bracket: '@open', next: '@stringtemplate' }],
- [/\d+/, 'number']
- ],
- stringtemplate: [
- [/[^\\\|]+/, 'string'],
- [/\\\|/, 'string'],
- [/\|/, { token: 'string', bracket: '@close', next: '@pop' }]
- ],
- stringping: [
- [/[^\\`]+/, 'string'],
- [/`/, { token: 'string', bracket: '@close', next: '@pop' }]
- ],
- stringquote: [
- [/[^\\']+/, 'string'],
- [/'/, { token: 'string', bracket: '@close', next: '@pop' }]
- ],
- whitespace: [
- [/[ \t\r\n]+/, ''],
- [/^\*.*$/, 'comment'],
- [/\".*$/, 'comment']
- ]
- }
- };
|