{
"scope": "source.abp",
"completions":
[
"ABS",
"ACOS",
"ADD",
"ADD-CORRESPONDING",
"ADJACENT",
"AFTER",
"ALIASES",
"ALL",
"ANALYZER",
"AND",
"ANY",
"APPEND",
"APPENDING",
"AS",
"ASCENDING",
"ASIN",
"ASSERT",
"ASSIGN",
"ASSIGNED",
"ASSIGNING",
"AT",
"ATAN",
"AUTHORITY-CHECK",
"AVG",
"BACK",
"BASE",
"BEFORE",
"BEGIN",
"BINARY",
"BIT",
"BIT-AND",
"BIT-NOT",
"BIT-OR",
"BIT-XOR",
"BLANK",
"BLOCK",
"BOUND",
"BREAK-POINT",
"BUFFER",
"BY",
"CALL",
"CASE",
"CAST",
"CATCH",
"CEIL",
"CENTERED",
"CLASS",
"CLASS-DATA",
"CLASS-EVENTS",
"CLASS-METHODS",
"CLASS-POOL",
"CLEAR",
"CLIENT",
"CLOSE",
"CNT",
"CODE",
"COLLECT",
"COLOR",
"COMMENT",
"COMMIT",
"COMMUNICATION",
"COMPUTE",
"CONCATENATE",
"COND",
"CONV",
"CONDENSE",
"CONSTANTS",
"CONTEXT",
"CONTEXTS",
"CONTINUE",
"CONTROL",
"CONTROLS",
"CONVERSION",
"CONVERT",
"COPY",
"CORRESPONDING",
"COS",
"COSH",
"COUNT",
"COUNTRY",
"CREATE",
"CURRENCY",
"CURSOR",
"CUSTOMER-FUNCTION",
"DATA",
"DATABASE",
"DATASET",
"DECIMALS",
"DEFAULT",
"DEFINE",
"DEFINITION",
"DELETE",
"DELETING",
"DEMAND",
"DESCENDING",
"DESCRIBE",
"DIALOG",
"DISTINCT",
"DIV",
"DIVIDE",
"DIVIDE-CORRESPONDING",
"DO",
"DUPLICATES",
"DYNPRO",
"EDIT",
"EDITOR-CALL",
"ELSE",
"ELSEIF",
"ENCODING",
"END",
"ENDAT",
"ENDCASE",
"ENDCATCH",
"ENDCLASS",
"ENDDO",
"ENDEXEC",
"ENDFORM",
"ENDFUNCTION",
"ENDCHAIN",
"ENDIF",
"ENDINTERFACE",
"ENDLOOP",
"ENDMETHOD",
"ENDMODULE",
"END-OF-DEFINITION",
"END-OF-PAGE",
"END-OF-SELECTION",
"ENDON",
"ENDPROVIDE",
"ENDSELECT",
"ENDTRY",
"ENDWHILE",
"ENTRIES",
"ERRORS",
"EVENTS",
"EXCEPTIONS",
"EXCLUDING",
"EXEC",
"EXIT",
"EXIT-COMMAND",
"EXP",
"EXPONENT",
"EXPORT",
"EXPORTING",
"EXTENDED",
"EXTRACT",
"FETCH",
"FIELD",
"FIELD-GROUPS",
"FIELDS",
"FIELD-SYMBOLS",
"FIRST",
"FIND",
"FLOOR",
"FOR",
"FORM",
"FORMAT",
"FRAC",
"FRAME",
"FREE",
"FROM",
"FUNCTION",
"FUNCTION-POOL",
"GENERATE",
"GET",
"GROUP",
"HANDLER",
"HASHED",
"HEADER",
"HELP-ID",
"HELP-REQUEST",
"HIDE",
"HOTSPOT",
"CHAIN",
"CHANGE",
"CHANGING",
"CHECK",
"CHECKBOX",
"ICON",
"ID",
"IF",
"IGNORING",
"IMPLEMENTATION",
"IMPORT",
"IMPORTING",
"INCLUDE",
"INDEX",
"INFOTYPES",
"INITIALIZATION",
"INNER",
"INPUT",
"INSERT",
"INTENSIFIED",
"INTERFACE",
"INTERFACE-POOL",
"INTERFACES",
"INTO",
"INVERSE",
"JOIN",
"KEY",
"LANGUAGE",
"LAST",
"LEAVE",
"LEFT",
"LEFT-JUSTIFIED",
"LENGTH",
"LET",
"LIKE",
"LINE",
"LINE-COUNT",
"LINES",
"LINE-SELECTION",
"LINE-SIZE",
"LISTBOX",
"LIST-PROCESSING",
"LOAD",
"LOAD-OF-PROGRAM",
"LOCAL",
"LOCALE",
"LOG",
"LOG10",
"LOOP",
"LOWER",
"MARGIN",
"MASK",
"MATCHCODE",
"MAX",
"MEMORY",
"MESSAGE",
"MESSAGE-ID",
"MESSAGES",
"METHOD",
"METHODS",
"MIN",
"MOD",
"MODE",
"MODIF",
"MODIFY",
"MODULE",
"MOVE",
"MOVE-CORRESPONDING",
"MULTIPLY",
"MULTIPLY-CORRESPONDING",
"NEW",
"NEW-LINE",
"NEW-PAGE",
"NEXT",
"NO",
"NODES",
"NO-GAP",
"NO-GAPS",
"NO-HEADING",
"NON-UNIQUE",
"NO-SCROLLING",
"NO-SIGN",
"NO-TITLE",
"NO-ZERO",
"OBJECT",
"OBLIGATORY",
"OCCURS",
"OF",
"OFF",
"ON",
"OPEN",
"OR",
"ORDER",
"OTHERS",
"OUTER",
"OUTPUT",
"OVERLAY",
"PACK",
"PAGE",
"PARAMETER",
"PARAMETERS",
"PERFORM",
"PF-STATUS",
"POSITION",
"PRINT",
"PRINT-CONTROL",
"PRIVATE",
"PROCESS",
"PROGRAM",
"PROPERTY",
"PROTECTED",
"PROVIDE",
"PUBLIC",
"PUT",
"RADIOBUTTON",
"RAISE",
"RAISING",
"RANGE",
"RANGES",
"READ",
"RECEIVE",
"RECEIVING",
"REFRESH",
"REQUEST",
"REJECT",
"REPLACE",
"REPORT",
"REQUESTED",
"RESERVE",
"RESET",
"RESULT",
"RETURN",
"RIGHT",
"RIGHT-JUSTIFIED",
"ROLLBACK",
"ROUND",
"ROWS",
"RTTI",
"RUN",
"SCAN",
"SCREEN",
"SCROLL",
"SCROLL-BOUNDARY",
"SEARCH",
"SEARCH",
"SELECT",
"SELECTION-SCREEN",
"SELECTION-TABLE",
"SELECT-OPTIONS",
"SEPARATED",
"SET",
"SHARED",
"SHIFT",
"SIGN",
"SIN",
"SINGLE",
"SINH",
"SIZE",
"SKIP",
"SORT",
"SORTED",
"SOURCE",
"SPLIT",
"SQL",
"SQRT",
"STAMP",
"STANDARD",
"START-OF-SELECTION",
"STATICS",
"STOP",
"string",
"STRLEN",
"STRUCTURE",
"SUBMIT",
"SUBTRACT",
"SUBTRACT-CORRESPONDING",
"SUM",
"SUPPLY",
"SUPPRESS",
"SYMBOL",
"SYNTAX-CHECK",
"SYNTAX-TRACE",
"SYSTEM-CALL",
"SYSTEM-EXCEPTIONS",
"TAB",
"TABBED",
"TABLE",
"TABLE_LINE",
"TABLES",
"TAN",
"TANH",
"TEXT",
"TEXTPOOL",
"THEN",
"THROW",
"TIME",
"TIMES",
"TITLE",
"TITLEBAR",
"TO",
"TOP-OF-PAGE",
"TRAILING",
"TRANSACTION",
"TRANSFER",
"TRANSFORMATION",
"TRANSLATE",
"TRANSPORTING",
"TRUNC",
"TRY",
"TYPE",
"TYPE-POOL",
"TYPE-POOLS",
"TYPES",
"ULINE",
"UNASSIGN",
"UNDER",
"UNIQUE",
"UNIT",
"UNPACK",
"UP",
"UPDATE",
"UPPER",
"USER-COMMAND",
"USING",
"VALUE",
"VALUE-REQUEST",
"VALUES",
"VARY",
"WHEN",
"WHERE",
"WHILE",
"WINDOW",
"VISIBLE",
"WITH",
"WITH-TITLE",
"WORK",
"WRITE",
"XML",
"XSTRING",
"ZONE",
"screen-active",
"screen-group1",
"screen-group2",
"screen-group3",
"screen-group4",
"screen-input",
"screen-intensified",
"screen-invisible",
"screen-length",
"screen-name",
"screen-output",
"screen-required",
"sy-abcde",
"sy-appli",
"sy-batch",
"sy-batzd",
"sy-batzm",
"sy-batzo",
"sy-batzs",
"sy-batzw",
"sy-binpt",
"sy-brep4",
"sy-bspld",
"sy-calld",
"sy-callr",
"sy-ccurs",
"sy-ccurt",
"sy-cdate",
"sy-cfwae",
"sy-colno",
"sy-cpage",
"sy-cprog",
"sy-ctabl",
"sy-ctype",
"sy-cucol",
"sy-curow",
"sy-datar",
"sy-datlo",
"sy-datum",
"sy-dayst",
"sy-dbcnt",
"sy-dbnam",
"sy-dbsys",
"sy-dcsys",
"sy-debug",
"sy-dsnam",
"sy-dyngr",
"sy-dynnr",
"sy-entry",
"sy-fdayw",
"sy-fdpos",
"sy-ffile",
"sy-fleng",
"sy-fmkey",
"sy-fodec",
"sy-folen",
"sy-ftype",
"sy-group",
"sy-host",
"sy-chwae",
"sy-index",
"sy-input",
"sy-langu",
"sy-ldbpg",
"sy-lilli",
"sy-linct",
"sy-linno",
"sy-linsz",
"sy-lisel",
"sy-listi",
"sy-locdb",
"sy-locop",
"sy-loopc",
"sy-lpass",
"sy-lsind",
"sy-lstat",
"sy-macdb",
"sy-macol",
"sy-mandt",
"sy-marky",
"sy-marow",
"sy-modno",
"sy-msgid",
"sy-msgli",
"sy-msgno",
"sy-msgty",
"sy-msgv1",
"sy-msgv2",
"sy-msgv3",
"sy-msgv4",
"sy-newpa",
"sy-nrpag",
"sy-oncom",
"sy-opsys",
"sy-paart",
"sy-pagct",
"sy-pagno",
"sy-pauth",
"sy-pdest",
"sy-pexpi",
"sy-pfkey",
"sy-playo",
"sy-playp",
"sy-plist",
"sy-pnwpa",
"sy-prabt",
"sy-prbig",
"sy-prcop",
"sy-prdsn",
"sy-prefx",
"sy-pri40",
"sy-primm",
"sy-prini",
"sy-prlog",
"sy-prnew",
"sy-prrec",
"sy-prrel",
"sy-prtxt",
"sy-repi2",
"sy-repid",
"sy-rstrt",
"sy-rtitl",
"sy-saprl",
"sy-scols",
"sy-sfnam",
"sy-sfoff",
"sy-slset",
"sy-spono",
"sy-sponr",
"sy-srows",
"sy-staco",
"sy-staro",
"sy-stepl",
"sy-subcs",
"sy-subrc",
"sy-subty",
"sy-sysid",
"sy-tabid",
"sy-tabix",
"sy-tcode",
"sy-tfdsn",
"sy-tfill",
"sy-timlo",
"sy-title",
"sy-tleng",
"sy-tlopc",
"sy-tmaxl",
"sy-tname",
"sy-toccu",
"sy-tpagi",
"sy-tstis",
"sy-ttabc",
"sy-ttabi",
"sy-tvar0",
"sy-tvar1",
"sy-tvar2",
"sy-tvar3",
"sy-tvar4",
"sy-tvar5",
"sy-tvar6",
"sy-tvar7",
"sy-tvar8",
"sy-tvar9",
"sy-tzone",
"sy-ucomm",
"sy-uline",
"sy-uname",
"sy-uzeit",
"sy-vline",
"sy-waers",
"sy-willi",
"sy-winco",
"sy-windi",
"sy-winro",
"sy-winsl",
"sy-winx1",
"sy-winx2",
"sy-winy1",
"sy-winy2",
"sy-wtitl",
"sy-xcode",
"sy-xform",
"sy-xprog",
"sy-zonlo",
"null",
"space",
"col_background",
"col_group",
"col_heading",
"col_key",
"col_negative",
"col_normal",
"col_positive",
"col_total",
"INITIAL",
"BETWEEN",
"CA",
"CN",
"CO",
"CP",
"CS",
"EQ",
"GE",
"GT",
"IN",
"IS",
"LE",
"LT",
"NA",
"NE",
"NOT",
"NP",
"NS",
"association",
"businessobject",
"element",
"node"
]
}
fileTypes
abp
abap
cds
name
ABAP
patterns
comment
--==[[ comment line ]]==--
match
(").*$
name
comment.line.abp
comment
--==[[ comment block ]]==--
match
^(\*).*$
name
comment.block.abp
comment
--==[[ text-xxx ]]==--
match
(?i)(^|\s)\b(text)-([0-9a-zA-Z]{3})\b
name
constant.character.escape.abp
comment
--==[[ numbers ]]==--
match
\b((0(x|X)[0-9a-fA-F]+)|([0-9]+(\.[0-9]+)?))\b
name
constant.numeric.abp
comment
--==[[ string constants ]]==--
begin
'
beginCaptures
0
name
punctuation.definition.string.begin.abp
end
'
endCaptures
0
name
punctuation.definition.string.end.abp
name
string.quoted.single.abp
comment
--==[[ multi-word keywords ]]==--
match
(?i)(^|\s)(ADD-CORRESPONDING|AUTHORITY-CHECK|BIT-AND|BIT-NOT|BIT-OR|BIT-XOR|BREAK-POINT|CLASS-DATA|CLASS-EVENTS|CLASS-METHODS|CLASS-POOL|DIVIDE-CORRESPONDING|EDITOR-CALL|END-OF-DEFINITION|END-OF-PAGE|END-OF-SELECTION|EXIT-COMMAND|FIELD-GROUPS|FIELD-SYMBOLS|FUNCTION-POOL|HELP-ID|HELP-REQUEST|INTERFACE-POOL|LEFT-JUSTIFIED|LINE-COUNT|LINE-SELECTION|LINE-SIZE|LIST-PROCESSING|LOAD-OF-PROGRAM|MESSAGE-ID|MOVE-CORRESPONDING|MULTIPLY-CORRESPONDING|NEW-LINE|NEW-PAGE|NO-GAPS|NO-GAP|NO-HEADING|NON-UNIQUE|NO-SCROLLING|NO-SIGN|NO-TITLE|NO-ZERO|OUTPUT-LENGTH|PF-STATUS|PRINT-CONTROL|RIGHT-JUSTIFIED|SCROLL-BOUNDARY|SELECTION-SCREEN|SELECTION-TABLE|SELECT-OPTIONS|START-OF-SELECTION|SUBTRACT-CORRESPONDING|SYNTAX-CHECK|SYNTAX-TRACE|SYSTEM-CALL|SYSTEM-EXCEPTIONS|TOP-OF-PAGE|TYPE-POOLS|TYPE-POOL|USER-COMMAND|VALUE-REQUEST|WITH-TITLE)
name
keyword.control.abp
captures
1
name
storage.type.abp
2
name
entity.name.function.abp
comment
--==[[ name of FORM/FUNCTION ]]==--
match
(?i)\b(FORM|FUNCTION)\b\s+([a-zA-Z_$]\w*)
name
entity.name.function.abp
captures
1
name
storage.type.abp
2
name
entity.name.function.abp
comment
--==[[ name of METHOD followed by dot (this excludes CALL METHOD) ]]==--
match
(?i)\b(METHOD)\b\s+([a-zA-Z_$]\w*(?=\s*.\s*$))
name
entity.name.function.abp
captures
1
name
storage.type.abp
2
name
entity.name.type.instance.abp
3
name
keyword.control.abp
comment
--==[[ name of CLASS followed by DEFINITION or IMPLEMENTATION suffix ]]==--
match
(?i)\b(CLASS)\b\s+([a-zA-Z_$]\w*)\s+\b(DEFINITION|IMPLEMENTATION)\b
name
entity.name.type.instance.abp
captures
1
name
storage.type.abp
2
name
entity.name.type.instance.abp
3
name
keyword.control.abp
comment
--==[[ name of MODULE followed by INPUT or OUTPUT suffix ]]==--
match
(?i)\b(MODULE)\b\s+([a-zA-Z_$]\w*)\s+\b(INPUT|OUTPUT)\b
name
entity.name.type.instance.abp
comment
--==[[ CALL command ]]==--
match
(?i)(^|\s)\b(CALL)\b\s+\b(METHOD|FUNCTION|CUSTOMER-FUNCTION|SCREEN|TRANSACTION)\b
name
storage.type.abp
comment
--==[[ CREATE OBJECT command ]]==--
match
(?i)(^|\s)(CREATE)\s+(OBJECT)
name
storage.type.abp
comment
--==[[ END of "subroutines" + PERFORM/SUBMIT ]]==--
match
(?i)(^|\s)\b(ENDFORM|ENDFUNCTION|ENDCLASS|ENDMETHOD|ENDMODULE|PERFORM|SUBMIT)\b(?!(\s*=|\(|\s*LIKE|\s*TYPE))
name
storage.type.abp
comment
--==[[ basic data types ]]==--
match
(?i)(^|\s)\b(TYPE)\b\s+\b(C|D|F|I|N|P|T|X)\b
name
keyword.control.abp
comment
--==[[ SCREEN variables ]]==--
match
(?i)(^|\s)\b(SCREEN-ACTIVE|SCREEN-GROUP1|SCREEN-GROUP2|SCREEN-GROUP3|SCREEN-GROUP4|SCREEN-INPUT|SCREEN-INTENSIFIED|SCREEN-INVISIBLE|SCREEN-LENGTH|SCREEN-NAME|SCREEN-OUTPUT|SCREEN-REQUIRED)\b
name
constant.character.escape.abp
comment
--==[[ system variables ]]==--
match
(?i)(^|\s)\b(SY-ABCDE|SY-APPLI|SY-BATCH|SY-BATZD|SY-BATZM|SY-BATZO|SY-BATZS|SY-BATZW|SY-BINPT|SY-BREP4|SY-BSPLD|SY-CALLD|SY-CALLR|SY-CCURS|SY-CCURT|SY-CDATE|SY-CFWAE|SY-COLNO|SY-CPAGE|SY-CPROG|SY-CTABL|SY-CTYPE|SY-CUCOL|SY-CUROW|SY-DATAR|SY-DATLO|SY-DATUM|SY-DAYST|SY-DBCNT|SY-DBNAM|SY-DBSYS|SY-DCSYS|SY-DEBUG|SY-DSNAM|SY-DYNGR|SY-DYNNR|SY-ENTRY|SY-FDAYW|SY-FDPOS|SY-FFILE|SY-FLENG|SY-FMKEY|SY-FODEC|SY-FOLEN|SY-FTYPE|SY-GROUP|SY-HOST|SY-CHWAE|SY-INDEX|SY-INPUT|SY-LANGU|SY-LDBPG|SY-LILLI|SY-LINCT|SY-LINNO|SY-LINSZ|SY-LISEL|SY-LISTI|SY-LOCDB|SY-LOCOP|SY-LOOPC|SY-LPASS|SY-LSIND|SY-LSTAT|SY-MACDB|SY-MACOL|SY-MANDT|SY-MARKY|SY-MAROW|SY-MODNO|SY-MSGID|SY-MSGLI|SY-MSGNO|SY-MSGTY|SY-MSGV1|SY-MSGV2|SY-MSGV3|SY-MSGV4|SY-NEWPA|SY-NRPAG|SY-ONCOM|SY-OPSYS|SY-PAART|SY-PAGCT|SY-PAGNO|SY-PAUTH|SY-PDEST|SY-PEXPI|SY-PFKEY|SY-PLAYO|SY-PLAYP|SY-PLIST|SY-PNWPA|SY-PRABT|SY-PRBIG|SY-PRCOP|SY-PRDSN|SY-PREFX|SY-PRI40|SY-PRIMM|SY-PRINI|SY-PRLOG|SY-PRNEW|SY-PRREC|SY-PRREL|SY-PRTXT|SY-REPI2|SY-REPID|SY-RSTRT|SY-RTITL|SY-SAPRL|SY-SCOLS|SY-SFNAM|SY-SFOFF|SY-SLSET|SY-SPONO|SY-SPONR|SY-SROWS|SYST-ABCDE|SY-STACO|SYST-APPLI|SY-STARO|SYST-BATCH|SYST-BATZD|SYST-BATZM|SYST-BATZO|SYST-BATZS|SYST-BATZW|SYST-BINPT|SYST-BREP4|SYST-BSPLD|SYST-CALLD|SYST-CALLR|SYST-CCURS|SYST-CCURT|SYST-CDATE|SYST-CFWAE|SYST-COLNO|SYST-CPAGE|SYST-CPROG|SYST-CTABL|SYST-CTYPE|SYST-CUCOL|SYST-CUROW|SYST-DATAR|SYST-DATLO|SYST-DATUM|SYST-DAYST|SYST-DBCNT|SYST-DBNAM|SYST-DBSYS|SYST-DCSYS|SYST-DEBUG|SYST-DSNAM|SYST-DYNGR|SYST-DYNNR|SYST-ENTRY|SY-STEPL|SYST-FDAYW|SYST-FDPOS|SYST-FFILE|SYST-FLENG|SYST-FMKEY|SYST-FODEC|SYST-FOLEN|SYST-FTYPE|SYST-GROUP|SYST-HOST|SYST-CHWAE|SYST-INDEX|SYST-INPUT|SYST-LANGU|SYST-LDBPG|SYST-LILLI|SYST-LINCT|SYST-LINNO|SYST-LINSZ|SYST-LISEL|SYST-LISTI|SYST-LOCDB|SYST-LOCOP|SYST-LOOPC|SYST-LPASS|SYST-LSIND|SYST-LSTAT|SYST-MACDB|SYST-MACOL|SYST-MANDT|SYST-MARKY|SYST-MAROW|SYST-MODNO|SYST-MSGID|SYST-MSGLI|SYST-MSGNO|SYST-MSGTY|SYST-MSGV1|SYST-MSGV2|SYST-MSGV3|SYST-MSGV4|SYST-NEWPA|SYST-NRPAG|SYST-ONCOM|SYST-OPSYS|SYST-PAART|SYST-PAGCT|SYST-PAGNO|SYST-PAUTH|SYST-PDEST|SYST-PEXPI|SYST-PFKEY|SYST-PLAYO|SYST-PLAYP|SYST-PLIST|SYST-PNWPA|SYST-PRABT|SYST-PRBIG|SYST-PRCOP|SYST-PRDSN|SYST-PREFX|SYST-PRI40|SYST-PRIMM|SYST-PRINI|SYST-PRLOG|SYST-PRNEW|SYST-PRREC|SYST-PRREL|SYST-PRTXT|SYST-REPI2|SYST-REPID|SYST-RSTRT|SYST-RTITL|SYST-SAPRL|SYST-SCOLS|SYST-SFNAM|SYST-SFOFF|SYST-SLSET|SYST-SPONO|SYST-SPONR|SYST-SROWS|SYST-STACO|SYST-STARO|SYST-STEPL|SYST-SUBCS|SYST-SUBRC|SYST-SUBTY|SYST-SYSID|SYST-TABID|SYST-TABIX|SYST-TCODE|SYST-TFDSN|SYST-TFILL|SYST-TIMLO|SYST-TITLE|SYST-TLENG|SYST-TLOPC|SYST-TMAXL|SYST-TNAME|SYST-TOCCU|SYST-TPAGI|SYST-TSTIS|SYST-TTABC|SYST-TTABI|SYST-TVAR0|SYST-TVAR1|SYST-TVAR2|SYST-TVAR3|SYST-TVAR4|SYST-TVAR5|SYST-TVAR6|SYST-TVAR7|SYST-TVAR8|SYST-TVAR9|SYST-TZONE|SYST-UCOMM|SYST-ULINE|SYST-UNAME|SYST-UZEIT|SYST-VLINE|SYST-WAERS|SYST-WILLI|SYST-WINCO|SYST-WINDI|SYST-WINRO|SYST-WINSL|SYST-WINX1|SYST-WINX2|SYST-WINY1|SYST-WINY2|SYST-WTITL|SYST-XCODE|SYST-XFORM|SYST-XPROG|SYST-ZONLO|SY-SUBCS|SY-SUBRC|SY-SUBTY|SY-SYSID|SY-TABID|SY-TABIX|SY-TCODE|SY-TFDSN|SY-TFILL|SY-TIMLO|SY-TITLE|SY-TLENG|SY-TLOPC|SY-TMAXL|SY-TNAME|SY-TOCCU|SY-TPAGI|SY-TSTIS|SY-TTABC|SY-TTABI|SY-TVAR0|SY-TVAR1|SY-TVAR2|SY-TVAR3|SY-TVAR4|SY-TVAR5|SY-TVAR6|SY-TVAR7|SY-TVAR8|SY-TVAR9|SY-TZONE|SY-UCOMM|SY-ULINE|SY-UNAME|SY-UZEIT|SY-VLINE|SY-WAERS|SY-WILLI|SY-WINCO|SY-WINDI|SY-WINRO|SY-WINSL|SY-WINX1|SY-WINX2|SY-WINY1|SY-WINY2|SY-WTITL|SY-XCODE|SY-XFORM|SY-XPROG|SY-ZONLO|sylangu|$projection)\b
name
constant.character.escape.abp
comment
--== functions/keywords followed by ( _argument_ ) ==--
match
(?i)(^|\s)\b(ABS|ACOS|ASIN|ATAN|COS|COSH|COUNT|CEIL|EXP|FLOOR|FRAC|LINES|LOG10|LOG|MAX|MIN|NMAX|NMIN|RESCALE|ROUND|SIN|SINH|SIGN|SQRT|STRLEN|SUM|TAN|TANH|TRUNC)\b(?=\()
name
keyword.control.abp
comment
--== keyword OTHERS ==--
match
(?i)(^|\s)\b(OTHERS)\b(?!(\(|\s*LIKE|\s*TYPE))
name
keyword.control.abp
comment
--==[[ simple keywords ]]==--
match
(?i)(^|\s)\b(ADD|ADJACENT|ASSERT|AFTER|ALIASES|ALL|ANALYZER|AND|ANY|APPEND|APPENDING|AS|ASCENDING|ASSIGN|ASSIGNED|ASSIGNING|AT|AVG|BACK|BASE|BEFORE|BEGIN|BINARY|BIT|BLANK|BLOCK|BUFFER|BY|CALL|CASE|CAST|CATCH|CENTERED|CLEAR|CLIENT|CLOSE|CNT|CODE|COLLECT|COLOR|COMMENT|COMMIT|COMMUNICATION|COMPARING|COMPUTE|CONCATENATE|COND|CONV|CONDENSE|CONSTANTS|CONTEXT|CONTEXTS|CONTINUE|CONTROL|CONTROLS|CONVERSION|CONVERT|COPY|CORRESPONDING|COUNTRY|CREATE|CURRENCY|CURSOR|DATA|DATABASE|DATASET|DECIMALS|DEFAULT|DEFINE|DEFINITION|DELETE|DELETING|DEMAND|DESCENDING|DESCRIBE|DIALOG|DISTINCT|DIV|DIVIDE|DO|DUPLICATES|DYNPRO|EDIT|ELSE|ELSEIF|ENCODING|END|ENDAT|ENDCASE|ENDCATCH|ENDDO|ENDEXEC|ENDCHAIN|ENDIF|ENDING|ENDINTERFACE|ENDLOOP|ENDON|ENDPROVIDE|ENDSELECT|ENDTRY|ENDWHILE|ENTRIES|ERRORS|EVENT|EVENTS|EXCEPTIONS|EXEC|EXIT|EXCLUDING|EXPONENT|EXPORT|EXPORTING|EXTENDED|EXTRACT|FETCH|FIELD|FIELDS|FIND|FIRST|FOR|FORMAT|FRAME|FREE|FROM|FUNCTION|GENERATE|GET|GROUP|HANDLER|HASHED|HEADER|HEADING|HIDE|HOTSPOT|CHAIN|CHANGE|CHANGING|CHECK|CHECKBOX|ICON|ID|IF|IGNORING|IMPLEMENTATION|IMPORT|IMPORTING|INCLUDE|INDEX|INFOTYPES|INITIALIZATION|INNER|INPUT|INSERT|INTENSIFIED|INTERFACE|INTERFACES|INTERVALS|INTO|INVERSE|JOIN|KEY|LANGUAGE|LAST|LEAVE|LEFT|LENGTH|LET|LIKE|LINE|LINES|LISTBOX|LOAD|LOCAL|LOCALE|LOOP|LOWER|MARGIN|MASK|MATCHCODE|MEMORY|MESSAGE|MESSAGES|METHODS|MOD|MODE|MODIF|MODIFY|MOVE|MULTIPLY|NEW|NEXT|NO|NODES|NUMBER|OBJECT|OBLIGATORY|OCCURS|OCCURRENCES|OF|OFF|ON|OPEN|OR|ORDER|OUTER|OUTPUT|OVERLAY|PACK|PAGE|PARAMETER|PARAMETERS|POSITION|PRINT|PRIVATE|PROCESS|PROGRAM|PROPERTY|PROTECTED|PROVIDE|PUBLIC|PUT|RADIOBUTTON|RAISE|RAISING|RANGE|RANGES|READ|RECEIVE|RECEIVING|REDUCE|REF|REFRESH|REJECT|REPLACE|REPORT|REQUESTED|RESERVE|RESET|RESULT|RETURN|RIGHT|ROLLBACK|ROWS|RTTI|RUN|SCAN|SCREEN|SCROLL|SEARCH|SEARCH|SECONDS|SELECT|SECTION|SEPARATED|SET|SHARED|SHIFT|SINGLE|SIZE|SKIP|SORT|SORTED|SOURCE|SPLIT|SQL|STABLE|STAMP|STANDARD|STARTING|STATICS|STOP|STRING|STRUCTURE|SUBMIT|SUBTRACT|SUM|SUPPLIED|SUPPLY|SUPPRESS|SYMBOL|TAB|TABBED|TABLE|TABLE_LINE|TABLES|TEXT|TEXTPOOL|THEN|THROW|TIME|TIMES|TITLE|TITLEBAR|TO|TRANSACTION|TRANSFER|TRANSLATE|TRANSPORTING|TRANSFORMATION|TRAILING|TRY|TYPE|TYPES|ULINE|UNASSIGN|UNDER|UNIQUE|UNIT|UNPACK|UP|UPDATE|UPPER|USING|VALUE|VALUES|VARY|VIEW|WAIT|WHEN|WHERE|WHILE|WINDOW|VISIBLE|WITH|WORK|WRITE|XSTRING|ZONE|businessobject|element|node|association|message|raises|#CHECK|#SYSTEM_LANGUAGE)\b(?!(\s*=|\(|\s*LIKE|\s*TYPE))
name
keyword.control.abp
comment
--==[[ operators etc. ]]==--
match
(?i)(^|\s)\b(BETWEEN|BOUND|CA|CN|CO|CP|CS|EQ|GE|GT|IN|IS|LE|LT|NA|NE|NOT|NP|NS|INITIAL|NULL|SPACE)\b(?!(\s*=|\(|\s*LIKE|\s*TYPE))
name
keyword.control.abp
comment
--==[[ color constants ]]==--
match
(?i)(^|\s)\b(COL_BACKGROUND|COL_GROUP|COL_HEADING|COL_KEY|COL_NEGATIVE|COL_NORMAL|COL_POSITIVE|COL_TOTAL)\b(?!(\s*=|\(|\s*LIKE|\s*TYPE))
name
constant.character.escape.abp
comment
--==[[ Jerry's CDS view related ]]==--
match
(#CHECK|#SYSTEM_LANGUAGE|#TO_COMPOSITION_CHILD|)
name
constant.character.escape.abp
scopeName
source.abp
uuid
ef285400-faf7-4f1a-9bf6-8dd000c9c9d1