home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / dos / syntax / pyrex.vim < prev    next >
Encoding:
Text File  |  2010-08-15  |  2.1 KB  |  68 lines

  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:    2009 Nov 09
  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 pyrexInclude    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   pythonInclude
  39. syn keyword pythonInclude     import
  40. syn match   pythonInclude     "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 pyrexInclude        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"
  68.