Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 12x 12x 12x 12x 12x 12x 12x 12x 12x 12x 12x 12x 12x 12x 1x 1x 1x 1x 1x 12x 12x 12x 12x 12x 12x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 48x 48x 1x 48x 48x 48x 48x 48x 48x 48x 48x 48x 48x 48x 48x 48x 1x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 49x 49x 49x 1x 1x 1x 48x 49x 20x 2x 2x 2x 49x 4x 4x 4x 28x 24x 24x 12x 5x 5x 12x 1x 1x 1x 7x 3x 3x 3x 3x 3x 3x 3x 12x 12x 12x 24x 30x 30x 30x 11x 1x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 48x 48x 48x 19x 19x 48x 11x 11x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | const {zcl_abapgit_syntax_highlighter} = await import("./zcl_abapgit_syntax_highlighter.clas.mjs"); const {cx_root} = await import("./cx_root.clas.mjs"); // zcl_abapgit_syntax_abap.clas.abap class zcl_abapgit_syntax_abap extends zcl_abapgit_syntax_highlighter { static INTERNAL_TYPE = 'CLAS'; static INTERNAL_NAME = 'ZCL_ABAPGIT_SYNTAX_ABAP'; static IMPLEMENTED_INTERFACES = []; static ATTRIBUTES = {"GT_KEYWORDS": {"type": () => {return abap.types.TableFactory.construct(new abap.types.String({qualifiedName: "STRING"}), {"withHeader":false,"keyType":"USER","primaryKey":{"name":"primary_key","type":"HASHED","isUnique":true,"keyFields":["TABLE_LINE"]},"secondary":[]}, "");}, "visibility": "O", "is_constant": " ", "is_class": "X"}, "C_CSS": {"type": () => {return new abap.types.Structure({ "keyword": new abap.types.String({qualifiedName: "STRING"}), "text": new abap.types.String({qualifiedName: "STRING"}), "comment": new abap.types.String({qualifiedName: "STRING"})}, undefined, undefined, {}, {});}, "visibility": "U", "is_constant": "X", "is_class": "X"}, "C_TOKEN": {"type": () => {return new abap.types.Structure({ "keyword": new abap.types.Character(1, {}), "text": new abap.types.Character(1, {}), "comment": new abap.types.Character(1, {})}, undefined, undefined, {}, {});}, "visibility": "U", "is_constant": "X", "is_class": "X"}, "C_REGEX": {"type": () => {return new abap.types.Structure({ "comment": new abap.types.String({qualifiedName: "STRING"}), "text": new abap.types.String({qualifiedName: "STRING"}), "keyword": new abap.types.String({qualifiedName: "STRING"})}, undefined, undefined, {}, {});}, "visibility": "U", "is_constant": "X", "is_class": "X"}}; static METHODS = {"INIT_KEYWORDS": {"visibility": "O", "parameters": {}}, "IS_KEYWORD": {"visibility": "O", "parameters": {"RV_YES": {"type": () => {return new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"});}, "is_optional": " "}, "IV_CHUNK": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " "}}}, "ORDER_MATCHES": {"visibility": "O", "parameters": {}}, "PARSE_LINE": {"visibility": "O", "parameters": {}}, "CLASS_CONSTRUCTOR": {"visibility": "U", "parameters": {}}, "CONSTRUCTOR": {"visibility": "U", "parameters": {}}}; constructor() { const sup = super(); this.me = new abap.types.ABAPObject(); this.me.set(this); this.INTERNAL_ID = abap.internalIdCounter++; this.FRIENDS_ACCESS_INSTANCE = { "SUPER": sup.FRIENDS_ACCESS_INSTANCE, "order_matches": this.order_matches.bind(this), "parse_line": this.parse_line.bind(this), }; this.gt_keywords = zcl_abapgit_syntax_abap.gt_keywords; this.c_css = zcl_abapgit_syntax_abap.c_css; this.c_token = zcl_abapgit_syntax_abap.c_token; this.c_regex = zcl_abapgit_syntax_abap.c_regex; } async class_constructor() { return zcl_abapgit_syntax_abap.class_constructor(); } static async class_constructor() { await this.init_keywords(); } async constructor_(INPUT) { await super.constructor_(); await this.add_rule({iv_regex: zcl_abapgit_syntax_abap.c_regex.get().keyword, iv_token: zcl_abapgit_syntax_abap.c_token.get().keyword, iv_style: zcl_abapgit_syntax_abap.c_css.get().keyword}); await this.add_rule({iv_regex: zcl_abapgit_syntax_abap.c_regex.get().comment, iv_token: zcl_abapgit_syntax_abap.c_token.get().comment, iv_style: zcl_abapgit_syntax_abap.c_css.get().comment}); await this.add_rule({iv_regex: zcl_abapgit_syntax_abap.c_regex.get().text, iv_token: zcl_abapgit_syntax_abap.c_token.get().text, iv_style: zcl_abapgit_syntax_abap.c_css.get().text}); return this; } async init_keywords() { return zcl_abapgit_syntax_abap.init_keywords(); } static async init_keywords() { let lv_keywords = new abap.types.String({qualifiedName: "STRING"}); let lt_keywords = abap.types.TableFactory.construct(new abap.types.String({qualifiedName: "STRING"}), {"withHeader":false,"keyType":"USER","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[]}, ""); lv_keywords.set(abap.operators.concat(abap.CharacterFactory.get(60, '&&|?TO|ABAP-SOURCE|ABBREVIATED|ABS|ABSTRACT|ACCEPT|ACCEPTING'),abap.operators.concat(abap.CharacterFactory.get(76, '|ACCORDING|ACOS|ACTIVATION|ACTUAL|ADD|ADD-CORRESPONDING|ADJACENT|AFTER|ALIAS'),abap.operators.concat(abap.CharacterFactory.get(76, '|ALIASES|ALIGN|ALL|ALLOCATE|ALPHA|ANALYSIS|ANALYZER|AND|ANY|APPEND|APPENDAGE'),abap.operators.concat(abap.CharacterFactory.get(78, '|APPENDING|APPLICATION|ARCHIVE|AREA|ARITHMETIC|AS|ASCENDING|ASIN|ASPECT|ASSERT'),abap.operators.concat(abap.CharacterFactory.get(80, '|ASSIGN|ASSIGNED|ASSIGNING|ASSOCIATION|ASYNCHRONOUS|AT|ATAN|ATTRIBUTES|AUTHORITY'),abap.operators.concat(abap.CharacterFactory.get(75, '|AUTHORITY-CHECK|AVG|BACK|BACKGROUND|BACKUP|BACKWARD|BADI|BASE|BEFORE|BEGIN'),abap.operators.concat(abap.CharacterFactory.get(66, '|BETWEEN|BIG|BINARY|BIT|BIT-AND|BIT-NOT|BIT-OR|BIT-XOR|BLACK|BLANK'),abap.operators.concat(abap.CharacterFactory.get(75, '|BLANKS|BLOB|BLOCK|BLOCKS|BLUE|BOUND|BOUNDARIES|BOUNDS|BOXED|BREAK-POINT|BT'),abap.operators.concat(abap.CharacterFactory.get(73, '|BUFFER|BY|BYPASSING|BYTE|BYTE-CA|BYTE-CN|BYTE-CO|BYTE-CS|BYTE-NA|BYTE-NS'),abap.operators.concat(abap.CharacterFactory.get(74, '|BYTE-ORDER|C|CA|CALL|CALLING|CASE|CAST|CASTING|CATCH|CEIL|CENTER|CENTERED'),abap.operators.concat(abap.CharacterFactory.get(75, '|CHAIN|CHAIN-INPUT|CHAIN-REQUEST|CHANGE|CHANGING|CHANNELS|CHARACTER|CHARLEN'),abap.operators.concat(abap.CharacterFactory.get(70, '|CHAR-TO-HEX|CHECK|CHECKBOX|CI_|CIRCULAR|CLASS|CLASS-CODING|CLASS-DATA'),abap.operators.concat(abap.CharacterFactory.get(76, '|CLASS-EVENTS|CLASS-METHODS|CLASS-POOL|CLEANUP|CLEAR|CLIENT|CLOB|CLOCK|CLOSE'),abap.operators.concat(abap.CharacterFactory.get(72, '|CN|CO|COALESCE|CODE|CODING|COL_BACKGROUND|COL_GROUP|COL_HEADING|COL_KEY'),abap.operators.concat(abap.CharacterFactory.get(76, '|COL_NEGATIVE|COL_NORMAL|COL_POSITIVE|COL_TOTAL|COLLECT|COLOR|COLUMN|COLUMNS'),abap.operators.concat(abap.CharacterFactory.get(76, '|COMMENT|COMMENTS|COMMIT|COMMON|COMMUNICATION|COMPARING|COMPONENT|COMPONENTS'),abap.operators.concat(abap.CharacterFactory.get(71, '|COMPRESSION|COMPUTE|CONCAT|CONCATENATE|COND|CONDENSE|CONDITION|CONNECT'),abap.operators.concat(abap.CharacterFactory.get(80, '|CONNECTION|CONSTANTS|CONTEXT|CONTEXTS|CONTINUE|CONTROL|CONTROLS|CONV|CONVERSION'),abap.operators.concat(abap.CharacterFactory.get(77, '|CONVERT|COPIES|COPY|CORRESPONDING|COS|COSH|COUNT|COUNTRY|COVER|CP|CPI|CREATE'),abap.operators.concat(abap.CharacterFactory.get(82, '|CREATING|CRITICAL|CS|CURRENCY|CURRENCY_CONVERSION|CURRENT|CURSOR|CURSOR-SELECTION'),abap.operators.concat(abap.CharacterFactory.get(73, '|CUSTOMER|CUSTOMER-FUNCTION|DANGEROUS|DATA|DATABASE|DATAINFO|DATASET|DATE'),abap.operators.concat(abap.CharacterFactory.get(79, '|DAYLIGHT|DBMAXLEN|DD/MM/YY|DD/MM/YYYY|DDMMYY|DEALLOCATE|DECIMAL_SHIFT|DECIMALS'),abap.operators.concat(abap.CharacterFactory.get(78, '|DECLARATIONS|DEEP|DEFAULT|DEFERRED|DEFINE|DEFINING|DEFINITION|DELETE|DELETING'),abap.operators.concat(abap.CharacterFactory.get(74, '|DEMAND|DEPARTMENT|DESCENDING|DESCRIBE|DESTINATION|DETAIL|DIALOG|DIRECTORY'),abap.operators.concat(abap.CharacterFactory.get(82, '|DISCONNECT|DISPLAY|DISPLAY-MODE|DISTANCE|DISTINCT|DIV|DIVIDE|DIVIDE-CORRESPONDING'),abap.operators.concat(abap.CharacterFactory.get(70, '|DIVISION|DO|DUMMY|DUPLICATE|DUPLICATES|DURATION|DURING|DYNAMIC|DYNPRO'),abap.operators.concat(abap.CharacterFactory.get(79, '|EDIT|EDITOR-CALL|ELSE|ELSEIF|EMPTY|ENABLED|ENABLING|ENCODING|END|ENDAT|ENDCASE'),abap.operators.concat(abap.CharacterFactory.get(72, '|ENDCATCH|ENDCHAIN|ENDCLASS|ENDDO|ENDENHANCEMENT|END-ENHANCEMENT-SECTION'),abap.operators.concat(abap.CharacterFactory.get(61, '|ENDEXEC|ENDFORM|ENDFUNCTION|ENDIAN|ENDIF|ENDING|ENDINTERFACE'),abap.operators.concat(abap.CharacterFactory.get(68, '|END-LINES|ENDLOOP|ENDMETHOD|ENDMODULE|END-OF-DEFINITION|END-OF-FILE'),abap.operators.concat(abap.CharacterFactory.get(72, '|END-OF-PAGE|END-OF-SELECTION|ENDON|ENDPROVIDE|ENDSELECT|ENDTRY|ENDWHILE'),abap.operators.concat(abap.CharacterFactory.get(75, '|ENGINEERING|ENHANCEMENT|ENHANCEMENT-POINT|ENHANCEMENTS|ENHANCEMENT-SECTION'),abap.operators.concat(abap.CharacterFactory.get(71, '|ENTRIES|ENTRY|ENVIRONMENT|EQ|EQUIV|ERRORMESSAGE|ERRORS|ESCAPE|ESCAPING'),abap.operators.concat(abap.CharacterFactory.get(81, '|EVENT|EVENTS|EXACT|EXCEPT|EXCEPTION|EXCEPTIONS|EXCEPTION-TABLE|EXCLUDE|EXCLUDING'),abap.operators.concat(abap.CharacterFactory.get(79, '|EXEC|EXECUTE|EXISTS|EXIT|EXIT-COMMAND|EXP|EXPAND|EXPANDING|EXPIRATION|EXPLICIT'),abap.operators.concat(abap.CharacterFactory.get(77, '|EXPONENT|EXPORT|EXPORTING|EXTEND|EXTENDED|EXTENSION|EXTRACT|FAIL|FETCH|FIELD'),abap.operators.concat(abap.CharacterFactory.get(80, '|FIELD-GROUPS|FIELDS|FIELD-SYMBOL|FIELD-SYMBOLS|FILE|FILTER|FILTERS|FILTER-TABLE'),abap.operators.concat(abap.CharacterFactory.get(76, '|FINAL|FIND|FIRST|FIRST-LINE|FIXED-POINT|FKEQ|FKGE|FLOOR|FLUSH|FONT|FOR|FORM'),abap.operators.concat(abap.CharacterFactory.get(80, '|FORMAT|FORWARD|FOUND|FRAC|FRAME|FRAMES|FREE|FRIENDS|FROM|FUNCTION|FUNCTIONALITY'),abap.operators.concat(abap.CharacterFactory.get(73, '|FUNCTION-POOL|FURTHER|GAPS|GE|GENERATE|GET|GIVING|GKEQ|GKGE|GLOBAL|GRANT'),abap.operators.concat(abap.CharacterFactory.get(79, '|GREEN|GROUP|GROUPS|GT|HANDLE|HANDLER|HARMLESS|HASHED|HAVING|HDB|HEADER|HEADERS'),abap.operators.concat(abap.CharacterFactory.get(78, '|HEADING|HEAD-LINES|HELP-ID|HELP-REQUEST|HIDE|HIGH|HINT|HOLD|HOTSPOT|I|ICON|ID'),abap.operators.concat(abap.CharacterFactory.get(76, '|IDENTIFICATION|IDENTIFIER|IDS|IF|IGNORE|IGNORING|IMMEDIATELY|IMPLEMENTATION'),abap.operators.concat(abap.CharacterFactory.get(79, '|IMPLEMENTATIONS|IMPLEMENTED|IMPLICIT|IMPORT|IMPORTING|IN|INACTIVE|INCL|INCLUDE'),abap.operators.concat(abap.CharacterFactory.get(80, '|INCLUDES|INCLUDING|INCREMENT|INDEX|INDEX-LINE|INFOTYPES|INHERITING|INIT|INITIAL'),abap.operators.concat(abap.CharacterFactory.get(72, '|INITIALIZATION|INNER|INOUT|INPUT|INSERT|INSTANCES|INTENSIFIED|INTERFACE'),abap.operators.concat(abap.CharacterFactory.get(75, '|INTERFACE-POOL|INTERFACES|INTERNAL|INTERVALS|INTO|INVERSE|INVERTED-DATE|IS'),abap.operators.concat(abap.CharacterFactory.get(56, '|ISO|JOB|JOIN|KEEP|KEEPING|KERNEL|KEY|KEYS|KEYWORDS|KIND'),abap.operators.concat(abap.CharacterFactory.get(72, '|LANGUAGE|LAST|LATE|LAYOUT|LE|LEADING|LEAVE|LEFT|LEFT-JUSTIFIED|LEFTPLUS'),abap.operators.concat(abap.CharacterFactory.get(71, '|LEFTSPACE|LEGACY|LENGTH|LET|LEVEL|LEVELS|LIKE|LINE|LINE-COUNT|LINEFEED'),abap.operators.concat(abap.CharacterFactory.get(73, '|LINES|LINE-SELECTION|LINE-SIZE|LIST|LISTBOX|LIST-PROCESSING|LITTLE|LLANG'),abap.operators.concat(abap.CharacterFactory.get(72, '|LOAD|LOAD-OF-PROGRAM|LOB|LOCAL|LOCALE|LOCATOR|LOG|LOG10|LOGFILE|LOGICAL'),abap.operators.concat(abap.CharacterFactory.get(78, '|LOG-POINT|LONG|LOOP|LOW|LOWER|LPAD|LPI|LT|M|MAIL|MAIN|MAJOR-ID|MAPPING|MARGIN'),abap.operators.concat(abap.CharacterFactory.get(73, '|MARK|MASK|MATCH|MATCHCODE|MAX|MAXIMUM|MEDIUM|MEMBERS|MEMORY|MESH|MESSAGE'),abap.operators.concat(abap.CharacterFactory.get(75, '|MESSAGE-ID|MESSAGES|MESSAGING|METHOD|METHODS|MIN|MINIMUM|MINOR-ID|MM/DD/YY'),abap.operators.concat(abap.CharacterFactory.get(80, '|MM/DD/YYYY|MMDDYY|MOD|MODE|MODIF|MODIFIER|MODIFY|MODULE|MOVE|MOVE-CORRESPONDING'),abap.operators.concat(abap.CharacterFactory.get(76, '|MULTIPLY|MULTIPLY-CORRESPONDING|NA|NAME|NAMETAB|NATIVE|NB|NE|NESTED|NESTING'),abap.operators.concat(abap.CharacterFactory.get(64, '|NEW|NEW-LINE|NEW-PAGE|NEW-SECTION|NEXT|NO|NODE|NODES|NO-DISPLAY'),abap.operators.concat(abap.CharacterFactory.get(74, '|NO-EXTENSION|NO-GAP|NO-GAPS|NO-GROUPING|NO-HEADING|NON-UNICODE|NON-UNIQUE'),abap.operators.concat(abap.CharacterFactory.get(73, '|NO-SCROLLING|NO-SIGN|NOT|NO-TITLE|NO-TOPOFPAGE|NO-ZERO|NP|NS|NULL|NUMBER'),abap.operators.concat(abap.CharacterFactory.get(75, '|NUMOFCHAR|O|OBJECT|OBJECTS|OBLIGATORY|OCCURRENCE|OCCURRENCES|OCCURS|OF|OFF'),abap.operators.concat(abap.CharacterFactory.get(74, '|OFFSET|OLE|ON|ONLY|OPEN|OPTION|OPTIONAL|OPTIONS|OR|ORDER|OTHER|OTHERS|OUT'),abap.operators.concat(abap.CharacterFactory.get(74, '|OUTER|OUTPUT|OUTPUT-LENGTH|OVERFLOW|OVERLAY|PACK|PACKAGE|PAD|PADDING|PAGE'),abap.operators.concat(abap.CharacterFactory.get(77, '|PAGES|PARAMETER|PARAMETERS|PARAMETER-TABLE|PART|PARTIALLY|PATTERN|PERCENTAGE'),abap.operators.concat(abap.CharacterFactory.get(77, '|PERFORM|PERFORMING|PERSON|PF1|PF2|PF3|PF4|PF5|PF6|PF7|PF8|PF9|PF10|PF11|PF12'),abap.operators.concat(abap.CharacterFactory.get(59, '|PF13|PF14|PF15|PF-STATUS|PINK|PLACES|POOL|POS_HIGH|POS_LOW'),abap.operators.concat(abap.CharacterFactory.get(78, '|POSITION|PRAGMAS|PRECOMPILED|PREFERRED|PRESERVING|PRIMARY|PRINT|PRINT-CONTROL'),abap.operators.concat(abap.CharacterFactory.get(77, '|PRIORITY|PRIVATE|PROCEDURE|PROCESS|PROGRAM|PROPERTY|PROTECTED|PROVIDE|PUBLIC'),abap.operators.concat(abap.CharacterFactory.get(75, '|PUSHBUTTON|PUT|QUEUE-ONLY|QUICKINFO|RADIOBUTTON|RAISE|RAISING|RANGE|RANGES'),abap.operators.concat(abap.CharacterFactory.get(79, '|RAW|READ|READER|READ-ONLY|RECEIVE|RECEIVED|RECEIVER|RECEIVING|RED|REDEFINITION'),abap.operators.concat(abap.CharacterFactory.get(74, '|REDUCE|REDUCED|REF|REFERENCE|REFRESH|REGEX|REJECT|REMOTE|RENAMING|REPLACE'),abap.operators.concat(abap.CharacterFactory.get(72, '|REPLACEMENT|REPLACING|REPORT|REQUEST|REQUESTED|RESERVE|RESET|RESOLUTION'),abap.operators.concat(abap.CharacterFactory.get(79, '|RESPECTING|RESPONSIBLE|RESULT|RESULTS|RESUMABLE|RESUME|RETRY|RETURN|RETURNCODE'),abap.operators.concat(abap.CharacterFactory.get(84, '|RETURNING|RIGHT|RIGHT-JUSTIFIED|RIGHTPLUS|RIGHTSPACE|RISK|RMC_COMMUNICATION_FAILURE'),abap.operators.concat(abap.CharacterFactory.get(71, '|RMC_INVALID_STATUS|RMC_SYSTEM_FAILURE|ROLE|ROLLBACK|ROUND|ROWS|RUN|SAP'),abap.operators.concat(abap.CharacterFactory.get(78, '|SAP-SPOOL|SAVING|SCALE_PRESERVING|SCALE_PRESERVING_SCIENTIFIC|SCAN|SCIENTIFIC'),abap.operators.concat(abap.CharacterFactory.get(76, '|SCIENTIFIC_WITH_LEADING_ZERO|SCREEN|SCROLL|SCROLL-BOUNDARY|SCROLLING|SEARCH'),abap.operators.concat(abap.CharacterFactory.get(85, '|SECONDARY|SECONDS|SECTION|SELECT|SELECTION|SELECTIONS|SELECTION-SCREEN|SELECTION-SET'),abap.operators.concat(abap.CharacterFactory.get(74, '|SELECTION-SETS|SELECTION-TABLE|SELECT-OPTIONS|SEND|SEPARATE|SEPARATED|SET'),abap.operators.concat(abap.CharacterFactory.get(81, '|SHARED|SHIFT|SHORT|SHORTDUMP-ID|SIGN|SIGN_AS_POSTFIX|SIMPLE|SIN|SINGLE|SINH|SIZE'),abap.operators.concat(abap.CharacterFactory.get(81, '|SKIP|SKIPPING|SMART|SOME|SORT|SORTABLE|SORTED|SOURCE|SPACE|SPECIFIED|SPLIT|SPOOL'),abap.operators.concat(abap.CharacterFactory.get(81, '|SPOTS|SQL|SQLSCRIPT|SQRT|STABLE|STAMP|STANDARD|STARTING|START-OF-SELECTION|STATE'),abap.operators.concat(abap.CharacterFactory.get(79, '|STATEMENT|STATEMENTS|STATIC|STATICS|STATUSINFO|STEP-LOOP|STOP|STRLEN|STRUCTURE'),abap.operators.concat(abap.CharacterFactory.get(82, '|STRUCTURES|STYLE|SUBKEY|SUBMATCHES|SUBMIT|SUBROUTINE|SUBSCREEN|SUBSTRING|SUBTRACT'),abap.operators.concat(abap.CharacterFactory.get(82, '|SUBTRACT-CORRESPONDING|SUFFIX|SUM|SUMMARY|SUMMING|SUPPLIED|SUPPLY|SUPPRESS|SWITCH'),abap.operators.concat(abap.CharacterFactory.get(64, '|SWITCHSTATES|SYMBOL|SYNCPOINTS|SYNTAX|SYNTAX-CHECK|SYNTAX-TRACE'),abap.operators.concat(abap.CharacterFactory.get(85, '|SYSTEM-CALL|SYSTEM-EXCEPTIONS|SYSTEM-EXIT|TAB|TABBED|TABLE|TABLES|TABLEVIEW|TABSTRIP'),abap.operators.concat(abap.CharacterFactory.get(86, '|TAN|TANH|TARGET|TASK|TASKS|TEST|TESTING|TEXT|TEXTPOOL|THEN|THROW|TIME|TIMES|TIMESTAMP'),abap.operators.concat(abap.CharacterFactory.get(81, '|TIMEZONE|TITLE|TITLEBAR|TITLE-LINES|TO|TOKENIZATION|TOKENS|TOP-LINES|TOP-OF-PAGE'),abap.operators.concat(abap.CharacterFactory.get(78, '|TRACE-FILE|TRACE-TABLE|TRAILING|TRANSACTION|TRANSFER|TRANSFORMATION|TRANSLATE'),abap.operators.concat(abap.CharacterFactory.get(81, '|TRANSPORTING|TRMAC|TRUNC|TRUNCATE|TRUNCATION|TRY|TYPE|TYPE-POOL|TYPE-POOLS|TYPES'),abap.operators.concat(abap.CharacterFactory.get(81, '|ULINE|UNASSIGN|UNDER|UNICODE|UNION|UNIQUE|UNIT|UNIT_CONVERSION|UNIX|UNPACK|UNTIL'),abap.operators.concat(abap.CharacterFactory.get(86, '|UNWIND|UP|UPDATE|UPPER|USER|USER-COMMAND|USING|UTF-8|VALID|VALUE|VALUE-REQUEST|VALUES'),abap.operators.concat(abap.CharacterFactory.get(86, '|VARY|VARYING|VERIFICATION-MESSAGE|VERSION|VIA|VIEW|VISIBLE|WAIT|WARNING|WHEN|WHENEVER'),abap.operators.concat(abap.CharacterFactory.get(80, '|WHERE|WHILE|WIDTH|WINDOW|WINDOWS|WITH|WITH-HEADING|WITHOUT|WITH-TITLE|WORD|WORK'),abap.operators.concat(abap.CharacterFactory.get(61, '|WRITE|WRITER|X|XML|XSD|XSTRLEN|YELLOW|YES|YYMMDD|Z|ZERO|ZONE'),abap.operators.concat(abap.CharacterFactory.get(77, '|BINTOHEX|CHAR|CLNT|CONCAT_WITH_SPACE|CURR|DATS|DATS_ADD_DAYS|DATS_ADD_MONTHS'),abap.operators.concat(abap.CharacterFactory.get(84, '|DATS_DAYS_BETWEEN|DATS_IS_VALID|DEC|END-OF-EDITING|END-TEST-INJECTION|END-TEST-SEAM'),abap.operators.concat(abap.CharacterFactory.get(58, '|ENDWITH|ENUM|HEXTOBIN|INSTANCE|INSTR|LANG|LTRIM|NUMC|PUSH'),abap.operators.concat(abap.CharacterFactory.get(79, '|QUAN|RETURNS|RPAD|RTRIM|SSTRING|START-OF-EDITING|TEST-INJECTION|TEST-SEAM|TIMS'),abap.operators.concat(abap.CharacterFactory.get(74, '|TIMS_IS_VALID|TSTMP_ADD_SECONDS|TSTMP_CURRENT_UTCTIMESTAMP|TSTMP_IS_VALID'),abap.operators.concat(abap.CharacterFactory.get(86, '|TSTMP_SECONDS_BETWEEN|B|D|DECFLOAT16|DECFLOAT34|F|INT8|N|P|S|STRING|T|UTCLONG|XSTRING'),abap.operators.concat(abap.CharacterFactory.get(61, '|ABAP_BOOL|ACCP|CUKY|DF16_DEC|DF16_RAW|DF34_DEC|DF34_RAW|FLTP'),abap.operators.concat(abap.CharacterFactory.get(53, '|INT1|INT2|INT4|LCHR|LRAW|RAWSTRING|DF16_SCL|DF34_SCL'),abap.operators.concat(abap.CharacterFactory.get(64, '|PREC|VARC|CLIKE|CSEQUENCE|DECFLOAT|NUMERIC|XSEQUENCE|ME|SYST|SY'),abap.operators.concat(abap.CharacterFactory.get(84, '|BIT-SET|BOOLC|BOOLX|CHAR_OFF|CMAX|CMIN|CONCAT_LINES_OF|CONTAINS|CONTAINS_ANY_NOT_OF'),abap.operators.concat(abap.CharacterFactory.get(83, '|CONTAINS_ANY_OF|COUNT_ANY_NOT_OF|COUNT_ANY_OF|FIND_ANY_NOT_OF|FIND_ANY_OF|FIND_END'),abap.operators.concat(abap.CharacterFactory.get(80, '|FROM_MIXED|IPOW|LINE_EXISTS|LINE_INDEX|MATCHES|NMAX|NMIN|REPEAT|RESCALE|REVERSE'),abap.operators.concat(abap.CharacterFactory.get(92, '|SEGMENT|SHIFT_LEFT|SHIFT_RIGHT|SUBSTRING_AFTER|SUBSTRING_BEFORE|SUBSTRING_FROM|SUBSTRING_TO'),abap.CharacterFactory.get(76, '|TO_LOWER|TO_MIXED|TO_UPPER|UTCLONG_ADD|UTCLONG_CURRENT|UTCLONG_DIFF|XSDBOOL'))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); abap.statements.split({source: lv_keywords, at: abap.CharacterFactory.get(1, '|'), table: lt_keywords}); abap.statements.sort(lt_keywords,{by: [{component: "table_line"}]}); await abap.statements.deleteInternal(lt_keywords,{adjacent: true}); zcl_abapgit_syntax_abap.gt_keywords.set(lt_keywords); } async is_keyword(INPUT) { return zcl_abapgit_syntax_abap.is_keyword(INPUT); } static async is_keyword(INPUT) { let rv_yes = new abap.types.Character(1, {"qualifiedName":"ABAP_BOOL","ddicName":"ABAP_BOOL"}); let iv_chunk = INPUT?.iv_chunk; if (iv_chunk?.getQualifiedName === undefined || iv_chunk.getQualifiedName() !== "STRING") { iv_chunk = undefined; } if (iv_chunk === undefined) { iv_chunk = new abap.types.String({qualifiedName: "STRING"}).set(INPUT.iv_chunk); } let lv_str = new abap.types.String({qualifiedName: "STRING"}); lv_str.set(abap.builtin.to_upper({val: iv_chunk})); abap.statements.readTable(zcl_abapgit_syntax_abap.gt_keywords,{withKey: (i) => {return abap.compare.eq(i.table_line, lv_str);}, withKeyValue: [{key: (i) => {return i.table_line}, value: lv_str}], usesTableLine: true, withKeySimple: {"table_line": lv_str}}); rv_yes.set(abap.builtin.boolc(abap.compare.eq(abap.builtin.sy.get().subrc, abap.IntegerFactory.get(0)))); return rv_yes; } async order_matches(INPUT) { let iv_line = INPUT?.iv_line; if (iv_line?.getQualifiedName === undefined || iv_line.getQualifiedName() !== "STRING") { iv_line = undefined; } if (iv_line === undefined) { iv_line = new abap.types.String({qualifiedName: "STRING"}).set(INPUT.iv_line); } let ct_matches = abap.types.TableFactory.construct(new abap.types.Structure({ "token": new abap.types.Character(1, {"qualifiedName":"zcl_abapgit_syntax_highlighter=>ty_match-token"}), "offset": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-OFFSET"}), "length": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-LENGTH"}), "text_tag": new abap.types.String({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-TEXT_TAG"})}, "zcl_abapgit_syntax_highlighter=>ty_match", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[]}, "zcl_abapgit_syntax_highlighter=>ty_match_tt"); if (INPUT && INPUT.ct_matches) {ct_matches = INPUT.ct_matches;} let lv_index = new abap.types.Integer({qualifiedName: "I"}); let lv_line_len = new abap.types.Integer({qualifiedName: "I"}); let lv_prev_token = new abap.types.Character(1, {}); let fs_ls_prev_ = new abap.types.FieldSymbol(new abap.types.Structure({ "token": new abap.types.Character(1, {"qualifiedName":"zcl_abapgit_syntax_highlighter=>ty_match-token"}), "offset": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-OFFSET"}), "length": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-LENGTH"}), "text_tag": new abap.types.String({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-TEXT_TAG"})}, "zcl_abapgit_syntax_highlighter=>ty_match", undefined, {}, {})); let fs_ls_match_ = new abap.types.FieldSymbol(new abap.types.Structure({ "token": new abap.types.Character(1, {"qualifiedName":"zcl_abapgit_syntax_highlighter=>ty_match-token"}), "offset": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-OFFSET"}), "length": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-LENGTH"}), "text_tag": new abap.types.String({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-TEXT_TAG"})}, "zcl_abapgit_syntax_highlighter=>ty_match", undefined, {}, {})); abap.statements.sort(ct_matches,{by: [{component: "offset"}]}); lv_line_len.set(abap.builtin.strlen({val: iv_line})); for await (const unique643 of abap.statements.loop(ct_matches)) { fs_ls_match_.assign(unique643); lv_index.set(abap.builtin.sy.get().tabix); if (abap.compare.eq(lv_prev_token, zcl_abapgit_syntax_abap.c_token.get().text) && abap.compare.ne(fs_ls_match_.get().token, zcl_abapgit_syntax_abap.c_token.get().text)) { await abap.statements.deleteInternal(ct_matches,{index: lv_index}); continue; } let unique644 = fs_ls_match_.get().token; if (abap.compare.eq(unique644, zcl_abapgit_syntax_abap.c_token.get().keyword)) { if (abap.compare.gt(fs_ls_match_.get().offset, abap.IntegerFactory.get(0)) && abap.compare.ca(abap.builtin.substring({val: iv_line, off: abap.operators.minus(fs_ls_match_.get().offset,abap.IntegerFactory.get(1)), len: abap.IntegerFactory.get(1)}), abap.CharacterFactory.get(2, '-<'))) { await abap.statements.deleteInternal(ct_matches,{index: lv_index}); continue; } } else if (abap.compare.eq(unique644, zcl_abapgit_syntax_abap.c_token.get().comment)) { fs_ls_match_.get().length.set(abap.operators.minus(lv_line_len,fs_ls_match_.get().offset)); await abap.statements.deleteInternal(ct_matches,{from: abap.operators.add(lv_index,abap.IntegerFactory.get(1))}); continue; } else if (abap.compare.eq(unique644, zcl_abapgit_syntax_abap.c_token.get().text)) { fs_ls_match_.get().text_tag.set(abap.builtin.substring({val: iv_line, off: fs_ls_match_.get().offset, len: fs_ls_match_.get().length})); if (abap.compare.eq(lv_prev_token, zcl_abapgit_syntax_abap.c_token.get().text)) { if (abap.compare.eq(fs_ls_match_.get().text_tag, fs_ls_prev_.get().text_tag)) { fs_ls_prev_.get().length.set(abap.operators.minus(abap.operators.add(fs_ls_match_.get().offset,fs_ls_match_.get().length),fs_ls_prev_.get().offset)); lv_prev_token.clear(); } else if (abap.compare.eq(fs_ls_prev_.get().text_tag, abap.CharacterFactory.get(1, '}')) && abap.compare.eq(fs_ls_match_.get().text_tag, abap.CharacterFactory.get(1, '{'))) { fs_ls_prev_.get().length.set(abap.operators.minus(abap.operators.minus(fs_ls_match_.get().offset,fs_ls_prev_.get().offset),abap.IntegerFactory.get(1))); fs_ls_prev_.get().offset.set(abap.operators.add(fs_ls_prev_.get().offset,abap.IntegerFactory.get(1))); lv_prev_token.clear(); } else if (abap.compare.eq(fs_ls_match_.get().text_tag, abap.CharacterFactory.get(1, '{'))) { fs_ls_prev_.get().length.set(abap.operators.minus(fs_ls_match_.get().offset,fs_ls_prev_.get().offset)); lv_prev_token.clear(); } else if (abap.compare.eq(fs_ls_prev_.get().text_tag, abap.CharacterFactory.get(1, '}'))) { fs_ls_prev_.get().length.set(abap.operators.minus(fs_ls_match_.get().offset,fs_ls_prev_.get().offset)); fs_ls_prev_.get().offset.set(abap.operators.add(fs_ls_prev_.get().offset,abap.IntegerFactory.get(1))); lv_prev_token.clear(); } await abap.statements.deleteInternal(ct_matches,{index: lv_index}); continue; } } lv_prev_token.set(fs_ls_match_.get().token); abap.statements.assign({target: fs_ls_prev_, source: fs_ls_match_}); } } async parse_line(INPUT) { let rt_matches = abap.types.TableFactory.construct(new abap.types.Structure({ "token": new abap.types.Character(1, {"qualifiedName":"zcl_abapgit_syntax_highlighter=>ty_match-token"}), "offset": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-OFFSET"}), "length": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-LENGTH"}), "text_tag": new abap.types.String({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-TEXT_TAG"})}, "zcl_abapgit_syntax_highlighter=>ty_match", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[]}, "zcl_abapgit_syntax_highlighter=>ty_match_tt"); let iv_line = INPUT?.iv_line; if (iv_line?.getQualifiedName === undefined || iv_line.getQualifiedName() !== "STRING") { iv_line = undefined; } if (iv_line === undefined) { iv_line = new abap.types.String({qualifiedName: "STRING"}).set(INPUT.iv_line); } let lv_index = new abap.types.Integer({qualifiedName: "I"}); let fs_ls_match_ = new abap.types.FieldSymbol(new abap.types.Structure({ "token": new abap.types.Character(1, {"qualifiedName":"zcl_abapgit_syntax_highlighter=>ty_match-token"}), "offset": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-OFFSET"}), "length": new abap.types.Integer({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-LENGTH"}), "text_tag": new abap.types.String({qualifiedName: "ZCL_ABAPGIT_SYNTAX_HIGHLIGHTER=>TY_MATCH-TEXT_TAG"})}, "zcl_abapgit_syntax_highlighter=>ty_match", undefined, {}, {})); rt_matches.set((await super.parse_line({iv_line: iv_line}))); for await (const unique645 of abap.statements.loop(rt_matches,{where: async (I) => {return abap.compare.eq(I.token, zcl_abapgit_syntax_abap.c_token.get().keyword);},topEquals: {"token": zcl_abapgit_syntax_abap.c_token.get().keyword}})) { fs_ls_match_.assign(unique645); lv_index.set(abap.builtin.sy.get().tabix); if (abap.compare.eq(abap.builtin.abap_false, (await this.is_keyword({iv_chunk: abap.builtin.substring({val: iv_line, off: fs_ls_match_.get().offset, len: fs_ls_match_.get().length})})))) { await abap.statements.deleteInternal(rt_matches,{index: lv_index}); } } return rt_matches; } } abap.Classes['ZCL_ABAPGIT_SYNTAX_ABAP'] = zcl_abapgit_syntax_abap; zcl_abapgit_syntax_abap.gt_keywords = abap.types.TableFactory.construct(new abap.types.String({qualifiedName: "STRING"}), {"withHeader":false,"keyType":"USER","primaryKey":{"name":"primary_key","type":"HASHED","isUnique":true,"keyFields":["TABLE_LINE"]},"secondary":[]}, ""); zcl_abapgit_syntax_abap.c_css = new abap.types.Structure({ "keyword": new abap.types.String({qualifiedName: "STRING"}), "text": new abap.types.String({qualifiedName: "STRING"}), "comment": new abap.types.String({qualifiedName: "STRING"})}, undefined, undefined, {}, {}); zcl_abapgit_syntax_abap.c_css.get().keyword.set('keyword'); zcl_abapgit_syntax_abap.c_css.get().text.set('text'); zcl_abapgit_syntax_abap.c_css.get().comment.set('comment'); zcl_abapgit_syntax_abap.c_token = new abap.types.Structure({ "keyword": new abap.types.Character(1, {}), "text": new abap.types.Character(1, {}), "comment": new abap.types.Character(1, {})}, undefined, undefined, {}, {}); zcl_abapgit_syntax_abap.c_token.get().keyword.set('K'); zcl_abapgit_syntax_abap.c_token.get().text.set('T'); zcl_abapgit_syntax_abap.c_token.get().comment.set('C'); zcl_abapgit_syntax_abap.c_regex = new abap.types.Structure({ "comment": new abap.types.String({qualifiedName: "STRING"}), "text": new abap.types.String({qualifiedName: "STRING"}), "keyword": new abap.types.String({qualifiedName: "STRING"})}, undefined, undefined, {}, {}); zcl_abapgit_syntax_abap.c_regex.get().comment.set('##|"|^\\*'); zcl_abapgit_syntax_abap.c_regex.get().text.set('`|\'|\\||\\{|\\}'); zcl_abapgit_syntax_abap.c_regex.get().keyword.set('&&|\\b[-_a-z0-9]+\\b'); await abap.Classes['ZCL_ABAPGIT_SYNTAX_ABAP'].class_constructor(); export {zcl_abapgit_syntax_abap}; |