xref: /vim-8.2.3635/runtime/syntax/sdl.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	SDL
3b6b046b2SBram Moolenaar" Maintainer:	Michael Piefel <[email protected]>
4071d4279SBram Moolenaar" Last Change:	2 May 2001
5071d4279SBram Moolenaar
689bcfda6SBram Moolenaar" quit when a syntax file was already loaded
789bcfda6SBram Moolenaarif exists("b:current_syntax")
8071d4279SBram Moolenaar    finish
9071d4279SBram Moolenaarendif
10071d4279SBram Moolenaar
11071d4279SBram Moolenaarif !exists("sdl_2000")
12071d4279SBram Moolenaar    syntax case ignore
13071d4279SBram Moolenaarendif
14071d4279SBram Moolenaar
15071d4279SBram Moolenaar" A bunch of useful SDL keywords
16071d4279SBram Moolenaarsyn keyword sdlStatement	task else nextstate
17071d4279SBram Moolenaarsyn keyword sdlStatement	in out with from interface
18071d4279SBram Moolenaarsyn keyword sdlStatement	to via env and use
19071d4279SBram Moolenaarsyn keyword sdlStatement	process procedure block system service type
20071d4279SBram Moolenaarsyn keyword sdlStatement	endprocess endprocedure endblock endsystem
21071d4279SBram Moolenaarsyn keyword sdlStatement	package endpackage connection endconnection
22071d4279SBram Moolenaarsyn keyword sdlStatement	channel endchannel connect
23071d4279SBram Moolenaarsyn keyword sdlStatement	synonym dcl signal gate timer signallist signalset
24071d4279SBram Moolenaarsyn keyword sdlStatement	create output set reset call
25071d4279SBram Moolenaarsyn keyword sdlStatement	operators literals
26071d4279SBram Moolenaarsyn keyword sdlStatement	active alternative any as atleast constants
27071d4279SBram Moolenaarsyn keyword sdlStatement	default endalternative endmacro endoperator
28071d4279SBram Moolenaarsyn keyword sdlStatement	endselect endsubstructure external
29071d4279SBram Moolenaarsyn keyword sdlStatement	if then fi for import macro macrodefinition
30071d4279SBram Moolenaarsyn keyword sdlStatement	macroid mod nameclass nodelay not operator or
31071d4279SBram Moolenaarsyn keyword sdlStatement	parent provided referenced rem
32071d4279SBram Moolenaarsyn keyword sdlStatement	select spelling substructure xor
33071d4279SBram Moolenaarsyn keyword sdlNewState		state endstate
34071d4279SBram Moolenaarsyn keyword sdlInput		input start stop return none save priority
35071d4279SBram Moolenaarsyn keyword sdlConditional	decision enddecision join
36071d4279SBram Moolenaarsyn keyword sdlVirtual		virtual redefined finalized adding inherits
37071d4279SBram Moolenaarsyn keyword sdlExported		remote exported export
38071d4279SBram Moolenaar
39071d4279SBram Moolenaarif !exists("sdl_no_96")
40071d4279SBram Moolenaar    syn keyword sdlStatement	all axioms constant endgenerator endrefinement endservice
41071d4279SBram Moolenaar    syn keyword sdlStatement	error fpar generator literal map noequality ordering
42071d4279SBram Moolenaar    syn keyword sdlStatement	refinement returns revealed reverse service signalroute
43071d4279SBram Moolenaar    syn keyword sdlStatement	view viewed
44071d4279SBram Moolenaar    syn keyword sdlExported	imported
45071d4279SBram Moolenaarendif
46071d4279SBram Moolenaar
47071d4279SBram Moolenaarif exists("sdl_2000")
48071d4279SBram Moolenaar    syn keyword sdlStatement	abstract aggregation association break choice composition
49071d4279SBram Moolenaar    syn keyword sdlStatement	continue endmethod handle method
50071d4279SBram Moolenaar    syn keyword sdlStatement	ordered private protected public
51071d4279SBram Moolenaar    syn keyword sdlException	exceptionhandler endexceptionhandler onexception
52071d4279SBram Moolenaar    syn keyword sdlException	catch new raise
53071d4279SBram Moolenaar    " The same in uppercase
54071d4279SBram Moolenaar    syn keyword sdlStatement	TASK ELSE NEXTSTATE
55071d4279SBram Moolenaar    syn keyword sdlStatement	IN OUT WITH FROM INTERFACE
56071d4279SBram Moolenaar    syn keyword sdlStatement	TO VIA ENV AND USE
57071d4279SBram Moolenaar    syn keyword sdlStatement	PROCESS PROCEDURE BLOCK SYSTEM SERVICE TYPE
58071d4279SBram Moolenaar    syn keyword sdlStatement	ENDPROCESS ENDPROCEDURE ENDBLOCK ENDSYSTEM
59071d4279SBram Moolenaar    syn keyword sdlStatement	PACKAGE ENDPACKAGE CONNECTION ENDCONNECTION
60071d4279SBram Moolenaar    syn keyword sdlStatement	CHANNEL ENDCHANNEL CONNECT
61071d4279SBram Moolenaar    syn keyword sdlStatement	SYNONYM DCL SIGNAL GATE TIMER SIGNALLIST SIGNALSET
62071d4279SBram Moolenaar    syn keyword sdlStatement	CREATE OUTPUT SET RESET CALL
63071d4279SBram Moolenaar    syn keyword sdlStatement	OPERATORS LITERALS
64071d4279SBram Moolenaar    syn keyword sdlStatement	ACTIVE ALTERNATIVE ANY AS ATLEAST CONSTANTS
65071d4279SBram Moolenaar    syn keyword sdlStatement	DEFAULT ENDALTERNATIVE ENDMACRO ENDOPERATOR
66071d4279SBram Moolenaar    syn keyword sdlStatement	ENDSELECT ENDSUBSTRUCTURE EXTERNAL
67071d4279SBram Moolenaar    syn keyword sdlStatement	IF THEN FI FOR IMPORT MACRO MACRODEFINITION
68071d4279SBram Moolenaar    syn keyword sdlStatement	MACROID MOD NAMECLASS NODELAY NOT OPERATOR OR
69071d4279SBram Moolenaar    syn keyword sdlStatement	PARENT PROVIDED REFERENCED REM
70071d4279SBram Moolenaar    syn keyword sdlStatement	SELECT SPELLING SUBSTRUCTURE XOR
71071d4279SBram Moolenaar    syn keyword sdlNewState	STATE ENDSTATE
72071d4279SBram Moolenaar    syn keyword sdlInput	INPUT START STOP RETURN NONE SAVE PRIORITY
73071d4279SBram Moolenaar    syn keyword sdlConditional	DECISION ENDDECISION JOIN
74071d4279SBram Moolenaar    syn keyword sdlVirtual	VIRTUAL REDEFINED FINALIZED ADDING INHERITS
75071d4279SBram Moolenaar    syn keyword sdlExported	REMOTE EXPORTED EXPORT
76071d4279SBram Moolenaar
77071d4279SBram Moolenaar    syn keyword sdlStatement	ABSTRACT AGGREGATION ASSOCIATION BREAK CHOICE COMPOSITION
78071d4279SBram Moolenaar    syn keyword sdlStatement	CONTINUE ENDMETHOD ENDOBJECT ENDVALUE HANDLE METHOD OBJECT
79071d4279SBram Moolenaar    syn keyword sdlStatement	ORDERED PRIVATE PROTECTED PUBLIC
80071d4279SBram Moolenaar    syn keyword sdlException	EXCEPTIONHANDLER ENDEXCEPTIONHANDLER ONEXCEPTION
81071d4279SBram Moolenaar    syn keyword sdlException	CATCH NEW RAISE
82071d4279SBram Moolenaarendif
83071d4279SBram Moolenaar
84071d4279SBram Moolenaar" String and Character contstants
85071d4279SBram Moolenaar" Highlight special characters (those which have a backslash) differently
86071d4279SBram Moolenaarsyn match   sdlSpecial		contained "\\\d\d\d\|\\."
87071d4279SBram Moolenaarsyn region  sdlString		start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=cSpecial
88071d4279SBram Moolenaarsyn region  sdlString		start=+'+  skip=+''+  end=+'+
89071d4279SBram Moolenaar
90071d4279SBram Moolenaar" No, this doesn't happen, I just wanted to scare you. SDL really allows all
91071d4279SBram Moolenaar" these characters for identifiers; fortunately, keywords manage without them.
92071d4279SBram Moolenaar" set iskeyword=@,48-57,_,192-214,216-246,248-255,-
93071d4279SBram Moolenaar
94071d4279SBram Moolenaarsyn region sdlComment		start="/\*"  end="\*/"
95071d4279SBram Moolenaarsyn region sdlComment		start="comment"  end=";"
96071d4279SBram Moolenaarsyn region sdlComment		start="--" end="--\|$"
97071d4279SBram Moolenaarsyn match  sdlCommentError	"\*/"
98071d4279SBram Moolenaar
99071d4279SBram Moolenaarsyn keyword sdlOperator		present
100071d4279SBram Moolenaarsyn keyword sdlType		integer real natural duration pid boolean time
101071d4279SBram Moolenaarsyn keyword sdlType		character charstring ia5string
102071d4279SBram Moolenaarsyn keyword sdlType		self now sender offspring
103071d4279SBram Moolenaarsyn keyword sdlStructure	asntype endasntype syntype endsyntype struct
104071d4279SBram Moolenaar
105071d4279SBram Moolenaarif !exists("sdl_no_96")
106071d4279SBram Moolenaar    syn keyword sdlStructure	newtype endnewtype
107071d4279SBram Moolenaarendif
108071d4279SBram Moolenaar
109071d4279SBram Moolenaarif exists("sdl_2000")
110071d4279SBram Moolenaar    syn keyword sdlStructure	object endobject value endvalue
111071d4279SBram Moolenaar    " The same in uppercase
112071d4279SBram Moolenaar    syn keyword sdlStructure	OBJECT ENDOBJECT VALUE ENDVALUE
113071d4279SBram Moolenaar    syn keyword sdlOperator	PRESENT
114071d4279SBram Moolenaar    syn keyword sdlType		INTEGER NATURAL DURATION PID BOOLEAN TIME
115071d4279SBram Moolenaar    syn keyword sdlType		CHARSTRING IA5STRING
116071d4279SBram Moolenaar    syn keyword sdlType		SELF NOW SENDER OFFSPRING
117071d4279SBram Moolenaar    syn keyword sdlStructure	ASNTYPE ENDASNTYPE SYNTYPE ENDSYNTYPE STRUCT
118071d4279SBram Moolenaarendif
119071d4279SBram Moolenaar
120071d4279SBram Moolenaar" ASN.1 in SDL
121071d4279SBram Moolenaarsyn case match
122071d4279SBram Moolenaarsyn keyword sdlType		SET OF BOOLEAN INTEGER REAL BIT OCTET
123071d4279SBram Moolenaarsyn keyword sdlType		SEQUENCE CHOICE
124071d4279SBram Moolenaarsyn keyword sdlType		STRING OBJECT IDENTIFIER NULL
125071d4279SBram Moolenaar
126071d4279SBram Moolenaarsyn sync ccomment sdlComment
127071d4279SBram Moolenaar
128071d4279SBram Moolenaar" Define the default highlighting.
12989bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
130071d4279SBram Moolenaarcommand -nargs=+ Hi     hi def <args>
131071d4279SBram Moolenaar
132*f37506f6SBram Moolenaarhi def link sdlException	Label
133*f37506f6SBram Moolenaarhi def link sdlConditional	sdlStatement
134*f37506f6SBram Moolenaarhi def link sdlVirtual		sdlStatement
135*f37506f6SBram Moolenaarhi def link sdlExported		sdlFlag
136*f37506f6SBram Moolenaarhi def link sdlCommentError	sdlError
137*f37506f6SBram Moolenaarhi def link sdlOperator		Operator
138*f37506f6SBram Moolenaarhi def link sdlStructure	sdlType
139071d4279SBram MoolenaarHi	    sdlStatement	term=bold ctermfg=4 guifg=Blue
140071d4279SBram MoolenaarHi	    sdlFlag		term=bold ctermfg=4 guifg=Blue gui=italic
141071d4279SBram MoolenaarHi	    sdlNewState		term=italic ctermfg=2 guifg=Magenta gui=underline
142071d4279SBram MoolenaarHi	    sdlInput		term=bold guifg=Red
143*f37506f6SBram Moolenaarhi def link sdlType		Type
144*f37506f6SBram Moolenaarhi def link sdlString		String
145*f37506f6SBram Moolenaarhi def link sdlComment		Comment
146*f37506f6SBram Moolenaarhi def link sdlSpecial		Special
147*f37506f6SBram Moolenaarhi def link sdlError		Error
148071d4279SBram Moolenaar
149071d4279SBram Moolenaardelcommand Hi
150071d4279SBram Moolenaar
151071d4279SBram Moolenaarlet b:current_syntax = "sdl"
152071d4279SBram Moolenaar
153071d4279SBram Moolenaar" vim: ts=8
154