Browse Source

Highlight non-ASCII decorators only for Python 3

Dmitry Vasiliev 4 years ago
parent
commit
878e75cf90
4 changed files with 15 additions and 3 deletions
  1. 5
    0
      CHANGES.txt
  2. 1
    0
      README.rst
  3. 8
    3
      syntax/python.vim
  4. 1
    0
      test.py

+ 5
- 0
CHANGES.txt View File

@@ -1,3 +1,8 @@
1
+Revision 3.3.7 (2014-12-27):
2
+
3
+    - Add support for Python 3 non-ASCII decorator names.
4
+      Patch by Victor Salgado
5
+
1 6
 Revision 3.3.6 (2013-11-18):
2 7
 
3 8
     - Highlight 'yield from' statement introduced in Python 3.3. Reported by

+ 1
- 0
README.rst View File

@@ -139,5 +139,6 @@ List of the contributors in alphabetical order:
139 139
 - Marc Weber
140 140
 - Pedro Algarvio
141 141
 - pydave at GitHub
142
+- Victor Salgado
142 143
 - Will Gray
143 144
 - Yuri Habrusiev

+ 8
- 3
syntax/python.vim View File

@@ -2,9 +2,9 @@
2 2
 " Language:     Python
3 3
 " Maintainer:   Dmitry Vasiliev <dima at hlabs dot org>
4 4
 " URL:          https://github.com/hdima/python-syntax
5
-" Last Change:  2013-11-18
5
+" Last Change:  2014-12-27
6 6
 " Filenames:    *.py
7
-" Version:      3.3.6
7
+" Version:      3.3.7
8 8
 "
9 9
 " Based on python.vim (from Vim 6.1 distribution)
10 10
 " by Neil Schemenauer <nas at python dot ca>
@@ -31,6 +31,7 @@
31 31
 "   Marc Weber
32 32
 "   Pedro Algarvio
33 33
 "   pydave at GitHub
34
+"   Victor Salgado
34 35
 "   Will Gray
35 36
 "   Yuri Habrusiev
36 37
 "
@@ -179,7 +180,11 @@ endif
179 180
 "
180 181
 
181 182
 syn match   pythonDecorator	"@" display nextgroup=pythonDottedName skipwhite
182
-syn match   pythonDottedName "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\%(\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\)*" display contained
183
+if s:Python2Syntax()
184
+  syn match   pythonDottedName "[a-zA-Z_][a-zA-Z0-9_]*\%(\.[a-zA-Z_][a-zA-Z0-9_]*\)*" display contained
185
+else
186
+  syn match   pythonDottedName "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\%(\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\)*" display contained
187
+endif
183 188
 syn match   pythonDot        "\." display containedin=pythonDottedName
184 189
 
185 190
 "

+ 1
- 0
test.py View File

@@ -51,6 +51,7 @@ RuntimeWarning FutureWarning ImportWarning UnicodeWarning
51 51
 
52 52
 @ decoratorname
53 53
 @ object.__init__(arg1, arg2)
54
+@ декоратор
54 55
 @ декоратор.décorateur
55 56
 
56 57
 # Numbers