comparison runtime/syntax/pyrex.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children c16898406ff2
comparison
equal deleted inserted replaced
-1:000000000000 0:76efa0be13f1
1 " Vim syntax file
2 " Language: Pyrex
3 " Maintainer: Marco Barisione <marco.bari@people.it>
4 " URL: http://marcobari.altervista.org/pyrex_vim.html
5 " Last Change: 2004 May 16
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
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
34 endif
35
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"
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
57 HiLink pyrexPrecondit PreCondit
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"