Merge branch 'hack/autopaste'
[vim-kana.git] / runtime / syntax / pyrex.vim
blobf06b2d3d7e601c4b4a9bb9eb4f9fe8d2b4cb7520
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
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
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
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
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")
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
64   delcommand HiLink
65 endif
67 let b:current_syntax = "pyrex"