forked from aniani/vim
		
	
		
			
	
	
		
			63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			63 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	C++ | ||
|  | " Maintainer:	Ken Shan <ccshan@post.harvard.edu> | ||
|  | " Last Change:	2002 Jul 15 | ||
|  | 
 | ||
|  | " 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 | ||
|  | 
 | ||
|  | " Read the C syntax to start with | ||
|  | if version < 600 | ||
|  |   so <sfile>:p:h/c.vim | ||
|  | else | ||
|  |   runtime! syntax/c.vim | ||
|  |   unlet b:current_syntax | ||
|  | endif | ||
|  | 
 | ||
|  | " C++ extentions | ||
|  | syn keyword cppStatement	new delete this friend using | ||
|  | syn keyword cppAccess		public protected private | ||
|  | syn keyword cppType		inline virtual explicit export bool wchar_t | ||
|  | syn keyword cppExceptions	throw try catch | ||
|  | syn keyword cppOperator		operator typeid | ||
|  | syn keyword cppOperator		and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq | ||
|  | syn match cppCast		"\<\(const\|static\|dynamic\|reinterpret\)_cast\s*<"me=e-1 | ||
|  | syn match cppCast		"\<\(const\|static\|dynamic\|reinterpret\)_cast\s*$" | ||
|  | syn keyword cppStorageClass	mutable | ||
|  | syn keyword cppStructure	class typename template namespace | ||
|  | syn keyword cppNumber		NPOS | ||
|  | syn keyword cppBoolean		true false | ||
|  | 
 | ||
|  | " The minimum and maximum operators in GNU C++ | ||
|  | syn match cppMinMax "[<>]?" | ||
|  | 
 | ||
|  | " Default highlighting | ||
|  | if version >= 508 || !exists("did_cpp_syntax_inits") | ||
|  |   if version < 508 | ||
|  |     let did_cpp_syntax_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  |   HiLink cppAccess		cppStatement | ||
|  |   HiLink cppCast		cppStatement | ||
|  |   HiLink cppExceptions		Exception | ||
|  |   HiLink cppOperator		Operator | ||
|  |   HiLink cppStatement		Statement | ||
|  |   HiLink cppType		Type | ||
|  |   HiLink cppStorageClass	StorageClass | ||
|  |   HiLink cppStructure		Structure | ||
|  |   HiLink cppNumber		Number | ||
|  |   HiLink cppBoolean		Boolean | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "cpp" | ||
|  | 
 | ||
|  | " vim: ts=8 |