3 " Maintainer: Marco Barisione <marco.bari@people.it>
4 " URL: http://marcobari.altervista.org/pyrex_vim.html
5 " Last Change: 2004 May 16
7 " For version 5.x: Clear all syntax items
8 " For version 6.x: Quit when a syntax file was already loaded
11 elseif exists("b:current_syntax")
15 " Read the Python syntax to start with
17 so <sfile>:p:h/python.vim
19 runtime! syntax/python.vim
20 unlet b:current_syntax
24 syn keyword pyrexStatement cdef typedef ctypedef sizeof
25 syn keyword pyrexType int long short float double char object void
26 syn keyword pyrexType signed unsigned
27 syn keyword pyrexStructure struct union enum
28 syn keyword pyrexPrecondit include cimport
29 syn keyword pyrexAccess public private property readonly extern
30 " If someome wants Python's built-ins highlighted probably he
31 " also wants Pyrex's built-ins highlighted
32 if exists("python_highlight_builtins") || exists("pyrex_highlight_builtins")
33 syn keyword pyrexBuiltin NULL
36 " This deletes "from" from the keywords and re-adds it as a
37 " match with lower priority than pyrexForFrom
38 syn clear pythonPreCondit
39 syn keyword pythonPreCondit import
40 syn match pythonPreCondit "from"
42 " With "for[^:]*\zsfrom" VIM does not match "for" anymore, so
43 " I used the slower "\@<=" form
44 syn match pyrexForFrom "\(for[^:]*\)\@<=from"
46 " Default highlighting
47 if version >= 508 || !exists("did_pyrex_syntax_inits")
49 let did_pyrex_syntax_inits = 1
50 command -nargs=+ HiLink hi link <args>
52 command -nargs=+ HiLink hi def link <args>
54 HiLink pyrexStatement Statement
56 HiLink pyrexStructure Structure
57 HiLink pyrexPrecondit PreCondit
58 HiLink pyrexAccess pyrexStatement
59 if exists("python_highlight_builtins") || exists("pyrex_highlight_builtins")
60 HiLink pyrexBuiltin Function
62 HiLink pyrexForFrom Statement
67 let b:current_syntax = "pyrex"