mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
	
	
		
			127 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			127 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	occam | ||
|  | " Copyright:	Fred Barnes <frmb2@kent.ac.uk>, Mario Schweigler <ms44@kent.ac.uk> | ||
|  | " Maintainer:	Mario Schweigler <ms44@kent.ac.uk> | ||
|  | " Last Change:	24 May 2003 | ||
|  | 
 | ||
|  | if version < 600 | ||
|  |   syntax clear | ||
|  | elseif exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | "{{{  Settings | ||
|  | " Set shift width for indent | ||
|  | setlocal shiftwidth=2 | ||
|  | " Set the tab key size to two spaces | ||
|  | setlocal softtabstop=2 | ||
|  | " Let tab keys always be expanded to spaces | ||
|  | setlocal expandtab | ||
|  | 
 | ||
|  | " Dots are valid in occam identifiers | ||
|  | setlocal iskeyword+=. | ||
|  | "}}} | ||
|  | 
 | ||
|  | syn case match | ||
|  | 
 | ||
|  | syn keyword occamType		BYTE BOOL INT INT16 INT32 INT64 REAL32 REAL64 ANY | ||
|  | syn keyword occamType		CHAN DATA OF TYPE TIMER INITIAL VAL PORT MOBILE PLACED | ||
|  | syn keyword occamType		PROCESSOR PACKED RECORD PROTOCOL SHARED ROUND TRUNC | ||
|  | 
 | ||
|  | syn keyword occamStructure	SEQ PAR IF ALT PRI FORKING PLACE AT | ||
|  | 
 | ||
|  | syn keyword occamKeyword	PROC IS TRUE FALSE SIZE RECURSIVE REC | ||
|  | syn keyword occamKeyword	RETYPES RESHAPES STEP FROM FOR RESCHEDULE STOP SKIP FORK | ||
|  | syn keyword occamKeyword	FUNCTION VALOF RESULT ELSE CLONE CLAIM | ||
|  | syn keyword occamBoolean	TRUE FALSE | ||
|  | syn keyword occamRepeat		WHILE | ||
|  | syn keyword occamConditional	CASE | ||
|  | syn keyword occamConstant	MOSTNEG MOSTPOS | ||
|  | 
 | ||
|  | syn match occamBrackets		/\[\|\]/ | ||
|  | syn match occamParantheses	/(\|)/ | ||
|  | 
 | ||
|  | syn keyword occamOperator	AFTER TIMES MINUS PLUS INITIAL REM AND OR XOR NOT | ||
|  | syn keyword occamOperator	BITAND BITOR BITNOT BYTESIN OFFSETOF | ||
|  | 
 | ||
|  | syn match occamOperator		/::\|:=\|?\|!/ | ||
|  | syn match occamOperator		/<\|>\|+\|-\|\*\|\/\|\\\|=\|\~/ | ||
|  | syn match occamOperator		/@\|\$\$\|%\|&&\|<&\|&>\|<\]\|\[>\|\^/ | ||
|  | 
 | ||
|  | syn match occamSpecialChar	/\M**\|*'\|*"\|*#\(\[0-9A-F\]\+\)/ contained | ||
|  | syn match occamChar		/\M\L\='\[^*\]'/ | ||
|  | syn match occamChar		/L'[^']*'/ contains=occamSpecialChar | ||
|  | 
 | ||
|  | syn case ignore | ||
|  | syn match occamTodo		/\<todo\>:\=/ contained | ||
|  | syn match occamNote		/\<note\>:\=/ contained | ||
|  | syn case match | ||
|  | syn keyword occamNote		NOT contained | ||
|  | 
 | ||
|  | syn match occamComment		/--.*/ contains=occamCommentTitle,occamTodo,occamNote | ||
|  | syn match occamCommentTitle	/--\s*\u\a*\(\s\+\u\a*\)*:/hs=s+2 contained contains=occamTodo,occamNote | ||
|  | syn match occamCommentTitle	/--\s*KROC-LIBRARY\(\.so\|\.a\)\=\s*$/hs=s+2 contained | ||
|  | syn match occamCommentTitle	/--\s*\(KROC-OPTIONS:\|RUN-PARAMETERS:\)/hs=s+2 contained | ||
|  | 
 | ||
