FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python-mode/syntax/pyrex.vim at develop · python-mode/python-mode · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
python-mode
/
python-mode
Public
Uh oh!
There was an error while loading.
Please reload this page
.
Notifications
You must be signed in to change notification settings
Fork
758
Star
5.5k
Code
Issues
38
Pull requests
1
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
python-mode
/
syntax
/
pyrex.vim
Copy path
More file actions
More file actions
Latest commit
History
History
History
71 lines (63 loc) · 2.32 KB
Breadcrumbs
python-mode
/
syntax
/
pyrex.vim
Copy path
File metadata and controls
71 lines (63 loc) · 2.32 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
"
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
<sfile>
:
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
"
\<
cp
\?
def
\>
"
syn
match
pyrexStatement
"
\<
cp
\?
def
\>
[^=]*(
\@
=
"
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
"
\<
from
\>
"
"
With "for[^:]*\zsfrom" VIM does not match "for" anymore, so
"
I used the slower "\@<=" form
syn
match
pyrexForFrom
"
\(\<
for
\>
[^:]*
\)\@
<=
\<
from
\>
"
"
Default highlighting
if
version
>=
508
||
!
exists
(
"
did_pyrex_syntax_inits
"
)
if
version
<
508
let
did_pyrex_syntax_inits
=
1
command
-
nargs
=
+
HiLink
hi
link
<args>
else
command
-
nargs
=
+
HiLink
hi
def
link
<args>
endif
HiLink pyrexStatement
Statement
HiLink pyrexType
Type
HiLink pyrexStructure
Structure
HiLink pyrexInclude
PreCondit
HiLink pyrexAccess pyrexStatement
if
exists
(
"
python_highlight_builtins
"
)
||
exists
(
"
pyrex_highlight_builtins
"
)
HiLink pyrexBuiltin
Function
endif
HiLink pyrexForFrom
Statement
delcommand
HiLink
endif
let
b:
current_syntax
=
"
pyrex
"
Back
|
FazBrowse Home
|
New Git URL