sdl.vim (6563B)
1 " Vim syntax file 2 " Language: SDL 3 " Maintainer: Michael Piefel <entwurf@piefel.de> 4 " Last Change: 2 May 2001 5 6 " quit when a syntax file was already loaded 7 if exists("b:current_syntax") 8 finish 9 endif 10 11 if !exists("sdl_2000") 12 syntax case ignore 13 endif 14 15 " A bunch of useful SDL keywords 16 syn keyword sdlStatement task else nextstate 17 syn keyword sdlStatement in out with from interface 18 syn keyword sdlStatement to via env and use 19 syn keyword sdlStatement process procedure block system service type 20 syn keyword sdlStatement endprocess endprocedure endblock endsystem 21 syn keyword sdlStatement package endpackage connection endconnection 22 syn keyword sdlStatement channel endchannel connect 23 syn keyword sdlStatement synonym dcl signal gate timer signallist signalset 24 syn keyword sdlStatement create output set reset call 25 syn keyword sdlStatement operators literals 26 syn keyword sdlStatement active alternative any as atleast constants 27 syn keyword sdlStatement default endalternative endmacro endoperator 28 syn keyword sdlStatement endselect endsubstructure external 29 syn keyword sdlStatement if then fi for import macro macrodefinition 30 syn keyword sdlStatement macroid mod nameclass nodelay not operator or 31 syn keyword sdlStatement parent provided referenced rem 32 syn keyword sdlStatement select spelling substructure xor 33 syn keyword sdlNewState state endstate 34 syn keyword sdlInput input start stop return none save priority 35 syn keyword sdlConditional decision enddecision join 36 syn keyword sdlVirtual virtual redefined finalized adding inherits 37 syn keyword sdlExported remote exported export 38 39 if !exists("sdl_no_96") 40 syn keyword sdlStatement all axioms constant endgenerator endrefinement endservice 41 syn keyword sdlStatement error fpar generator literal map noequality ordering 42 syn keyword sdlStatement refinement returns revealed reverse service signalroute 43 syn keyword sdlStatement view viewed 44 syn keyword sdlExported imported 45 endif 46 47 if exists("sdl_2000") 48 syn keyword sdlStatement abstract aggregation association break choice composition 49 syn keyword sdlStatement continue endmethod handle method 50 syn keyword sdlStatement ordered private protected public 51 syn keyword sdlException exceptionhandler endexceptionhandler onexception 52 syn keyword sdlException catch new raise 53 " The same in uppercase 54 syn keyword sdlStatement TASK ELSE NEXTSTATE 55 syn keyword sdlStatement IN OUT WITH FROM INTERFACE 56 syn keyword sdlStatement TO VIA ENV AND USE 57 syn keyword sdlStatement PROCESS PROCEDURE BLOCK SYSTEM SERVICE TYPE 58 syn keyword sdlStatement ENDPROCESS ENDPROCEDURE ENDBLOCK ENDSYSTEM 59 syn keyword sdlStatement PACKAGE ENDPACKAGE CONNECTION ENDCONNECTION 60 syn keyword sdlStatement CHANNEL ENDCHANNEL CONNECT 61 syn keyword sdlStatement SYNONYM DCL SIGNAL GATE TIMER SIGNALLIST SIGNALSET 62 syn keyword sdlStatement CREATE OUTPUT SET RESET CALL 63 syn keyword sdlStatement OPERATORS LITERALS 64 syn keyword sdlStatement ACTIVE ALTERNATIVE ANY AS ATLEAST CONSTANTS 65 syn keyword sdlStatement DEFAULT ENDALTERNATIVE ENDMACRO ENDOPERATOR 66 syn keyword sdlStatement ENDSELECT ENDSUBSTRUCTURE EXTERNAL 67 syn keyword sdlStatement IF THEN FI FOR IMPORT MACRO MACRODEFINITION 68 syn keyword sdlStatement MACROID MOD NAMECLASS NODELAY NOT OPERATOR OR 69 syn keyword sdlStatement PARENT PROVIDED REFERENCED REM 70 syn keyword sdlStatement SELECT SPELLING SUBSTRUCTURE XOR 71 syn keyword sdlNewState STATE ENDSTATE 72 syn keyword sdlInput INPUT START STOP RETURN NONE SAVE PRIORITY 73 syn keyword sdlConditional DECISION ENDDECISION JOIN 74 syn keyword sdlVirtual VIRTUAL REDEFINED FINALIZED ADDING INHERITS 75 syn keyword sdlExported REMOTE EXPORTED EXPORT 76 77 syn keyword sdlStatement ABSTRACT AGGREGATION ASSOCIATION BREAK CHOICE COMPOSITION 78 syn keyword sdlStatement CONTINUE ENDMETHOD ENDOBJECT ENDVALUE HANDLE METHOD OBJECT 79 syn keyword sdlStatement ORDERED PRIVATE PROTECTED PUBLIC 80 syn keyword sdlException EXCEPTIONHANDLER ENDEXCEPTIONHANDLER ONEXCEPTION 81 syn keyword sdlException CATCH NEW RAISE 82 endif 83 84 " String and Character contstants 85 " Highlight special characters (those which have a backslash) differently 86 syn match sdlSpecial contained "\\\d\d\d\|\\." 87 syn region sdlString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial 88 syn region sdlString start=+'+ skip=+''+ end=+'+ 89 90 " No, this doesn't happen, I just wanted to scare you. SDL really allows all 91 " these characters for identifiers; fortunately, keywords manage without them. 92 " set iskeyword=@,48-57,_,192-214,216-246,248-255,- 93 94 syn region sdlComment start="/\*" end="\*/" 95 syn region sdlComment start="comment" end=";" 96 syn region sdlComment start="--" end="--\|$" 97 syn match sdlCommentError "\*/" 98 99 syn keyword sdlOperator present 100 syn keyword sdlType integer real natural duration pid boolean time 101 syn keyword sdlType character charstring ia5string 102 syn keyword sdlType self now sender offspring 103 syn keyword sdlStructure asntype endasntype syntype endsyntype struct 104 105 if !exists("sdl_no_96") 106 syn keyword sdlStructure newtype endnewtype 107 endif 108 109 if exists("sdl_2000") 110 syn keyword sdlStructure object endobject value endvalue 111 " The same in uppercase 112 syn keyword sdlStructure OBJECT ENDOBJECT VALUE ENDVALUE 113 syn keyword sdlOperator PRESENT 114 syn keyword sdlType INTEGER NATURAL DURATION PID BOOLEAN TIME 115 syn keyword sdlType CHARSTRING IA5STRING 116 syn keyword sdlType SELF NOW SENDER OFFSPRING 117 syn keyword sdlStructure ASNTYPE ENDASNTYPE SYNTYPE ENDSYNTYPE STRUCT 118 endif 119 120 " ASN.1 in SDL 121 syn case match 122 syn keyword sdlType SET OF BOOLEAN INTEGER REAL BIT OCTET 123 syn keyword sdlType SEQUENCE CHOICE 124 syn keyword sdlType STRING OBJECT IDENTIFIER NULL 125 126 syn sync ccomment sdlComment 127 128 " Define the default highlighting. 129 " Only when an item doesn't have highlighting yet 130 command -nargs=+ Hi hi def <args> 131 132 hi def link sdlException Label 133 hi def link sdlConditional sdlStatement 134 hi def link sdlVirtual sdlStatement 135 hi def link sdlExported sdlFlag 136 hi def link sdlCommentError sdlError 137 hi def link sdlOperator Operator 138 hi def link sdlStructure sdlType 139 Hi sdlStatement term=bold ctermfg=4 guifg=Blue 140 Hi sdlFlag term=bold ctermfg=4 guifg=Blue gui=italic 141 Hi sdlNewState term=italic ctermfg=2 guifg=Magenta gui=underline 142 Hi sdlInput term=bold guifg=Red 143 hi def link sdlType Type 144 hi def link sdlString String 145 hi def link sdlComment Comment 146 hi def link sdlSpecial Special 147 hi def link sdlError Error 148 149 delcommand Hi 150 151 let b:current_syntax = "sdl" 152 153 " vim: ts=8