mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
	
	
		
			106 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			106 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	Sather/pSather | ||
|  | " Maintainer:	Claudio Fleiner <claudio@fleiner.com> | ||
|  | " URL:		http://www.fleiner.com/vim/syntax/sather.vim | ||
|  | " Last Change:	2003 May 11 | ||
|  | 
 | ||
|  | " Sather is a OO-language developped at the International Computer Science | ||
|  | " Institute (ICSI) in Berkeley, CA. pSather is a parallel extension to Sather. | ||
|  | " Homepage: http://www.icsi.berkeley.edu/~sather | ||
|  | " Sather files use .sa as suffix | ||
|  | 
 | ||
|  | " 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 | ||
|  | 
 | ||
|  | " keyword definitions | ||
|  | syn keyword satherExternal	 extern | ||
|  | syn keyword satherBranch	 break continue | ||
|  | syn keyword satherLabel		 when then | ||
|  | syn keyword satherConditional	 if else elsif end case typecase assert with | ||
|  | syn match satherConditional	 "near$" | ||
|  | syn match satherConditional	 "far$" | ||
|  | syn match satherConditional	 "near *[^(]"he=e-1 | ||
|  | syn match satherConditional	 "far *[^(]"he=e-1 | ||
|  | syn keyword satherSynchronize	 lock guard sync | ||
|  | syn keyword satherRepeat	 loop parloop do | ||
|  | syn match satherRepeat		 "while!" | ||
|  | syn match satherRepeat		 "break!" | ||
|  | syn match satherRepeat		 "until!" | ||
|  | syn keyword satherBoolValue	 true false | ||
|  | syn keyword satherValue		 self here cluster | ||
|  | syn keyword satherOperator	 new "== != & ^ | && || | ||
|  | syn keyword satherOperator	 and or not | ||
|  | syn match satherOperator	 "[#!]" | ||
|  | syn match satherOperator	 ":-" | ||
|  | syn keyword satherType		 void attr where | ||
|  | syn match satherType	       "near *("he=e-1 | ||
|  | syn match satherType	       "far *("he=e-1 | ||
|  | syn keyword satherStatement	 return | ||
|  | syn keyword satherStorageClass	 static const | ||
|  | syn keyword satherExceptions	 try raise catch | ||
|  | syn keyword satherMethodDecl	 is pre post | ||
|  | syn keyword satherClassDecl	 abstract value class include | ||
|  | syn keyword satherScopeDecl	 public private readonly | ||
|  | 
 | ||
|  | 
 | ||
|  | syn match   satherSpecial	    contained "\\\d\d\d\|\\." | ||
|  | syn region  satherString	    start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=satherSpecial | ||
|  | syn match   satherCharacter	    "'[^\\]'" | ||
|  | syn match   satherSpecialCharacter  "'\\.'" | ||
|  | syn match   satherNumber	  "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" | ||
|  | syn match   satherCommentSkip	  contained "^\s*\*\($\|\s\+\)" | ||
|  | syn region  satherComment2String  contained start=+"+  skip=+\\\\\|\\"+  end=+$\|"+  contains=satherSpecial | ||
|  | syn match   satherComment	  "--.*" contains=satherComment2String,satherCharacter,satherNumber | ||
|  | 
 | ||
|  | 
 | ||
|  | syn sync ccomment satherComment | ||
|  | 
 | ||
|  | " 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_sather_syn_inits") | ||
|  |   if version < 508 | ||
|  |     let did_sather_syn_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   HiLink satherBranch		satherStatement | ||
|  |   HiLink satherLabel		satherStatement | ||
|  |   HiLink satherConditional	satherStatement | ||
|  |   HiLink satherSynchronize	satherStatement | ||
|  |   HiLink satherRepeat		satherStatement | ||
|  |   HiLink satherExceptions	satherStatement | ||
|  |   HiLink satherStorageClass	satherDeclarative | ||
|  |   HiLink satherMethodDecl	satherDeclarative | ||
|  |   HiLink satherClassDecl	satherDeclarative | ||
|  |   HiLink satherScopeDecl	satherDeclarative | ||
|  |   HiLink satherBoolValue	satherValue | ||
|  |   HiLink satherSpecial		satherValue | ||
|  |   HiLink satherString		satherValue | ||
|  |   HiLink satherCharacter	satherValue | ||
|  |   HiLink satherSpecialCharacter satherValue | ||
|  |   HiLink satherNumber		satherValue | ||
|  |   HiLink satherStatement	Statement | ||
|  |   HiLink satherOperator		Statement | ||
|  |   HiLink satherComment		Comment | ||
|  |   HiLink satherType		Type | ||
|  |   HiLink satherValue		String | ||
|  |   HiLink satherString		String | ||
|  |   HiLink satherSpecial		String | ||
|  |   HiLink satherCharacter	String | ||
|  |   HiLink satherDeclarative	Type | ||
|  |   HiLink satherExternal		PreCondit | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "sather" | ||
|  | 
 | ||
|  | " vim: ts=8 |