diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2014-07-11 04:05:51 +0000 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2014-07-29 02:12:31 +0000 |
commit | a98a6996c291b3e300d27b791eded9eed333d677 (patch) | |
tree | 51d92f6cac128f938cd0aaa9a8dd0ce7a83d63a9 /runtime/syntax/abap.vim | |
parent | 66bc13163398786c88e20b7cdd61c66978b4d3fb (diff) | |
download | rneovim-a98a6996c291b3e300d27b791eded9eed333d677.tar.gz rneovim-a98a6996c291b3e300d27b791eded9eed333d677.tar.bz2 rneovim-a98a6996c291b3e300d27b791eded9eed333d677.zip |
re-integrate runtime/ vim-patch:0 #938
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7
Excluding:
Amiga icons (*.info, icons/)
doc/hangulin.txt
tutor/
spell/
lang/ (only used for menu translations)
macros/maze/, macros/hanoi/, macros/life/, macros/urm/
These were used to test vi compatibility.
termcap
"Demonstration of a termcap file (for the Amiga and Archimedes)"
Helped-by: Rich Wareham <rjw57@cam.ac.uk>
Helped-by: John <john.schmidt.h@gmail.com>
Helped-by: Yann <yann@yann-salaun.com>
Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com>
Helped-by: drasill <github@tof2k.com>
Helped-by: Tae Sandoval Murgan <taecilla@gmail.com>
Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
Diffstat (limited to 'runtime/syntax/abap.vim')
-rw-r--r-- | runtime/syntax/abap.vim | 214 |
1 files changed, 214 insertions, 0 deletions
diff --git a/runtime/syntax/abap.vim b/runtime/syntax/abap.vim new file mode 100644 index 0000000000..1d1f6afd0d --- /dev/null +++ b/runtime/syntax/abap.vim @@ -0,0 +1,214 @@ +" Vim ABAP syntax file +" Language: SAP - ABAP/R4 +" Revision: 2.1 +" Maintainer: Marius Piedallu van Wyk <lailoken@gmail.com> +" Last Change: 2013 Jun 13 +" Comment: Thanks to EPI-USE Labs for all your assistance. :) + +" For version < 6.0: Clear all syntax items +" For version >= 6.0: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Always ignore case +syn case ignore + +" Symbol Operators (space delimited) +syn match abapSymbolOperator "\W+\W" +syn match abapSymbolOperator "\W-\W" +syn match abapSymbolOperator "\W/\W" +syn match abapSymbolOperator "\W%\W" +syn match abapSymbolOperator "\W=\W" +syn match abapSymbolOperator "\W<\W" +syn match abapSymbolOperator "\W>\W" +syn match abapSymbolOperator "\W\*\W" +syn match abapSymbolOperator "\W[<>]=\W" +syn match abapSymbolOperator "\W<>\W" +syn match abapSymbolOperator "\W\*\*\W" +syn match abapSymbolOperator "\[\]" +syn match abapSymbolOperator "->\*\?" +syn match abapSymbolOperator "=>" +syn match abapSymbolOperator "[()~:,\.&$]" + +" Literals +syn region abapCharString matchgroup=abapCharString start="'" end="'" contains=abapCharStringEscape +syn match abapCharStringEscape contained "''" + +syn region abapString matchgroup=abapString start="`" end="`" contains=abapStringEscape +syn match abapStringEscape contained "``" + +syn match abapNumber "\-\=\<\d\+\>" +syn region abapHex matchgroup=abapHex start="X'" end="'" + +if version >= 600 + setlocal iskeyword=48-57,_,A-Z,a-z,/ +else + set iskeyword=48-57,_,A-Z,a-z,/ +endif + +syn match abapNamespace "\</\w\+/" + +" multi-word statements +syn match abapComplexStatement "\<\(WITH\W\+\(HEADER\W\+LINE\|FRAME\|KEY\)\|WITH\)\>" +syn match abapComplexStatement "\<NO\W\+STANDARD\W\+PAGE\W\+HEADING\>" +syn match abapComplexStatement "\<\(EXIT\W\+FROM\W\+STEP\W\+LOOP\|EXIT\)\>" +syn match abapComplexStatement "\<\(BEGIN\W\+OF\W\+\(BLOCK\|LINE\)\|BEGIN\W\+OF\)\>" +syn match abapComplexStatement "\<\(END\W\+OF\W\+\(BLOCK\|LINE\)\|END\W\+OF\)\>" +syn match abapComplexStatement "\<NO\W\+INTERVALS\>" +syn match abapComplexStatement "\<RESPECTING\W\+BLANKS\>" +syn match abapComplexStatement "\<SEPARATED\W\+BY\>" +syn match abapComplexStatement "\<USING\(\W\+EDIT\W\+MASK\)\?\>" +syn match abapComplexStatement "\<WHERE\(\W\+LINE\)\?\>" +syn match abapComplexStatement "\<RADIOBUTTON\W\+GROUP\>" +syn match abapComplexStatement "\<REF\W\+TO\>" +syn match abapComplexStatement "\<\(PUBLIC\|PRIVATE\|PROTECTED\)\(\W\+SECTION\)\?\>" +syn match abapComplexStatement "\<DELETING\W\+\(TRAILING\|LEADING\)\>" +syn match abapComplexStatement "\<\(ALL\W\+OCCURRENCES\)\|\(\(FIRST\|LAST\)\W\+OCCURRENCE\)\>" +syn match abapComplexStatement "\<INHERITING\W\+FROM\>" +syn match abapComplexStatement "\<\(UP\W\+\)\?TO\>" + +" hyphenated-word statements +syn match abapComplexStatement "\<LINE-COUNT\>" +syn match abapComplexStatement "\<ADD-CORRESPONDING\>" +syn match abapComplexStatement "\<AUTHORITY-CHECK\>" +syn match abapComplexStatement "\<BREAK-POINT\>" +syn match abapComplexStatement "\<CLASS-DATA\>" +syn match abapComplexStatement "\<CLASS-METHODS\>" +syn match abapComplexStatement "\<CLASS-METHOD\>" +syn match abapComplexStatement "\<DIVIDE-CORRESPONDING\>" +syn match abapComplexStatement "\<EDITOR-CALL\>" +syn match abapComplexStatement "\<END-OF-DEFINITION\>" +syn match abapComplexStatement "\<END-OF-PAGE\>" +syn match abapComplexStatement "\<END-OF-SELECTION\>" +syn match abapComplexStatement "\<FIELD-GROUPS\>" +syn match abapComplexStatement "\<FIELD-SYMBOLS\>" +syn match abapComplexStatement "\<FUNCTION-POOL\>" +syn match abapComplexStatement "\<IS\W\+\(NOT\W\+\)\?\(ASSIGNED\|BOUND\|INITIAL\|SUPPLIED\)\>" +syn match abapComplexStatement "\<MOVE-CORRESPONDING\>" +syn match abapComplexStatement "\<MULTIPLY-CORRESPONDING\>" +syn match abapComplexStatement "\<NEW-LINE\>" +syn match abapComplexStatement "\<NEW-PAGE\>" +syn match abapComplexStatement "\<NEW-SECTION\>" +syn match abapComplexStatement "\<PRINT-CONTROL\>" +syn match abapComplexStatement "\<RP-PROVIDE-FROM-LAST\>" +syn match abapComplexStatement "\<SELECT-OPTIONS\>" +syn match abapComplexStatement "\<SELECTION-SCREEN\>" +syn match abapComplexStatement "\<START-OF-SELECTION\>" +syn match abapComplexStatement "\<SUBTRACT-CORRESPONDING\>" +syn match abapComplexStatement "\<SYNTAX-CHECK\>" +syn match abapComplexStatement "\<SYNTAX-TRACE\>" +syn match abapComplexStatement "\<TOP-OF-PAGE\>" +syn match abapComplexStatement "\<TYPE-POOL\>" +syn match abapComplexStatement "\<TYPE-POOLS\>" +syn match abapComplexStatement "\<LINE-SIZE\>" +syn match abapComplexStatement "\<LINE-COUNT\>" +syn match abapComplexStatement "\<MESSAGE-ID\>" +syn match abapComplexStatement "\<DISPLAY-MODE\>" +syn match abapComplexStatement "\<READ\(-ONLY\)\?\>" + +" ABAP statements +syn keyword abapStatement ADD ALIAS ALIASES ASSERT ASSIGN ASSIGNING AT +syn keyword abapStatement BACK +syn keyword abapStatement CALL CASE CATCH CHECK CLASS CLEAR CLOSE CNT COLLECT COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROLS CONVERT CREATE CURRENCY +syn keyword abapStatement DATA DEFINE DEFINITION DEFERRED DELETE DESCRIBE DETAIL DIVIDE DO +syn keyword abapStatement ELSE ELSEIF ENDAT ENDCASE ENDCLASS ENDDO ENDEXEC ENDFORM ENDFUNCTION ENDIF ENDIFEND ENDINTERFACE ENDLOOP ENDMETHOD ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDTRY ENDWHILE EVENT EVENTS EXEC EXIT EXPORT EXPORTING EXTRACT +syn keyword abapStatement FETCH FIELDS FORM FORMAT FREE FROM FUNCTION +syn keyword abapStatement GENERATE GET +syn keyword abapStatement HIDE +syn keyword abapStatement IF IMPORT IMPORTING INDEX INFOTYPES INITIALIZATION INTERFACE INTERFACES INPUT INSERT IMPLEMENTATION +syn keyword abapStatement LEAVE LIKE LINE LOAD LOCAL LOOP +syn keyword abapStatement MESSAGE METHOD METHODS MODIFY MODULE MOVE MULTIPLY +syn keyword abapStatement ON OVERLAY OPTIONAL OTHERS +syn keyword abapStatement PACK PARAMETERS PERFORM POSITION PROGRAM PROVIDE PUT +syn keyword abapStatement RAISE RANGES RECEIVE RECEIVING REDEFINITION REFERENCE REFRESH REJECT REPLACE REPORT RESERVE RESTORE RETURNING ROLLBACK +syn keyword abapStatement SCAN SCROLL SEARCH SELECT SET SHIFT SKIP SORT SORTED SPLIT STANDARD STATICS STEP STOP SUBMIT SUBTRACT SUM SUMMARY SUPPRESS +syn keyword abapStatement TABLES TIMES TRANSFER TRANSLATE TRY TYPE TYPES +syn keyword abapStatement UNASSIGN ULINE UNPACK UPDATE +syn keyword abapStatement WHEN WHILE WINDOW WRITE + +" More statemets +syn keyword abapStatement LINES +syn keyword abapStatement INTO GROUP BY HAVING ORDER BY SINGLE +syn keyword abapStatement APPENDING CORRESPONDING FIELDS OF TABLE +syn keyword abapStatement LEFT RIGHT OUTER INNER JOIN AS CLIENT SPECIFIED BYPASSING BUFFER ROWS CONNECTING +syn keyword abapStatement OCCURS STRUCTURE OBJECT PROPERTY +syn keyword abapStatement CASTING APPEND RAISING VALUE COLOR +syn keyword abapStatement CHANGING EXCEPTION EXCEPTIONS DEFAULT CHECKBOX COMMENT +syn keyword abapStatement ID NUMBER FOR TITLE OUTPUT + +" Special ABAP specific tables: +syn match abapSpecialTables "\<\(sy\|\(hrp\|p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)-"me=e-1 contained +syn match abapStructure "\<\w\+-[^\>]"me=e-2 contains=abapSpecialTables,abapStatement,abapComplexStatement +syn match abapField "-\w\+"ms=s+1 + +" Pointer +syn match abapSpecial "<\w\+>" + +" Abap common constants: +syn keyword abapSpecial TRUE FALSE NULL SPACE + +" Includes +syn region abapInclude start="include" end="." contains=abapComment + +" Types +syn keyword abapTypes c n i p f d t x string xstring decfloat16 decfloat34 + +" Atritmitic operators +syn keyword abapOperator abs sign ceil floor trunc frac acos asin atan cos sin tan +syn keyword abapOperator cosh sinh tanh exp log log10 sqrt + +" String operators +syn keyword abapStatement strlen xstrlen charlen numofchar dbmaxlen + +syn keyword abapOperator EQ NE LT LE GT GE NOT AND OR XOR IN LIKE BETWEEN + +" An error? Not strictly... but cannot think of reason this is intended. +syn match abapError "\.\." + +" Comments +syn region abapComment start="^\*" end="$" contains=abapTodo +syn match abapComment "\".*" contains=abapTodo +syn keyword abapTodo contained TODO NOTE +syn match abapTodo "\#EC\W\+\w\+" + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_abap_syntax_inits") + if version < 508 + let did_abap_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink abapError Error + HiLink abapComment Comment + HiLink abapInclude Include + HiLink abapStatement Statement + HiLink abapComplexStatement Statement + HiLink abapSpecial Special + HiLink abapNamespace Special + HiLink abapSpecialTables Special + HiLink abapSymbolOperator abapOperator + HiLink abapOperator Operator + HiLink abapCharString String + HiLink abapString String + HiLink abapFloat Float + HiLink abapTypes Type + HiLink abapSymbol Structure + HiLink abapStructure Structure + HiLink abapField Variable + HiLink abapNumber Number + HiLink abapHex Number + + delcommand HiLink +endif + +let b:current_syntax = "abap" + +" vim: ts=8 sw=2 + |