codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: SDL3" Maintainer: Michael Piefel <entwurf@piefel.de>4" Last Change: 2 May 20015 6" quit when a syntax file was already loaded7if exists("b:current_syntax")8 finish9endif10 11if !exists("sdl_2000")12 syntax case ignore13endif14 15" A bunch of useful SDL keywords16syn keyword sdlStatement task else nextstate17syn keyword sdlStatement in out with from interface18syn keyword sdlStatement to via env and use19syn keyword sdlStatement process procedure block system service type20syn keyword sdlStatement endprocess endprocedure endblock endsystem21syn keyword sdlStatement package endpackage connection endconnection22syn keyword sdlStatement channel endchannel connect23syn keyword sdlStatement synonym dcl signal gate timer signallist signalset24syn keyword sdlStatement create output set reset call25syn keyword sdlStatement operators literals26syn keyword sdlStatement active alternative any as atleast constants27syn keyword sdlStatement default endalternative endmacro endoperator28syn keyword sdlStatement endselect endsubstructure external29syn keyword sdlStatement if then fi for import macro macrodefinition30syn keyword sdlStatement macroid mod nameclass nodelay not operator or31syn keyword sdlStatement parent provided referenced rem32syn keyword sdlStatement select spelling substructure xor33syn keyword sdlNewState state endstate34syn keyword sdlInput input start stop return none save priority35syn keyword sdlConditional decision enddecision join36syn keyword sdlVirtual virtual redefined finalized adding inherits37syn keyword sdlExported remote exported export38 39if !exists("sdl_no_96")40 syn keyword sdlStatement all axioms constant endgenerator endrefinement endservice41 syn keyword sdlStatement error fpar generator literal map noequality ordering42 syn keyword sdlStatement refinement returns revealed reverse service signalroute43 syn keyword sdlStatement view viewed44 syn keyword sdlExported imported45endif46 47if exists("sdl_2000")48 syn keyword sdlStatement abstract aggregation association break choice composition49 syn keyword sdlStatement continue endmethod handle method50 syn keyword sdlStatement ordered private protected public51 syn keyword sdlException exceptionhandler endexceptionhandler onexception52 syn keyword sdlException catch new raise53 " The same in uppercase54 syn keyword sdlStatement TASK ELSE NEXTSTATE55 syn keyword sdlStatement IN OUT WITH FROM INTERFACE56 syn keyword sdlStatement TO VIA ENV AND USE57 syn keyword sdlStatement PROCESS PROCEDURE BLOCK SYSTEM SERVICE TYPE58 syn keyword sdlStatement ENDPROCESS ENDPROCEDURE ENDBLOCK ENDSYSTEM59 syn keyword sdlStatement PACKAGE ENDPACKAGE CONNECTION ENDCONNECTION60 syn keyword sdlStatement CHANNEL ENDCHANNEL CONNECT61 syn keyword sdlStatement SYNONYM DCL SIGNAL GATE TIMER SIGNALLIST SIGNALSET62 syn keyword sdlStatement CREATE OUTPUT SET RESET CALL63 syn keyword sdlStatement OPERATORS LITERALS64 syn keyword sdlStatement ACTIVE ALTERNATIVE ANY AS ATLEAST CONSTANTS65 syn keyword sdlStatement DEFAULT ENDALTERNATIVE ENDMACRO ENDOPERATOR66 syn keyword sdlStatement ENDSELECT ENDSUBSTRUCTURE EXTERNAL67 syn keyword sdlStatement IF THEN FI FOR IMPORT MACRO MACRODEFINITION68 syn keyword sdlStatement MACROID MOD NAMECLASS NODELAY NOT OPERATOR OR69 syn keyword sdlStatement PARENT PROVIDED REFERENCED REM70 syn keyword sdlStatement SELECT SPELLING SUBSTRUCTURE XOR71 syn keyword sdlNewState STATE ENDSTATE72 syn keyword sdlInput INPUT START STOP RETURN NONE SAVE PRIORITY73 syn keyword sdlConditional DECISION ENDDECISION JOIN74 syn keyword sdlVirtual VIRTUAL REDEFINED FINALIZED ADDING INHERITS75 syn keyword sdlExported REMOTE EXPORTED EXPORT76 77 syn keyword sdlStatement ABSTRACT AGGREGATION ASSOCIATION BREAK CHOICE COMPOSITION78 syn keyword sdlStatement CONTINUE ENDMETHOD ENDOBJECT ENDVALUE HANDLE METHOD OBJECT79 syn keyword sdlStatement ORDERED PRIVATE PROTECTED PUBLIC80 syn keyword sdlException EXCEPTIONHANDLER ENDEXCEPTIONHANDLER ONEXCEPTION81 syn keyword sdlException CATCH NEW RAISE82endif83 84" String and Character contstants85" Highlight special characters (those which have a backslash) differently86syn match sdlSpecial contained "\\\d\d\d\|\\."87syn region sdlString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial88syn region sdlString start=+'+ skip=+''+ end=+'+89 90" No, this doesn't happen, I just wanted to scare you. SDL really allows all91" these characters for identifiers; fortunately, keywords manage without them.92" set iskeyword=@,48-57,_,192-214,216-246,248-255,-93 94syn region sdlComment start="/\*" end="\*/"95syn region sdlComment start="comment" end=";"96syn region sdlComment start="--" end="--\|$"97syn match sdlCommentError "\*/"98 99syn keyword sdlOperator present100syn keyword sdlType integer real natural duration pid boolean time101syn keyword sdlType character charstring ia5string102syn keyword sdlType self now sender offspring103syn keyword sdlStructure asntype endasntype syntype endsyntype struct104 105if !exists("sdl_no_96")106 syn keyword sdlStructure newtype endnewtype107endif108 109if exists("sdl_2000")110 syn keyword sdlStructure object endobject value endvalue111 " The same in uppercase112 syn keyword sdlStructure OBJECT ENDOBJECT VALUE ENDVALUE113 syn keyword sdlOperator PRESENT114 syn keyword sdlType INTEGER NATURAL DURATION PID BOOLEAN TIME115 syn keyword sdlType CHARSTRING IA5STRING116 syn keyword sdlType SELF NOW SENDER OFFSPRING117 syn keyword sdlStructure ASNTYPE ENDASNTYPE SYNTYPE ENDSYNTYPE STRUCT118endif119 120" ASN.1 in SDL121syn case match122syn keyword sdlType SET OF BOOLEAN INTEGER REAL BIT OCTET123syn keyword sdlType SEQUENCE CHOICE124syn keyword sdlType STRING OBJECT IDENTIFIER NULL125 126syn sync ccomment sdlComment127 128" Define the default highlighting.129" Only when an item doesn't have highlighting yet130command -nargs=+ Hi hi def <args>131 132hi def link sdlException Label133hi def link sdlConditional sdlStatement134hi def link sdlVirtual sdlStatement135hi def link sdlExported sdlFlag136hi def link sdlCommentError sdlError137hi def link sdlOperator Operator138hi def link sdlStructure sdlType139Hi sdlStatement term=bold ctermfg=4 guifg=Blue140Hi sdlFlag term=bold ctermfg=4 guifg=Blue gui=italic141Hi sdlNewState term=italic ctermfg=2 guifg=Magenta gui=underline142Hi sdlInput term=bold guifg=Red143hi def link sdlType Type144hi def link sdlString String145hi def link sdlComment Comment146hi def link sdlSpecial Special147hi def link sdlError Error148 149delcommand Hi150 151let b:current_syntax = "sdl"152 153" vim: ts=8154 