annotate runtime/syntax/abap.vim @ 34:e170173ecb68 current-release

before ack base protocol.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 26 Nov 2008 15:02:10 +0900
parents 76efa0be13f1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 " Vim ABAP syntax file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 " Language: SAP - ABAP/R4
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " Revision: 1.0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " Maintainer: Marius Piedallu van Wyk <marius@e.co.za>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5 " Last Change: 2006 Apr 13
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 " For version < 6.0: Clear all syntax items
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 " For version >= 6.0: Quit when a syntax file was already loaded
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 if version < 600
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 syntax clear
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 elseif exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 " Always ignore case
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16 syn case ignore
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 " Symbol Operators
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19 syn match abapSymbolOperator "[+\-/=<>$]"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 syn match abapSymbolOperator "\*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21 syn match abapSymbolOperator "[<>]="
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 syn match abapSymbolOperator "<>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 syn match abapSymbolOperator "\*\*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24 syn match abapSymbolOperator "[()]"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25 syn match abapSymbolOperator "[:,\.]"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 " Literals
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28 syn region abapString matchgroup=abapString start="'" end="'" contains=abapStringEscape
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 syn match abapStringEscape contained "''"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 syn match abapNumber "-\=\<\d\+\>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 syn region abapHex matchgroup=abapHex start="X'" end="'"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34 if version >= 600
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 setlocal iskeyword=-,48-57,_,A-Z,a-z
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 set iskeyword=-,48-57,_,A-Z,a-z
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40 " ABAP statements
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 syn keyword abapStatement ADD ADD-CORRESPONDING ASSIGN AT AUTHORITY-CHECK
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 syn keyword abapStatement BACK BREAK-POINT
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 syn keyword abapStatement CALL CASE CHECK CLEAR CLOSE CNT COLLECT COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROLS CONVERT CREATE CURRENCY
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 syn keyword abapStatement DATA DEFINE DELETE DESCRIBE DETAIL DIVIDE DIVIDE-CORRESPONDING DO
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 syn keyword abapStatement EDITOR-CALL ELSE ELSEIF END-OF-DEFINITION END-OF-PAGE END-OF-SELECTION ENDAT ENDCASE ENDDO ENDEXEC ENDFORM ENDFUNCTION ENDIF ENDIFEND ENDLOOP ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDWHILE EXEC EXPORT EXPORTING EXTRACT
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46 syn keyword abapStatement FETCH FIELD-GROUPS FIELD-SYMBOLS FIELDS FORM FORMAT FREE FUNCTION FUNCTION-POOL
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47 syn keyword abapStatement GENERATE GET
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 syn keyword abapStatement HIDE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49 syn keyword abapStatement IF IMPORT IMPORTING INDEX INFOTYPES INITIALIZATION INPUT INSERT
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50 syn keyword abapStatement LEAVE LIKE LOAD LOCAL LOOP
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 syn keyword abapStatement MESSAGE MODIFY MODULE MOVE MOVE-CORRESPONDING MULTIPLY MULTIPLY-CORRESPONDING
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 syn keyword abapStatement NEW-LINE NEW-PAGE NEW-SECTION
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53 syn keyword abapStatement ON OVERLAY
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54 syn keyword abapStatement PACK PARAMETERS PERFORM POSITION PRINT-CONTROL PROGRAM PROVIDE PUT
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 syn keyword abapStatement RAISE RANGES READ RECEIVE REFRESH REJECT REPLACE REPORT RESERVE RESTORE ROLLBACK RP-PROVIDE-FROM-LAST
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 syn keyword abapStatement SCAN SCROLL SEARCH SELECT SELECT-OPTIONS SELECTION-SCREEN SET SHIFT SKIP SORT SPLIT START-OF-SELECTION STATICS STOP SUBMIT SUBTRACT SUBTRACT-CORRESPONDING SUM SUMMARY SUPPRESS SYNTAX-CHECK SYNTAX-TRACE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 syn keyword abapStatement TABLES TOP-OF-PAGE TRANSFER TRANSLATE TYPE TYPE-POOL TYPE-POOLS TYPES
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58 syn keyword abapStatement UNPACK UPDATE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 syn keyword abapStatement WHEN WHILE WINDOW WRITE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 " More statemets
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 syn keyword abapStatement OCCURS STRUCTURE OBJECT PROPERTY
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63 syn keyword abapStatement CASTING APPEND RAISING VALUE COLOR
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64 syn keyword abapStatement LINE-SIZE LINE-COUNT MESSAGE-ID
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65 syn keyword abapStatement CHANGING EXCEPTIONS DEFAULT CHECKBOX COMMENT
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 syn keyword abapStatement ID NUMBER FOR DISPLAY-MODE TITLE OUTPUT
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68 " More multi-word statements
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 syn match abapStatement "\(\W\|^\)\(WITH\W\+\(HEADER\W\+LINE\|FRAME\|KEY\)\|WITH\)\(\W\|$\)"ms=s+1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 syn match abapStatement "\(\W\|^\)NO\W\+STANDARD\W\+PAGE\W\+HEADING\(\W\|$\)"ms=s+1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 syn match abapStatement "\(\W\|^\)\(EXIT\W\+FROM\W\+STEP\W\+LOOP\|EXIT\)\(\W\|$\)"ms=s+1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72 syn match abapStatement "\(\W\|^\)\(BEGIN\W\+OF\W\+\(BLOCK\|LINE\)\|BEGIN\W\+OF\)\(\W\|$\)"ms=s+1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 syn match abapStatement "\(\W\|^\)\(END\W\+OF\W\+\(BLOCK\|LINE\)\|END\W\+OF\)\(\W\|$\)"ms=s+1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 syn match abapStatement "\(\W\|^\)IS\W\+INITIAL\(\W\|$\)"ms=s+1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75 syn match abapStatement "\(\W\|^\)NO\W\+INTERVALS\(\W\|$\)"ms=s+1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76 syn match abapStatement "\(\W\|^\)SEPARATED\W\+BY\(\W\|$\)"ms=s+1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77 syn match abapStatement "\(\W\|^\)\(USING\W\+\(EDIT\W\+MASK\)\|USING\)\(\W\|$\)"ms=s+1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78 syn match abapStatement "\(\W\|^\)\(WHERE\W\+\(LINE\)\)\(\W\|$\)"ms=s+1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79 syn match abapStatement "\(\W\|^\)RADIOBUTTON\W\+GROUP\(\W\|$\)"ms=s+1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 syn match abapStatement "\(\W\|^\)REF\W\+TO\(\W\|$\)"ms=s+1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82 " Special ABAP specific tables:
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83 syn match abapSpecial "\(\W\|^\)\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)\(\W\|$\)"ms=s+1,me=e-1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84 syn match abapSpecialTables "\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)-"me=e-1 contained
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85 syn match abapSpecial "\(\W\|^\)\w\+-\(\w\+-\w\+\|\w\+\)"ms=s+1 contains=abapSpecialTables
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 " Pointer
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88 syn match abapSpecial "<\w\+>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90 " Abap constants:
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91 syn keyword abapSpecial TRUE FALSE NULL SPACE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
92
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
93 " Includes
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
94 syn region abapInclude start="include" end="." contains=abapComment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
95
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
96 " Types
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
97 syn keyword abapTypes c n i p f d t x
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
98
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
99 " Atritmitic operators
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
100 syn keyword abapOperator abs sign ceil floor trunc frac acos asin atan cos sin tan
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
101 syn keyword abapOperator cosh sinh tanh exp log log10 sqrt
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
102
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
103 " String operators
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
104 syn keyword abapOperator strlen xstrlen charlen numofchar dbmaxlen
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
105
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
106 " Table operators
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
107 syn keyword abapOperator lines
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
108
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
109 " Table operators (SELECT operators)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
110 syn keyword abapOperator INTO FROM WHERE GROUP BY HAVING ORDER BY SINGLE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
111 syn keyword abapOperator APPENDING CORRESPONDING FIELDS OF TABLE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
112 syn keyword abapOperator LEFT RIGHT OUTER INNER JOIN AS CLIENT SPECIFIED BYPASSING BUFFER UP TO ROWS CONNECTING
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
113 syn keyword abapOperator EQ NE LT LE GT GE NOT AND OR XOR IN LIKE BETWEEN
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
114
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
115 " An error? Not strictly... but cannot think of reason this is intended.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
116 syn match abapError "\.\."
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
117
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
118 " Comments
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
119 syn region abapComment start="^\*" end="$" contains=abapTodo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
120 syn match abapComment "\".*" contains=abapTodo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
121 syn keyword abapTodo contained TODO NOTE
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
122
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
123 " Define the default highlighting.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
124 " For version 5.7 and earlier: only when not done already
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
125 " For version 5.8 and later: only when an item doesn't have highlighting yet
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
126 if version >= 508 || !exists("did_abap_syntax_inits")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
127 if version < 508
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
128 let did_abap_syntax_inits = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
129 command -nargs=+ HiLink hi link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
130 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
131 command -nargs=+ HiLink hi def link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
132 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
133
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
134 HiLink abapError Error
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
135 HiLink abapComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
136 HiLink abapInclude Include
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
137 HiLink abapSpecial Special
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
138 HiLink abapSpecialTables PreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
139 HiLink abapSymbolOperator abapOperator
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
140 HiLink abapOperator Operator
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
141 HiLink abapStatement Statement
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
142 HiLink abapString String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
143 HiLink abapFloat Float
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
144 HiLink abapNumber Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
145 HiLink abapHex Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
146
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
147 delcommand HiLink
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
148 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
149
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
150 let b:current_syntax = "abap"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
151
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
152 " vim: ts=8 sw=2
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
153