| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim syntax file | 
					
						
							|  |  |  | " Language:	C++ | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  | " Current Maintainer:	vim-jp (https://github.com/vim-jp/cpp-vim) | 
					
						
							|  |  |  | " Previous Maintainer:	Ken Shan <ccshan@post.harvard.edu> | 
					
						
							|  |  |  | " Last Change:	2012 Jun 14 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  | " C++ extensions | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 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 cppBoolean		true false | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  | " C++ 11 extensions | 
					
						
							|  |  |  | if !exists("cpp_no_cpp11") | 
					
						
							|  |  |  |   syn keyword cppType		override final | 
					
						
							|  |  |  |   syn keyword cppExceptions	noexcept | 
					
						
							|  |  |  |   syn keyword cppStorageClass	constexpr decltype | 
					
						
							|  |  |  |   syn keyword cppConstant	nullptr | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " 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 cppBoolean		Boolean | 
					
						
							| 
									
										
										
										
											2013-03-19 11:35:58 +01:00
										 |  |  |   HiLink cppConstant		Constant | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |   delcommand HiLink | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "cpp" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " vim: ts=8 |