mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			154 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:	SDL
 | 
						|
" Maintainer:	Michael Piefel <entwurf@piefel.de>
 | 
						|
" Last Change:	2 May 2001
 | 
						|
 | 
						|
" quit when a syntax file was already loaded
 | 
						|
if 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.
 | 
						|
" Only when an item doesn't have highlighting yet
 | 
						|
command -nargs=+ Hi     hi def <args>
 | 
						|
 | 
						|
hi def link sdlException	Label
 | 
						|
hi def link sdlConditional	sdlStatement
 | 
						|
hi def link sdlVirtual		sdlStatement
 | 
						|
hi def link sdlExported		sdlFlag
 | 
						|
hi def link sdlCommentError	sdlError
 | 
						|
hi def link sdlOperator		Operator
 | 
						|
hi def link 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
 | 
						|
hi def link sdlType		Type
 | 
						|
hi def link sdlString		String
 | 
						|
hi def link sdlComment		Comment
 | 
						|
hi def link sdlSpecial		Special
 | 
						|
hi def link sdlError		Error
 | 
						|
 | 
						|
delcommand Hi
 | 
						|
 | 
						|
let b:current_syntax = "sdl"
 | 
						|
 | 
						|
" vim: ts=8
 |