[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/python-mode/python-mode/develop/syntax/pyrex.vim [Back]  [Original]

" Vim syntax file
" Language:	Pyrex
" Maintainer:	John Tyree
" Last Change:	2012 Nov 06

" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
  syntax clear
elseif exists("b:current_syntax")
  finish
endif

" Read the Python syntax to start with
if version < 600
  so :p:h/python.vim
else
  runtime! syntax/python.vim
  unlet b:current_syntax
endif

" Pyrex extentions
syn keyword pyrexStatement	nogil inline typedef ctypedef sizeof
syn keyword pyrexType		Py_ssize_t int long short float double char object void
" Here we want slightly different behavior depending on whether we're declaring
" variables or functions. c[p]def should work on the top level as a keyword, but
" should ALSO work to identify functions and classes.
syn match   pyrexStatement      "\"
syn match   pyrexStatement      "\[^=]*(\@=" contains=pythonStatement,pyrexStatement,pythonFunction,pyrexType skipwhite
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     "\"

" With "for[^:]*\zsfrom" VIM does not match "for" anymore, so
" I used the slower "\@

Web Proxy Viewer  |  New URL  |  Original Page