mirror of
https://github.com/neovim/neovim.git
synced 2024-12-23 20:55:18 -07:00
168 lines
6.9 KiB
VimL
168 lines
6.9 KiB
VimL
|
" Vim syntax file
|
||
|
" Language: SDL
|
||
|
" Maintainer: Michael Piefel <entwurf@piefel.de>
|
||
|
" Last Change: 2 May 2001
|
||
|
|
||
|
" For version 5.x: Clear all syntax items
|
||
|
" For version 6.x: Quit when a syntax file was already loaded
|
||
|
if version < 600
|
||
|
syntax clear
|
||
|
elseif exists("b:current_syntax")
|
||
|
finish
|
||
|
endif
|
||
|
|
||
|
if !exists("sdl_2000")
|
||
|
syntax case ignore
|
||
|
endif
|
||
|
|
||
|
" A bunch of useful SDL keywords
|
||
|
syn keyword sdlStatement task else nextstate
|
||
|
syn keyword sdlStatement in out with from interface
|
||
|
syn keyword sdlStatement to via env and use
|
||
|
syn keyword sdlStatement process procedure block system service type
|
||
|
syn keyword sdlStatement endprocess endprocedure endblock endsystem
|
||
|
syn keyword sdlStatement package endpackage connection endconnection
|
||
|
syn keyword sdlStatement channel endchannel connect
|
||
|
syn keyword sdlStatement synonym dcl signal gate timer signallist signalset
|
||
|
syn keyword sdlStatement create output set reset call
|
||
|
syn keyword sdlStatement operators literals
|
||
|
syn keyword sdlStatement active alternative any as atleast constants
|
||
|
syn keyword sdlStatement default endalternative endmacro endoperator
|
||
|
syn keyword sdlStatement endselect endsubstructure external
|
||
|
syn keyword sdlStatement if then fi for import macro macrodefinition
|
||
|
syn keyword sdlStatement macroid mod nameclass nodelay not operator or
|
||
|
syn keyword sdlStatement parent provided referenced rem
|
||
|
syn keyword sdlStatement select spelling substructure xor
|
||
|
syn keyword sdlNewState state endstate
|
||
|
syn keyword sdlInput input start stop return none save priority
|
||
|
syn keyword sdlConditional decision enddecision join
|
||
|
syn keyword sdlVirtual virtual redefined finalized adding inherits
|
||
|
syn keyword sdlExported remote exported export
|
||
|
|
||
|
if !exists("sdl_no_96")
|
||
|
syn keyword sdlStatement all axioms constant endgenerator endrefinement endservice
|
||
|
syn keyword sdlStatement error fpar generator literal map noequality ordering
|
||
|
syn keyword sdlStatement refinement returns revealed reverse service signalroute
|
||
|
syn keyword sdlStatement view viewed
|
||
|
syn keyword sdlExported imported
|
||
|
endif
|
||
|
|
||
|
if exists("sdl_2000")
|
||
|
syn keyword sdlStatement abstract aggregation association break choice composition
|
||
|
syn keyword sdlStatement continue endmethod handle method
|
||
|
syn keyword sdlStatement ordered private protected public
|
||
|
syn keyword sdlException exceptionhandler endexceptionhandler onexception
|
||
|
syn keyword sdlException catch new raise
|
||
|
" The same in uppercase
|
||
|
syn keyword sdlStatement TASK ELSE NEXTSTATE
|
||
|
syn keyword sdlStatement IN OUT WITH FROM INTERFACE
|
||
|
syn keyword sdlStatement TO VIA ENV AND USE
|
||
|
syn keyword sdlStatement PROCESS PROCEDURE BLOCK SYSTEM SERVICE TYPE
|
||
|
syn keyword sdlStatement ENDPROCESS ENDPROCEDURE ENDBLOCK ENDSYSTEM
|
||
|
syn keyword sdlStatement PACKAGE ENDPACKAGE CONNECTION ENDCONNECTION
|
||
|
syn keyword sdlStatement CHANNEL ENDCHANNEL CONNECT
|
||
|
syn keyword sdlStatement SYNONYM DCL SIGNAL GATE TIMER SIGNALLIST SIGNALSET
|
||
|
syn keyword sdlStatement CREATE OUTPUT SET RESET CALL
|
||
|
syn keyword sdlStatement OPERATORS LITERALS
|
||
|
syn keyword sdlStatement ACTIVE ALTERNATIVE ANY AS ATLEAST CONSTANTS
|
||
|
syn keyword sdlStatement DEFAULT ENDALTERNATIVE ENDMACRO ENDOPERATOR
|
||
|
syn keyword sdlStatement ENDSELECT ENDSUBSTRUCTURE EXTERNAL
|
||
|
syn keyword sdlStatement IF THEN FI FOR IMPORT MACRO MACRODEFINITION
|
||
|
syn keyword sdlStatement MACROID MOD NAMECLASS NODELAY NOT OPERATOR OR
|
||
|
syn keyword sdlStatement PARENT PROVIDED REFERENCED REM
|
||
|
syn keyword sdlStatement SELECT SPELLING SUBSTRUCTURE XOR
|
||
|
syn keyword sdlNewState STATE ENDSTATE
|
||
|
syn keyword sdlInput INPUT START STOP RETURN NONE SAVE PRIORITY
|
||
|
syn keyword sdlConditional DECISION ENDDECISION JOIN
|
||
|
syn keyword sdlVirtual VIRTUAL REDEFINED FINALIZED ADDING INHERITS
|
||
|
syn keyword sdlExported REMOTE EXPORTED EXPORT
|
||
|
|
||
|
syn keyword sdlStatement ABSTRACT AGGREGATION ASSOCIATION BREAK CHOICE COMPOSITION
|
||
|
syn keyword sdlStatement CONTINUE ENDMETHOD ENDOBJECT ENDVALUE HANDLE METHOD OBJECT
|
||
|
syn keyword sdlStatement ORDERED PRIVATE PROTECTED PUBLIC
|
||
|
syn keyword sdlException EXCEPTIONHANDLER ENDEXCEPTIONHANDLER ONEXCEPTION
|
||
|
syn keyword sdlException CATCH NEW RAISE
|
||
|
endif
|
||
|
|
||
|
" String and Character contstants
|
||
|
" Highlight special characters (those which have a backslash) differently
|
||
|
syn match sdlSpecial contained "\\\d\d\d\|\\."
|
||
|
syn region sdlString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial
|
||
|
syn region sdlString start=+'+ skip=+''+ end=+'+
|
||
|
|
||
|
" No, this doesn't happen, I just wanted to scare you. SDL really allows all
|
||
|
" these characters for identifiers; fortunately, keywords manage without them.
|
||
|
" set iskeyword=@,48-57,_,192-214,216-246,248-255,-
|
||
|
|
||
|
syn region sdlComment start="/\*" end="\*/"
|
||
|
syn region sdlComment start="comment" end=";"
|
||
|
syn region sdlComment start="--" end="--\|$"
|
||
|
syn match sdlCommentError "\*/"
|
||
|
|
||
|
syn keyword sdlOperator present
|
||
|
syn keyword sdlType integer real natural duration pid boolean time
|
||
|
syn keyword sdlType character charstring ia5string
|
||
|
syn keyword sdlType self now sender offspring
|
||
|
syn keyword sdlStructure asntype endasntype syntype endsyntype struct
|
||
|
|
||
|
if !exists("sdl_no_96")
|
||
|
syn keyword sdlStructure newtype endnewtype
|
||
|
endif
|
||
|
|
||
|
if exists("sdl_2000")
|
||
|
syn keyword sdlStructure object endobject value endvalue
|
||
|
" The same in uppercase
|
||
|
syn keyword sdlStructure OBJECT ENDOBJECT VALUE ENDVALUE
|
||
|
syn keyword sdlOperator PRESENT
|
||
|
syn keyword sdlType INTEGER NATURAL DURATION PID BOOLEAN TIME
|
||
|
syn keyword sdlType CHARSTRING IA5STRING
|
||
|
syn keyword sdlType SELF NOW SENDER OFFSPRING
|
||
|
syn keyword sdlStructure ASNTYPE ENDASNTYPE SYNTYPE ENDSYNTYPE STRUCT
|
||
|
endif
|
||
|
|
||
|
" ASN.1 in SDL
|
||
|
syn case match
|
||
|
syn keyword sdlType SET OF BOOLEAN INTEGER REAL BIT OCTET
|
||
|
syn keyword sdlType SEQUENCE CHOICE
|
||
|
syn keyword sdlType STRING OBJECT IDENTIFIER NULL
|
||
|
|
||
|
syn sync ccomment sdlComment
|
||
|
|
||
|
" 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_sdl_syn_inits")
|
||
|
if version < 508
|
||
|
let did_sdl_syn_inits = 1
|
||
|
command -nargs=+ HiLink hi link <args>
|
||
|
command -nargs=+ Hi hi <args>
|
||
|
else
|
||
|
command -nargs=+ HiLink hi def link <args>
|
||
|
command -nargs=+ Hi hi def <args>
|
||
|
endif
|
||
|
|
||
|
HiLink sdlException Label
|
||
|
HiLink sdlConditional sdlStatement
|
||
|
HiLink sdlVirtual sdlStatement
|
||
|
HiLink sdlExported sdlFlag
|
||
|
HiLink sdlCommentError sdlError
|
||
|
HiLink sdlOperator Operator
|
||
|
HiLink sdlStructure sdlType
|
||
|
Hi sdlStatement term=bold ctermfg=4 guifg=Blue
|
||
|
Hi sdlFlag term=bold ctermfg=4 guifg=Blue gui=italic
|
||
|
Hi sdlNewState term=italic ctermfg=2 guifg=Magenta gui=underline
|
||
|
Hi sdlInput term=bold guifg=Red
|
||
|
HiLink sdlType Type
|
||
|
HiLink sdlString String
|
||
|
HiLink sdlComment Comment
|
||
|
HiLink sdlSpecial Special
|
||
|
HiLink sdlError Error
|
||
|
|
||
|
delcommand HiLink
|
||
|
delcommand Hi
|
||
|
endif
|
||
|
|
||
|
let b:current_syntax = "sdl"
|
||
|
|
||
|
" vim: ts=8
|