1
0
mirror of https://github.com/gryf/python-syntax.git synced 2025-12-19 20:38:07 +01:00

9 Commits

Author SHA1 Message Date
Dmitry Vasiliev
878e75cf90 Highlight non-ASCII decorators only for Python 3 2014-12-27 16:13:08 +01:00
Dmitry Vasiliev
9209dd0c02 Merge https://github.com/mcsalgado/python-syntax 2014-12-27 15:52:20 +01:00
Dmitry Vasiliev
ea215a9085 Add the MIT license 2014-12-27 15:43:12 +01:00
Victor Salgado
9dc6765ad1 Fix decorators to allow the same kind of characters that functions do 2014-12-19 06:47:25 -02:00
Dmitry Vasiliev
453269d0f8 Highlight 'yield from' statement
The 'yield from' statement was introduced in Python 3.3. Reported by
Elizabeth Myers.
2013-11-18 21:29:47 +01:00
Dmitry Vasiliev
efe8499cfb Add TODO item 2013-11-18 21:23:03 +01:00
Dmitry Vasiliev
69f8e12a46 Add new option 'python_highlight_file_headers_as_comments'
The option is disabled by default and when enabled highlight shebang and
coding file headers as comments instead of special characters.
2013-08-31 14:28:14 +02:00
Dmitry Vasiliev
21a2e84df6 Update CHANGES.txt 2013-08-31 12:49:35 +02:00
pydave
9ccbd6196b Make imports look like includes
Imports work like includes so they should use the relevant group-name.

I also renamed pythonPreCondit to pythonImport since it's specific to
that type of "preprocessor" statement.
2013-08-24 10:54:06 -07:00
6 changed files with 81 additions and 11 deletions

View File

@@ -1,3 +1,21 @@
Revision 3.3.7 (2014-12-27):
- Add support for Python 3 non-ASCII decorator names.
Patch by Victor Salgado
Revision 3.3.6 (2013-11-18):
- Highlight 'yield from' statement introduced in Python 3.3. Reported by
Elizabeth Myers.
Revision 3.3.5 (2013-08-31):
- Highlight 'import', 'from' and 'as' as include statements.
Patch by pydave at GitHub.
- Added new option 'python_highlight_file_headers_as_comments' (disabled by
default) to highlight shebang and coding file headers as comments.
Proposed by pydave at GitHub.
Revision 3.3.4 (2013-08-11): Revision 3.3.4 (2013-08-11):
- Highlight True and False as booleans. Patch by Yuri Habrusiev. - Highlight True and False as booleans. Patch by Yuri Habrusiev.

21
LICENSE Normal file
View File

@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2002-2014 Dmitry Vasiliev <dima@hlabs.org>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -117,6 +117,8 @@ Options used by the script
Highlight doc-tests Highlight doc-tests
``python_print_as_function`` ``python_print_as_function``
Highlight ``print`` statement as function for Python 2 Highlight ``print`` statement as function for Python 2
``python_highlight_file_headers_as_comments``
Highlight shebang and coding headers as comments
``python_highlight_all`` ``python_highlight_all``
Enable all the options above. *NOTE: This option don't override any Enable all the options above. *NOTE: This option don't override any
previously set options* previously set options*
@@ -131,9 +133,12 @@ List of the contributors in alphabetical order:
- Andrea Riciputi - Andrea Riciputi
- Anton Butanaev - Anton Butanaev
- Caleb Adamantine - Caleb Adamantine
- Elizabeth Myers
- Jeroen Ruigrok van der Werven - Jeroen Ruigrok van der Werven
- John Eikenberry - John Eikenberry
- Marc Weber - Marc Weber
- Pedro Algarvio - Pedro Algarvio
- pydave at GitHub
- Victor Salgado
- Will Gray - Will Gray
- Yuri Habrusiev - Yuri Habrusiev

View File

@@ -1,6 +1,9 @@
Now Now
=== ===
- It seems python.vim doesn't highlight special characters inside strings by
default but only when it reloaded?
- Add support for slice syntax: - Add support for slice syntax:
http://img155.imageshack.us/img155/7767/screenshotgs.png http://img155.imageshack.us/img155/7767/screenshotgs.png

View File

