-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshBrushAbap.js
206 lines (202 loc) · 9.49 KB
/
shBrushAbap.js
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
203
204
205
206
/**
* Custom Brush for Syntax Hightlighting in Confluence (version 6.71 as of creation)
* Brush written by G.Back
*
* Brush @version
* 1.0.0 (June 25 2018)
*
* Credit to Alex Gorbatchev for SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
* Distributed under MIT License
*
*
*/
SyntaxHighlighter.brushes.Abap = function()
{
var keywords = 'ABAP-SOURCE ABBREVIATED ABSTRACT ACCEPT ACCEPTING' +
' ACCORDING ACTIVATION ACTUAL ADD ADD-CORRESPONDING' +
' ADJACENT AFTER ALIAS ALIASES ALIGN' +
' ALL ALLOCATE ANALYSIS ANALYZER AND' +
' ANY APPEND APPENDAGE APPENDING APPLICATION' +
' ARCHIVE AREA ARITHMETIC AS ASCENDING' +
' ASSERT ASSIGN ASSIGNED ASSIGNING AT' +
' ATTRIBUTES AUTHORITY AUTHORITY-CHECK AVG BACK' +
' BACKGROUND BACKUP BACKWARD BADI BEFORE' +
' BEGIN BETWEEN BIG BINARY BIT' +
' BIT-AND BIT-NOT BIT-OR BIT-XOR BLACK' +
' BLANK BLANKS BLOB BLOCK BLOCKS' +
' BLUE BOUND BOUNDARIES BOUNDS BOXED' +
' BREAK-POINT BT BUFFER BY BYPASSING' +
' BYTE BYTE-CA BYTE-CN BYTE-CO BYTE-CS' +
' BYTE-NA BYTE-NS BYTE-ORDER CA CALL' +
' CALLING CASE CASTING CATCH CENTER' +
' CENTERED CHAIN CHAIN-INPUT CHAIN-REQUEST CHANGE' +
' CHANGING CHAR-TO-HEX CHARACTER CHECK CHECKBOX' +
' CI_ CIRCULAR CLASS CLASS-CODING CLASS-DATA' +
' CLASS-EVENTS CLASS-METHODS CLASS-POOL CLEANUP CLEAR' +
' CLIENT CLOB CLOCK CLOSE CN CS' +
' CO 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' +
' CONCATENATE CONDENSE CONDITION CONNECT CONNECTION' +
' CONSTANTS CONTEXT CONTEXTS CONTINUE CONTROL' +
' CONTROLS CONVERSION CONVERT COPIES COPY' +
' CORRESPONDING COUNT COUNTRY COVER CP' +
' CPI CREATE CREATING CRITICAL CS' +
' CURRENCY CURRENT CURSOR CURSOR-SELECTION CUSTOMER' +
' CUSTOMER-FUNCTION DANGEROUS DATA DATABASE DATAINFO' +
' DATASET DATE DAYLIGHT DD/MM/YY DD/MM/YYYY' +
' DDMMYY DEALLOCATE DECIMALS DEFAULT DEFERRED' +
' DEFINE DEFINING DEFINITION DELETE DELETING' +
' DEMAND DEPARTMENT DESCENDING DESCRIBE DESTINATION' +
' DETAIL DIALOG DIRECTORY DISCONNECT DISPLAY' +
' DISPLAY-MODE DISTANCE DISTINCT DIV DIVIDE' +
' DIVIDE-CORRESPONDING DO DUMMY DUPLICATE DUPLICATES' +
' DURATION DURING DYNAMIC DYNPRO E' +
' EDIT EDITOR-CALL ELSE ELSEIF ENABLED' +
' ENABLING ENCODING END END-ENHANCEMENT-SECTION END-LINES' +
' END-OF-DEFINITION END-OF-FILE END-OF-PAGE END-OF-SELECTION ENDAT' +
' ENDCASE ENDCATCH ENDCHAIN ENDCLASS ENDDO' +
' ENDENHANCEMENT ENDEXEC ENDFORM ENDFUNCTION ENDIAN' +
' ENDIF ENDING ENDINTERFACE ENDLOOP ENDMETHOD' +
' ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDTRY' +
' ENDWHILE ENGINEERING ENHANCEMENT ENHANCEMENT-POINT ENHANCEMENT-SECTION' +
' ENHANCEMENTS ENTRIES ENTRY ENVIRONMENT EQ' +
' EQUIV ERRORMESSAGE ERRORS ESCAPE ESCAPING' +
' EVENT EVENTS EXACT EXCEPTION EXCEPTION-TABLE' +
' EXCEPTIONS EXCLUDE EXCLUDING EXEC EXECUTE' +
' EXISTS EXIT EXIT-COMMAND EXPAND EXPIRATION' +
' EXPLICIT EXPONENT EXPORT EXPORTING EXTENDED' +
' EXTENSION EXTRACT FETCH FIELD FIELD-GROUPS' +
' FIELD-SYMBOLS FIELDS FILE FILTER FILTER-TABLE' +
' FILTERS FINAL FIND FIRST FIRST-LINE' +
' FIXED-POINT FKEQ FKGE FLUSH FONT' +
' FOR FORM FORMAT FORWARD FOUND' +
' FRAME FRAMES FREE FRIENDS FROM' +
' FUNCTION FUNCTION-POOL FUNCTIONALITY FURTHER GAPS' +
' GE GENERATE GET GIVING GKEQ' +
' GKGE GLOBAL GREEN GROUP GROUPS' +
' GT HANDLE HANDLER HARMLESS HASHED' +
' HAVING HEAD-LINES HEADER HEADERS HEADING' +
' HELP-ID HELP-REQUEST HIDE HIGH HINT' +
' HOLD HOTSPOT I ICON ID' +
' IDENTIFICATION IDENTIFIER IDS IF IGNORING' +
' IMMEDIATELY IMPLEMENTATION IMPLEMENTATIONS IMPLICIT IMPORT' +
' IMPORTING IN INACTIVE INCL INCLUDE' +
' INCLUDES INCLUDING INCREMENT INDEX INDEX-LINE' +
' INFOTYPES INHERITING INIT INITIAL INITIALIZATION' +
' INNER INOUT INPUT INPUT INSERT' +
' INSTANCES 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' +
' LE LEADING LEAVE LEFT LEFT-JUSTIFIED' +
' LEFTPLUS LEFTSPACE LEGACY LENGTH LEVEL' +
' LEVELS LIKE LINE LINE-COUNT LINE-SELECTION' +
' LINE-SIZE LINEFEED LINES LIST LIST-PROCESSING' +
' LISTBOX LITTLE LOAD LOAD-OF-PROGRAM LOB' +
' LOCAL LOCALE LOCATOR LOG-POINT LOGFILE' +
' LOGICAL LONG LOOP LOW LOWER' +
' LPI LT M MAIL MAIN' +
' MAJOR-ID MARGIN MARK MASK MATCH' +
' MATCHCODE MAX MAXIMUM MEDIUM MEMORY' +
' MESSAGE MESSAGE-ID MESSAGES METHOD METHODS' +
' MIN MINIMUM MINOR-ID MM/DD/YY MM/DD/YYYY' +
' MMDDYY MOD MODE MODIF MODIFIER' +
' MODIFY MODULE MOVE MOVE-CORRESPONDING MULTIPLY' +
' MULTIPLY-CORRESPONDING NA NAME NAMETAB NATIVE' +
' NB NE NESTING NEW NEW-LINE' +
' NEW-PAGE NEW-SECTION NEXT NO NO-DISPLAY' +
' NO-EXTENSION NO-GAP NO-GAPS NO-GROUPING NO-HEADING' +
' NO-SCROLLING NO-SIGN NO-TITLE NO-TOPOFPAGE NO-ZERO' +
' NODE NODES NON-UNICODE NON-UNIQUE NOT' +
' NP NS NULL NUMBER O' +
' OBJECT OBJECTS OBLIGATORY OCCURRENCE OCCURRENCES' +
' OCCURS OF OFF OFFSET OLE' +
' ON ONLY OPEN OPTION OPTIONAL' +
' OPTIONS OR ORDER OTHER OTHERS' +
' OUT OUTER OUTPUT OUTPUT-LENGTH OVERFLOW' +
' OVERLAY PACK PACKAGE PAD PADDING' +
' PAGE PAGES PARAMETER PARAMETER-TABLE PARAMETERS' +
' PART PATTERN PERCENTAGE PERFORM PERFORMING' +
' PERSON PF 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' +
' PUSHBUTTON PUT QUEUE-ONLY QUICKINFO RADIOBUTTON' +
' RAISE RAISING RANGE RANGES RAW' +
' READ READ-ONLY READER RECEIVE RECEIVED' +
' RECEIVER RECEIVING RED REDEFINITION REDUCED' +
' REF REFERENCE REFRESH REGEX REJECT' +
' REMOTE RENAMING REPLACE REPLACEMENT REPLACING' +
' REPORT REQUEST REQUESTED RESERVE RESET' +
' RESOLUTION RESPECTING RESPONSIBLE RESULT RESULTS' +
' RESUMABLE RESUME RETRY RETURN RETURNCODE' +
' RETURNING RIGHT RIGHT-JUSTIFIED RIGHTPLUS RIGHTSPACE' +
' RISK RMC_COMMUNICATION_FAILURE RMC_INVALID_STATUS RMC_SYSTEM_FAILURE ROLLBACK' +
' ROUND ROWS RUN SAP SAP-SPOOL' +
' SAVING SCALE_PRESERVING SCALE_PRESERVING_SCIENTIFIC SCAN SCIENTIFIC' +
' SCIENTIFIC_WITH_LEADING_ZERO SCREEN SCROLL SCROLL-BOUNDARY SCROLLING' +
' SEARCH SECONDARY SECONDS SECTION SELECT' +
' SELECT-OPTIONS SELECTION SELECTION-SCREEN SELECTION-SET SELECTION-SETS' +
' SELECTION-TABLE SELECTIONS SEND SEPARATE SEPARATED' +
' SET SHARED SHIFT SHORT SHORTDUMP-ID' +
' SIGN SIGN_AS_POSTFIX SIMPLE SINGLE SIZE' +
' SKIP SKIPPING SMART SOME SORT' +
' SORTABLE SORTED SOURCE SPACE SPECIFIED' +
' SPLIT SPOOL SPOTS SQL STABLE' +
' STAMP STANDARD START-OF-SELECTION STARTING STATE' +
' STATEMENT STATEMENTS STATIC STATICS STATUSINFO' +
' STEP-LOOP STOP STRUCTURE STRUCTURES STYLE' +
' SUBKEY SUBMATCHES SUBMIT SUBROUTINE SUBSCREEN' +
' SUBSTRING SUBTRACT SUBTRACT-CORRESPONDING SUFFIX SUM' +
' SUMMARY SUMMING SUPPLIED SUPPLY SUPPRESS' +
' SWITCH SWITCHSTATES SYMBOL SYNCPOINTS SYNTAX-CHECK' +
' SYNTAX-TRACE SYSTEM-CALL SYSTEM-EXCEPTIONS SYSTEM-EXIT TAB' +
' TABBED TABLE TABLES TABLEVIEW TABSTRIP' +
' TASK TEST TESTING TEXT TEXTPOOL' +
' THEN TIME TIMES TIMESTAMP TIMEZONE' +
' TITLE TITLE-LINES TITLEBAR TO' +
' TOKENIZATION TOKENS TOP-LINES TOP-OF-PAGE TRACE-FILE' +
' TRACE-TABLE TRAILING TRANSACTION TRANSFER TRANSFORMATION' +
' TRANSLATE TRANSPORTING TRMAC TRUNCATE TRUNCATION' +
' TRY TYPE TYPE-POOL TYPE-POOLS TYPES' +
' ULINE UNASSIGN UNDER UNICODE UNIQUE' +
' UNIT UNIX UNPACK UNTIL UNWIND' +
' UP UPDATE UPPER USER USER-COMMAND' +
' USING UTF-8 VALID VALUE VALUE-REQUEST' +
' VALUES VARY VARYING VERIFICATION-MESSAGE VERSION' +
' VIA VISIBLE WAIT WARNING WHEN' +
' WHENEVER WHERE WHILE WIDTH WINDOW' +
' WINDOWS WITH WITH-HEADING WITH-TITLE WITHOUT' +
' WORD WORK WRITE WRITER XML' +
' YELLOW YES YYMMDD Z ZERO' +
' ZONE CALL METHOD CLASS ENDCLASS CLASS-DATA CLASS-EVENTS' +
' CLASS-METHODS CREATE OBJECT EVENTS INTERFACE INTERFACES' +
' METHOD ENDMETHOD METHODS PRIVATE SECTION PROTECTED SECTION' +
' PUBLIC SECTION RAISE EVENT SET HANDLER';
this.regexList = [
// one line comments
{ regex: /^[\*].*$|["].*$/gm,
css: 'comments' },
// strings
{ regex: /'[^'"]*'(?=(?:[^"]*"[^"]*")*[^"]*$)/gm,
css: 'variable' },
// numbers
{ regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi,
css: 'value' },
// abap keyword
{ regex: new RegExp(this.getKeywords(keywords), 'gm'),
css: 'keyword' }
];
this.forHtmlScript({
left : /(<|<)%[@!=]?/g,
right : /%(>|>)/g
});
};
SyntaxHighlighter.brushes.Abap.prototype= new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.Abap.aliases = ['Abap','abap','ABAP'];