| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim syntax file | 
					
						
							|  |  |  | " Language:	Pyrex | 
					
						
							|  |  |  | " Maintainer:	Marco Barisione <marco.bari@people.it> | 
					
						
							|  |  |  | " URL:		http://marcobari.altervista.org/pyrex_vim.html | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  | " Last Change:	2009 Nov 09 | 
					
						
							| 
									
										
										
										
											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 Python syntax to start with | 
					
						
							|  |  |  | if version < 600 | 
					
						
							|  |  |  |   so <sfile>:p:h/python.vim | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |   runtime! syntax/python.vim | 
					
						
							|  |  |  |   unlet b:current_syntax | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Pyrex extentions | 
					
						
							|  |  |  | syn keyword pyrexStatement      cdef typedef ctypedef sizeof | 
					
						
							|  |  |  | syn keyword pyrexType		int long short float double char object void | 
					
						
							|  |  |  | syn keyword pyrexType		signed unsigned | 
					
						
							|  |  |  | syn keyword pyrexStructure	struct union enum | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  | syn keyword pyrexInclude	include cimport | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | syn keyword pyrexAccess		public private property readonly extern | 
					
						
							|  |  |  | " If someome wants Python's built-ins highlighted probably he | 
					
						
							|  |  |  | " also wants Pyrex's built-ins highlighted | 
					
						
							|  |  |  | if exists("python_highlight_builtins") || exists("pyrex_highlight_builtins") | 
					
						
							|  |  |  |     syn keyword pyrexBuiltin    NULL | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " This deletes "from" from the keywords and re-adds it as a | 
					
						
							|  |  |  | " match with lower priority than pyrexForFrom | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  | syn clear   pythonInclude | 
					
						
							|  |  |  | syn keyword pythonInclude     import | 
					
						
							|  |  |  | syn match   pythonInclude     "from" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " With "for[^:]*\zsfrom" VIM does not match "for" anymore, so | 
					
						
							|  |  |  | " I used the slower "\@<=" form | 
					
						
							|  |  |  | syn match   pyrexForFrom        "\(for[^:]*\)\@<=from" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Default highlighting | 
					
						
							|  |  |  | if version >= 508 || !exists("did_pyrex_syntax_inits") | 
					
						
							|  |  |  |   if version < 508 | 
					
						
							|  |  |  |     let did_pyrex_syntax_inits = 1 | 
					
						
							|  |  |  |     command -nargs=+ HiLink hi link <args> | 
					
						
							|  |  |  |   else | 
					
						
							|  |  |  |     command -nargs=+ HiLink hi def link <args> | 
					
						
							|  |  |  |   endif | 
					
						
							|  |  |  |   HiLink pyrexStatement		Statement | 
					
						
							|  |  |  |   HiLink pyrexType		Type | 
					
						
							|  |  |  |   HiLink pyrexStructure		Structure | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  |   HiLink pyrexInclude		PreCondit | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |   HiLink pyrexAccess		pyrexStatement | 
					
						
							|  |  |  |   if exists("python_highlight_builtins") || exists("pyrex_highlight_builtins") | 
					
						
							|  |  |  |       HiLink pyrexBuiltin	Function | 
					
						
							|  |  |  |   endif | 
					
						
							|  |  |  |   HiLink pyrexForFrom		Statement | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   delcommand HiLink | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "pyrex" |