////////////////////////////////////////////////////////////////////////////// // // ABAP/4 highlighter for ConTEXT v1.0 beta // *** 30/08/2001 Vic *** // *** 27/06/2007 Oli *** // Public Domain // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// // language name Language: ABAP/4 ////////////////////////////////////////////////////////////////////////////// // default file filter // note: if more than one extension is associated, eg: // C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp Filter: ABAP/4 files (*.abp,*.abap)|*.abp;*.abap ////////////////////////////////////////////////////////////////////////////// // help file which will be invokend when F1 is pressed HelpFile: ////////////////////////////////////////////////////////////////////////////// // language case sensitivity // 0 - no // 1 - yes CaseSensitive: 0 ////////////////////////////////////////////////////////////////////////////// // comment type: LineComment - comment to the end of line // BlockCommentBeg - block comment begin, it could be // multiline // BlockCommentEnd - block comment end LineComment: " * BlockCommentBeg: BlockCommentEnd: ////////////////////////////////////////////////////////////////////////////// // identifier characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char IdentifierBegChars: a..z A..Z _ IdentifierChars: a..z A..Z _- 0..9 ? ////////////////////////////////////////////////////////////////////////////// // numeric constants begin characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstBegChars: 0..9 ////////////////////////////////////////////////////////////////////////////// // numeric constants characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstChars: 0..9 abcdefhABCDEFH ////////////////////////////////////////////////////////////////////////////// // escape character EscapeChar: ////////////////////////////////////////////////////////////////////////////// // keyword table // note: delimited with spaces, lines could be wrapped // you may divide keywords into two groups which can be // highlighted differently KeyWords1: ABS ACOS ADD ADD-CORRESPONDING ADJACENT ANALYZER APPEND AS ASIN ASSIGN AT ATAN AUTHORITY-CHECK AVG BACK BEGIN BINARY BLANK BLOCK BREAK-POINT BY CALL CASE CEIL CENTERED CHANGE CHECK CHECKBOX CLEAR CLIENT CLOSE CNT CODE COLLECT COLOR COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROL CONTROLS CONVERT COPY COS COSH COUNT COUNTRY CREATE CURRENCY CURSOR CUSTOMER-FUNCTION DATA DATABASE DATASET DECIMALS DEFAULT DEFINE DELETE DESCRIBE DIALOG DISTINCT DIV DIVIDE DIVIDE-CORRESPONDING DO DUPLICATES DYNPRO EDITOR-CALL ELSE ELSEIF END END-OF-DEFINITION END-OF-PAGE END-OF-SELECTION ENDAT ENDCASE ENDDO ENDFORM ENDFUNCTION ENDIF ENDLOOP ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDWHILE EXCEPTIONS EXEC EXIT EXP EXPONENT EXPORT EXPORTING EXTENDED EXTRACT FETCH FIELD FIELD-GROUPS FIELD-SYMBOLS FIRST FLOOR FOR FORM FORMAT FRAC FRAME FREE FROM FUNCTION FUNCTION-POOL GENERATE GET HELP-REQUEST HIDE HOTSPOT ICON ID IF IMPORT IMPORTING INCLUDE INDEX INFOTYPES INITIALIZATION INPUT INSERT INTENSIFIED INTO INVERSE LANGUAGE LAST LEAVE LEFT-JUSTIFIED LIKE LINE LINE-COUNT LINE-SIZE LINES LIST-PROCESSING LOAD LOCAL LOCALE LOG LOG10 LOOP MARGIN MATCHCODE MAX MEMORY MESSAGE MESSAGE-ID MESSAGES MIN MOD MODE MODIFY MODULE MOVE MOVE-CORRESPONDING MULTIPLY MULTIPLY-CORRESPONDIN NEW NEW-LINE NEW-PAGE NO-GAP NO-HEADING NO-SCROLLING NO-SIGN NO-TITLE NO-ZERO OBJECT OBLIGATORY OCCURS OF OFF ON OPEN ORDER OUTPUT OVERLAY PACK PAGE PARAMETER PARAMETERS PERFORM PF-STATUS POSITION PRINT PRINT-CONTROL PROGRAM PROPERTY PROVIDE PUT RADIOBUTTON RAISE RAISING RANGES READ RECEIVE REFRESH REJECT REPLACE REPORT RESERVE RESET RETURN RIGHT-JUSTIFIED ROLLBACK ROUND RUN SCAN SCREEN SCROLL SCROLL-BOUNDARY SEARCH SELECT SELECT-OPTIONS SELECTION-SCREEN SELECTION-SET SELECTION-SETS SELECTION-TABLE SET SHIFT SIGN SIN SINGLE SINH SKIP SORT SPECIFIED SPLIT SQL SQRT START-OF-SELECTION STATICS STOP STRLEN STRUCTURE SUBMIT SUBTRACT SUBTRACT-CORRESPONDIN SUM SUPPRESS SYMBOL SYNTAX-CHECK SYNTAX-TRACE TABLE TABLES TAN TANH TEXT TEXTPOOL TIME TITLE TITLEBAR TO TOP-OF-PAGE TRANSACTION TRANSFER TRANSLATE TRANSPORTING TRUNC TYPE TYPE-POOL TYPE-POOLS TYPES ULINE UNDER UNIT UNPACK UPDATE USER-COMMAND USING VALUE VALUE-REQUEST VIA WHEN WHERE WHILE WINDOW WITH WITH-TITLE WORK WRITE KeyWords2: COL_BACKGROUND COL_GROUP COL_HEADING COL_KEY COL_NEGATIVE COL_NORMAL COL_POSITIVE COL_TOTAL 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-CHWAE 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-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 KeyWords3: * ** + - / < <= <> = =< => > >< >= AND BETWEEN CA CN CO CP CS EQ GE GT IN INITIAL IS LE LT M NA NE NOT NP NS O OR REQUESTED Z ////////////////////////////////////////////////////////////////////////////// // string delimiter: StringBegChar - string begin char // StringEndChar - string end char // MultilineStrings - enables multiline strings, as perl // has it StringBegChar: ' StringEndChar: ' MultilineStrings: 1 ////////////////////////////////////////////////////////////////////////////// // use preprocessor: 0 - no // 1 - yes // note: if yes, '#' and statements after it will be // highlighted with Preprocessor defined colors UsePreprocessor: 0 ////////////////////////////////////////////////////////////////////////////// // highlight line: 0 - no // 1 - yes // note: if yes, current line will be highlighted CurrLineHighlighted: 0 ////////////////////////////////////////////////////////////////////////////// // colors // note: first value is foreground, second is background color // and third (optional) represents font attribute: // B - bold // I - italic // U - underline // S - strike out // attributes can be combined: eg. B or BI // as value, it could be used any standard windows color: // clBlack, clMaroon, clGreen, clOlive, clNavy, // clPurple, clTeal, clGray, clSilver, clRed, clLime, // clYellow, clBlue, clFuchsia, clAqua, clLtGray, // clDkGray, clWhite, clScrollBar, clBackground, // clActiveCaption, clInactiveCaption, clMenu, clWindow, // clWindowFrame, clMenuText, clWindowText, clCaptionText, // clActiveBorder, clInactiveBorder, clAppWorkSpace, // clHighlight, clHighlightText, clBtnFace, clBtnShadow, // clGrayText, clBtnText, clInactiveCaptionText, // clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText, // clInfoBk // as value, it could be used hex numeric constant too: // $BBGGRR - BB: blue, GG: green, RR: red, eg: $FF6A00 SpaceCol: clWindowText clWindow Keyword1Col: clBlue clWindow Keyword2Col: clGreen clWindow Keyword3Col: clNavy clWindow IdentifierCol: clWindowText clWindow CommentCol: clGray clWindow NumberCol: clRed clWindow StringCol: clMaroon clWindow SymbolCol: clGray clWindow PreprocessorCol: clBlue clWindow SelectionCol: clWhite clNavy CurrentLineCol: clBlack clYellow