|  | syn match occamIdentifier	/\<[A-Z.][A-Z.0-9]*\>/ | ||
|  | syn match occamFunction		/\<[A-Za-z.][A-Za-z0-9.]*\>/ contained | ||
|  | 
 | ||
|  | syn match occamPPIdentifier	/##.\{-}\>/ | ||
|  | 
 | ||
|  | syn region occamString		start=/"/ skip=/\M*"/ end=/"/ contains=occamSpecialChar | ||
|  | syn region occamCharString	start=/'/ end=/'/ contains=occamSpecialChar | ||
|  | 
 | ||
|  | syn match occamNumber		/\<\d\+\(\.\d\+\(E\(+\|-\)\d\+\)\=\)\=/ | ||
|  | syn match occamNumber		/-\d\+\(\.\d\+\(E\(+\|-\)\d\+\)\=\)\=/ | ||
|  | syn match occamNumber		/#\(\d\|[A-F]\)\+/ | ||
|  | syn match occamNumber		/-#\(\d\|[A-F]\)\+/ | ||
|  | 
 | ||
|  | syn keyword occamCDString	SHARED EXTERNAL DEFINED NOALIAS NOUSAGE NOT contained | ||
|  | syn keyword occamCDString	FILE LINE PROCESS.PRIORITY OCCAM2.5 contained | ||
|  | syn keyword occamCDString	USER.DEFINED.OPERATORS INITIAL.DECL MOBILES contained | ||
|  | syn keyword occamCDString	BLOCKING.SYSCALLS VERSION NEED.QUAD.ALIGNMENT contained | ||
|  | syn keyword occamCDString	TARGET.CANONICAL TARGET.CPU TARGET.OS TARGET.VENDOR contained | ||
|  | syn keyword occamCDString	TRUE FALSE AND OR contained | ||
|  | syn match occamCDString		/<\|>\|=\|(\|)/ contained | ||
|  | 
 | ||
|  | syn region occamCDirective	start=/#\(USE\|INCLUDE\|PRAGMA\|DEFINE\|UNDEFINE\|UNDEF\|IF\|ELIF\|ELSE\|ENDIF\|WARNING\|ERROR\|RELAX\)\>/ end=/$/ contains=occamString,occamComment,occamCDString | ||
|  | 
 | ||
|  | if version >= 508 || !exists("did_occam_syn_inits") | ||
|  |   if version < 508 | ||
|  |     let did_occam_syntax_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   HiLink occamType Type | ||
|  |   HiLink occamKeyword Keyword | ||
|  |   HiLink occamComment Comment | ||
|  |   HiLink occamCommentTitle PreProc | ||
|  |   HiLink occamTodo Todo | ||
|  |   HiLink occamNote Todo | ||
|  |   HiLink occamString String | ||
|  |   HiLink occamCharString String | ||
|  |   HiLink occamNumber Number | ||
|  |   HiLink occamCDirective PreProc | ||
|  |   HiLink occamCDString String | ||
|  |   HiLink occamPPIdentifier PreProc | ||
|  |   HiLink occamBoolean Boolean | ||
|  |   HiLink occamSpecialChar SpecialChar | ||
|  |   HiLink occamChar Character | ||
|  |   HiLink occamStructure Structure | ||
|  |   HiLink occamIdentifier Identifier | ||
|  |   HiLink occamConstant Constant | ||
|  |   HiLink occamOperator Operator | ||
|  |   HiLink occamFunction Ignore | ||
|  |   HiLink occamRepeat Repeat | ||
|  |   HiLink occamConditional Conditional | ||
|  |   HiLink occamBrackets Type | ||
|  |   HiLink occamParantheses Delimiter | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "occam" | ||
|  | 
 |