56 lines
1.7 KiB
VimL
56 lines
1.7 KiB
VimL
|
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1
|
||
|
|
||
|
" Vim syntax file
|
||
|
" Language: Pyrex
|
||
|
" Maintainer: Marco Barisione <marco.bari@people.it>
|
||
|
" URL: http://marcobari.altervista.org/pyrex_vim.html
|
||
|
" Last Change: 2009 Nov 09
|
||
|
|
||
|
" quit when a syntax file was already loaded
|
||
|
if exists("b:current_syntax")
|
||
|
finish
|
||
|
endif
|
||
|
|
||
|
" Read the Python syntax to start with
|
||
|
runtime! syntax/python.vim
|
||
|
unlet b:current_syntax
|
||
|
|
||
|
" 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
|
||
|
syn keyword pyrexInclude include cimport
|
||
|
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
|
||
|
syn clear pythonInclude
|
||
|
syn keyword pythonInclude import
|
||
|
syn match pythonInclude "from"
|
||
|
|
||
|
" With "for[^:]*\zsfrom" VIM does not match "for" anymore, so
|
||
|
" I used the slower "\@<=" form
|
||
|
syn match pyrexForFrom "\(for[^:]*\)\@<=from"
|
||
|
|
||
|
" Default highlighting
|
||
|
hi def link pyrexStatement Statement
|
||
|
hi def link pyrexType Type
|
||
|
hi def link pyrexStructure Structure
|
||
|
hi def link pyrexInclude PreCondit
|
||
|
hi def link pyrexAccess pyrexStatement
|
||
|
if exists("python_highlight_builtins") || exists("pyrex_highlight_builtins")
|
||
|
hi def link pyrexBuiltin Function
|
||
|
endif
|
||
|
hi def link pyrexForFrom Statement
|
||
|
|
||
|
|
||
|
let b:current_syntax = "pyrex"
|
||
|
|
||
|
endif
|