summaryrefslogtreecommitdiffstats
path: root/syntax/pyrex.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-10-06 18:54:19 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-10-06 18:54:19 +0200
commitbc9757916ed09763d96283ee62dbed58bd713a11 (patch)
tree07fbb58e9a4f4cbf5206d89f61e4d570e64d2c1a /syntax/pyrex.vim
parentc6fa4d2bf5eb5301f4d3f123031cf34839a5508d (diff)
downloadvim-polyglot-bc9757916ed09763d96283ee62dbed58bd713a11.tar.gz
vim-polyglot-bc9757916ed09763d96283ee62dbed58bd713a11.zip
Add all vim filetypes
Diffstat (limited to 'syntax/pyrex.vim')
-rw-r--r--syntax/pyrex.vim55
1 files changed, 55 insertions, 0 deletions
diff --git a/syntax/pyrex.vim b/syntax/pyrex.vim
new file mode 100644
index 00000000..c90163ac
--- /dev/null
+++ b/syntax/pyrex.vim
@@ -0,0 +1,55 @@
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'pyrex') == -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