7
|
1 " Vim syntax file
|
|
2 " Language: Pyrex
|
|
3 " Maintainer: Marco Barisione <marco.bari@people.it>
|
|
4 " URL: http://marcobari.altervista.org/pyrex_vim.html
|
2034
|
5 " Last Change: 2009 Nov 09
|
7
|
6
|
|
7 " For version 5.x: Clear all syntax items
|
|
8 " For version 6.x: Quit when a syntax file was already loaded
|
|
9 if version < 600
|
|
10 syntax clear
|
|
11 elseif exists("b:current_syntax")
|
|
12 finish
|
|
13 endif
|
|
14
|
|
15 " Read the Python syntax to start with
|
|
16 if version < 600
|
|
17 so <sfile>:p:h/python.vim
|
|
18 else
|
|
19 runtime! syntax/python.vim
|
|
20 unlet b:current_syntax
|
|
21 endif
|
|
22
|
|
23 " Pyrex extentions
|
|
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
|
2034
|
28 syn keyword pyrexInclude include cimport
|
7
|
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
|
|
34 endif
|
|
35
|
|
36 " This deletes "from" from the keywords and re-adds it as a
|
|
37 " match with lower priority than pyrexForFrom
|
2034
|
38 syn clear pythonInclude
|
|
39 syn keyword pythonInclude import
|
|
40 syn match pythonInclude "from"
|
7
|
41
|
|
42 " With "for[^:]*\zsfrom" VIM does not match "for" anymore, so
|
|
43 " I used the slower "\@<=" form
|
|
44 syn match pyrexForFrom "\(for[^:]*\)\@<=from"
|
|
45
|
|
46 " Default highlighting
|
|
47 if version >= 508 || !exists("did_pyrex_syntax_inits")
|
|
48 if version < 508
|
|
49 let did_pyrex_syntax_inits = 1
|
|
50 command -nargs=+ HiLink hi link <args>
|
|
51 else
|
|
52 command -nargs=+ HiLink hi def link <args>
|
|
53 endif
|
|
54 HiLink pyrexStatement Statement
|
|
55 HiLink pyrexType Type
|
|
56 HiLink pyrexStructure Structure
|
2034
|
57 HiLink pyrexInclude PreCondit
|
7
|
58 HiLink pyrexAccess pyrexStatement
|
|
59 if exists("python_highlight_builtins") || exists("pyrex_highlight_builtins")
|
|
60 HiLink pyrexBuiltin Function
|
|
61 endif
|
|
62 HiLink pyrexForFrom Statement
|
|
63
|
|
64 delcommand HiLink
|
|
65 endif
|
|
66
|
|
67 let b:current_syntax = "pyrex"
|