@@ -2,9 +2,9 @@
" Language: Python " Language: Python
" Maintainer: Dmitry Vasiliev <dima at hlabs dot org> " Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
" URL: https://github.com/hdima/python-syntax " URL: https://github.com/hdima/python-syntax
" Last Change: 2013-08-11 " Last Change: 2014-12-27
" Filenames: *.py " Filenames: *.py
" Version: 3.3.4 " Version: 3.3.7
" "
" Based on python.vim (from Vim 6.1 distribution) " Based on python.vim (from Vim 6.1 distribution)
" by Neil Schemenauer <nas at python dot ca> " by Neil Schemenauer <nas at python dot ca>
@@ -25,10 +25,13 @@
" Andrea Riciputi " Andrea Riciputi
" Anton Butanaev " Anton Butanaev
" Caleb Adamantine " Caleb Adamantine
" Elizabeth Myers
" Jeroen Ruigrok van der Werven " Jeroen Ruigrok van der Werven
" John Eikenberry " John Eikenberry
" Marc Weber " Marc Weber
" Pedro Algarvio " Pedro Algarvio
" pydave at GitHub
" Victor Salgado
" Will Gray " Will Gray
" Yuri Habrusiev " Yuri Habrusiev
" "
@@ -72,6 +75,9 @@
" python_highlight_doctests Highlight doc-tests " python_highlight_doctests Highlight doc-tests
" python_print_as_function Highlight 'print' statement as " python_print_as_function Highlight 'print' statement as
" function for Python 2 " function for Python 2
" python_highlight_file_headers_as_comments
" Highlight shebang and coding
" headers as comments
" "
" python_highlight_all Enable all the options above " python_highlight_all Enable all the options above
" NOTE: This option don't override " NOTE: This option don't override
@@ -144,23 +150,27 @@ syn keyword pythonStatement break continue del
syn keyword pythonStatement exec return syn keyword pythonStatement exec return
syn keyword pythonStatement pass raise syn keyword pythonStatement pass raise
syn keyword pythonStatement global assert syn keyword pythonStatement global assert
syn keyword pythonStatement lambda yield syn keyword pythonStatement lambda
syn keyword pythonStatement with syn keyword pythonStatement with
syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite
syn keyword pythonRepeat for while syn keyword pythonRepeat for while
syn keyword pythonConditional if elif else syn keyword pythonConditional if elif else
syn keyword pythonPreCondit import from syn keyword pythonImport import
syn keyword pythonException try except finally syn keyword pythonException try except finally
syn keyword pythonOperator and in is not or syn keyword pythonOperator and in is not or
syn match pythonStatement "\<yield\>" display
syn match pythonImport "\<from\>" display
if s:Python2Syntax() if s:Python2Syntax()
if !s:Enabled("g:python_print_as_function") if !s:Enabled("g:python_print_as_function")
syn keyword pythonStatement print syn keyword pythonStatement print
endif endif
syn keyword pythonPreCondit as syn keyword pythonImport as
syn match pythonFunction "[a-zA-Z_][a-zA-Z0-9_]*" display contained syn match pythonFunction "[a-zA-Z_][a-zA-Z0-9_]*" display contained
else else
syn keyword pythonStatement as nonlocal None syn keyword pythonStatement as nonlocal None
syn match pythonStatement "\<yield\s\+from\>" display
syn keyword pythonBoolean True False syn keyword pythonBoolean True False
syn match pythonFunction "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained syn match pythonFunction "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained
endif endif
@@ -170,7 +180,11 @@ endif
" "
syn match pythonDecorator "@" display nextgroup=pythonDottedName skipwhite syn match pythonDecorator "@" display nextgroup=pythonDottedName skipwhite
syn match pythonDottedName "[a-zA-Z_][a-zA-Z0-9_]*\%(\.[a-zA-Z_][a-zA-Z0-9_]*\)*" display contained if s:Python2Syntax()
syn match pythonDottedName "[a-zA-Z_][a-zA-Z0-9_]*\%(\.[a-zA-Z_][a-zA-Z0-9_]*\)*" display contained
else
syn match pythonDottedName "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\%(\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\)*" display contained
endif
syn match pythonDot "\." display containedin=pythonDottedName syn match pythonDot "\." display containedin=pythonDottedName
" "
@@ -178,8 +192,10 @@ syn match pythonDot "\." display containedin=pythonDottedName
" "
syn match pythonComment "#.*$" display contains=pythonTodo,@Spell syn match pythonComment "#.*$" display contains=pythonTodo,@Spell
syn match pythonRun "\%^#!.*$" if !s:Enabled("g:python_highlight_file_headers_as_comments")
syn match pythonCoding "\%^.*\%(\n.*\)\?#.*coding[:=]\s*[0-9A-Za-z-_.]\+.*$" syn match pythonRun "\%^#!.*$"
syn match pythonCoding "\%^.*\%(\n.*\)\?#.*coding[:=]\s*[0-9A-Za-z-_.]\+.*$"
endif
syn keyword pythonTodo TODO FIXME XXX contained syn keyword pythonTodo TODO FIXME XXX contained
" "
@@ -469,7 +485,7 @@ if version >= 508 || !exists("did_python_syn_inits")
endif endif
HiLink pythonStatement Statement HiLink pythonStatement Statement
HiLink pythonPreCondit Statement HiLink pythonImport Include
HiLink pythonFunction Function HiLink pythonFunction Function
HiLink pythonConditional Conditional HiLink pythonConditional Conditional
HiLink pythonRepeat Repeat HiLink pythonRepeat Repeat
@@ -481,8 +497,10 @@ if version >= 508 || !exists("did_python_syn_inits")
HiLink pythonDot Normal HiLink pythonDot Normal
HiLink pythonComment Comment HiLink pythonComment Comment
if !s:Enabled("g:python_highlight_file_headers_as_comments")
HiLink pythonCoding Special HiLink pythonCoding Special
HiLink pythonRun Special HiLink pythonRun Special
endif
HiLink pythonTodo Todo HiLink pythonTodo Todo
HiLink pythonError Error HiLink pythonError Error

View File

@@ -10,6 +10,9 @@
with break continue del exec return pass print raise global assert lambda yield with break continue del exec return pass print raise global assert lambda yield
for while if elif else import from as try except finally and in is not or for while if elif else import from as try except finally and in is not or
yield from
def functionname def functionname
class Classname class Classname
def функция def функция
@@ -48,6 +51,8 @@ RuntimeWarning FutureWarning ImportWarning UnicodeWarning
@ decoratorname @ decoratorname
@ object.__init__(arg1, arg2) @ object.__init__(arg1, arg2)
@ декоратор
@ декоратор.décorateur
# Numbers # Numbers