Merge branch 'master' of github.com:rad4day/dotfiles
This commit is contained in:
commit
c4ce41408f
@ -6,6 +6,7 @@
|
||||
lg = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
|
||||
cu = "!git branch --merged | grep -v '\\*' | grep -v master | xargs -n 1 git branch -d"
|
||||
undo = reset HEAD~
|
||||
ignore = "!gi() { curl -L -s https://www.gitignore.io/api/$@ ; } ; gi"
|
||||
[commit]
|
||||
gpgsign = true
|
||||
[core]
|
||||
|
9
.gitmodules
vendored
9
.gitmodules
vendored
@ -61,9 +61,6 @@
|
||||
[submodule "vim/plugins/javacomplete"]
|
||||
path = vim/plugins/javacomplete
|
||||
url = https://github.com/vim-scripts/javacomplete
|
||||
[submodule "vim/plugins/pythonsyntax"]
|
||||
path = vim/plugins/pythonsyntax
|
||||
url = https://github.com/hdima/python-syntax
|
||||
[submodule "vim/plugins/vim-python-pep8-indent"]
|
||||
path = vim/plugins/vim-python-pep8-indent
|
||||
url = https://github.com/Vimjas/vim-python-pep8-indent
|
||||
@ -154,3 +151,9 @@
|
||||
[submodule "vim/plugins/ansible-vim"]
|
||||
path = vim/plugins/ansible-vim
|
||||
url = https://github.com/pearofducks/ansible-vim
|
||||
[submodule "vim/plugins/traces.vim"]
|
||||
path = vim/plugins/traces.vim
|
||||
url = https://github.com/markonm/traces.vim
|
||||
[submodule "vim/plugins/vim-window-resize-easy"]
|
||||
path = vim/plugins/vim-window-resize-easy
|
||||
url = https://github.com/roxma/vim-window-resize-easy
|
||||
|
@ -4,7 +4,7 @@ source ~/.config/.mutt.mailboxes
|
||||
|
||||
set folder=imaps://imap.mailbox.org:993/
|
||||
set spoolfile=+INBOX
|
||||
mailboxes =INBOX =INBOX/KIT =INBOX/Github =INBOX/Coreboot =Spam =Sent
|
||||
mailboxes =INBOX =INBOX/Freelance =INBOX/KIT =INBOX/Github =INBOX/Coreboot =Spam =Sent
|
||||
set header_cache = ~/.cache/mutt
|
||||
unset imap_passive
|
||||
set imap_keepalive = 300
|
||||
|
1
ssh.pub
1
ssh.pub
@ -1,2 +1,3 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKnXpQ4aaW3Uhn2pfZ79+mqC1Hls2gvSARFNDroNjxGH rad4day@Cyb3r
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOEbfr3p9Kl3ob6wlzIw0JemcPMtMJs2jQeoFL4lJu/p rad4day@ThinkPad
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDzZSuD2TbjnIDrGMWu6t50cQEQEuSqEuYjol1+aKfpW u0_a170@motorola
|
||||
|
@ -70,8 +70,10 @@ let g:NERDCommentEmptyLines = 1
|
||||
let g:NERDTrimTrailingWhitespace = 1
|
||||
|
||||
|
||||
" PythonSyntax
|
||||
let python_highlight_all = 1
|
||||
" PyMode
|
||||
let g:pymode_lint = 0
|
||||
let g:pymode_syntax = 1
|
||||
let g:pymode_syntax_all = 1
|
||||
|
||||
|
||||
" Simpylfold
|
||||
@ -83,7 +85,7 @@ let g:SuperTabDefaultCompletionType = "<c-space>"
|
||||
|
||||
|
||||
" Ale
|
||||
let g:ale_linters = {"python": ["flake8"]}
|
||||
let g:ale_linters = {"python": ["flake8"], "python3": ["flake8"]}
|
||||
|
||||
|
||||
" UltiSnips
|
||||
|
@ -1,224 +0,0 @@
|
||||
Revision 3.6.0 (2015-11-XX):
|
||||
|
||||
- Fix 'async def' highlighting. Patch by Joongi Kim
|
||||
- Add dummy 'pythonInclude' group to avoid crashing standard pyrex.vim.
|
||||
Patch by Antony Lee
|
||||
|
||||
Revision 3.5.0 (2015-06-10):
|
||||
|
||||
- Add support for 'async ...' and 'await' keywords introduced in
|
||||
Python 3.5. Patch by Ihor Gorobets
|
||||
|
||||
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 David Briscoe
|
||||
- Added new option 'python_highlight_file_headers_as_comments' (disabled by
|
||||
default) to highlight shebang and coding file headers as comments.
|
||||
Proposed by David Briscoe.
|
||||
|
||||
Revision 3.3.4 (2013-08-11):
|
||||
|
||||
- Highlight True and False as booleans. Patch by Yuri Habrusiev.
|
||||
|
||||
Revision 3.3.3 (2013-06-02):
|
||||
|
||||
- More lightweight syntax reloading. Patch by Will Gray.
|
||||
|
||||
Revision 3.3.2 (2013-06-01):
|
||||
|
||||
- Fixed behaviour of b:python_version_2 variable. Reported by Will Gray.
|
||||
|
||||
Revision 3.3.1 (2013-05-12):
|
||||
|
||||
- The script was moved to its own repository at
|
||||
https://github.com/hdima/python-syntax
|
||||
|
||||
Revision 3.3.0 (2013-03-10):
|
||||
|
||||
- Merge Python 2 and Python 3 script versions into the single python.vim
|
||||
script
|
||||
|
||||
Revision 3.0.7 (2012-02-11):
|
||||
|
||||
- Updated email and URL
|
||||
|
||||
Revision 2.6.7 (2012-02-11):
|
||||
|
||||
- Updated email and URL
|
||||
|
||||
Revision 3.0.6 (2010-11-14):
|
||||
|
||||
- Fixed highlighting for str.format syntax. Patch by Anton Butanaev.
|
||||
|
||||
Revision 3.0.5 (2010-11-11):
|
||||
|
||||
- Fixed highlighting for bytes. Patch by Anton Butanaev.
|
||||
- Fixed highlighting for numbers.
|
||||
|
||||
Revision 3.0.4 (2010-11-09):
|
||||
|
||||
- Fixed highlighting for raw bytes literals. Patch by Anton Butanaev.
|
||||
|
||||
Revision 3.0.3 (2010-04-09):
|
||||
|
||||
- Applied patch by Andrea Riciputi with new configuration options
|
||||
"python_highlight_builtin_objs" and "python_highlight_builtin_funcs"
|
||||
|
||||
Revision 3.0.2 (2009-07-24):
|
||||
|
||||
- Applied patch by Caleb Adamantine which fixes highlighting for decorators
|
||||
|
||||
Revision 3.0.1 (2009-05-03):
|
||||
|
||||
- Fixed compatibility with pyrex.vim
|
||||
|
||||
Revision 3.0.0 (2008-12-07):
|
||||
|
||||
- Added support for non-ASCII identifiers;
|
||||
- Added support for new text strings and binary data (bytes);
|
||||
- Updated support for numeric literals;
|
||||
- Updated support for str.format;
|
||||
- Added new builtins introduced in Python 2.6: "ascii", "exec",
|
||||
"memoryview", "print";
|
||||
- Added new keyword "nonlocal";
|
||||
- Removed exception "StandardError";
|
||||
- Removed builtins: "apply", "basestring", "buffer", "callable", "coerce",
|
||||
"execfile", "file", "help", "intern", "long", "raw_input", "reduce",
|
||||
"reload", "unichr", "unicode", "xrange";
|
||||
|
||||
Revision 2.6.6 (2010-04-09):
|
||||
|
||||
- Applied patch by Andrea Riciputi with new configuration options
|
||||
"python_highlight_builtin_objs" and "python_highlight_builtin_funcs"
|
||||
|
||||
Revision 2.6.5 (2009-07-24):
|
||||
|
||||
- Applied patch by Caleb Adamantine which fixes highlighting for decorators
|
||||
|
||||
Revision 2.6.4 (2009-05-03):
|
||||
|
||||
- Fixed compatibility with pyrex.vim
|
||||
|
||||
Revision 2.6.3 (2008-09-29):
|
||||
|
||||
- Return back trailing 'L' support for numbers. Actually it was changed for
|
||||
future Python 3.0 syntax but in wrong file;
|
||||
|
||||
Revision 2.6.2 (2008-09-22):
|
||||
|
||||
- Added "VMSError" exception;
|
||||
- Added support for b"..." syntax;
|
||||
- Added support for str.format brace escaping;
|
||||
|
||||
Revision 2.6.1 (2008-09-21):
|
||||
|
||||
- Added new builtins and exceptions introduced in Python 2.6: "bin",
|
||||
"bytearray", "bytes", "format", "next", "BufferError", "BytesWarning";
|
||||
- Added builtin "__debug__";
|
||||
- Added global variables: "__doc__", "__file__", "__name__", "__package__";
|
||||
- Removed "OverflowWarning" (removed in Python 2.5);
|
||||
- Added option "python_print_as_function" for highlight "print" as a
|
||||
function;
|
||||
- Added support for new integer literal syntax "0o" and "0b";
|
||||
- Added support for string.Template syntax controlled by
|
||||
"python_highlight_string_templates" option;
|
||||
- Added support for str.format syntax controlled by
|
||||
"python_highlight_string_format" option;
|
||||
- Removed highlighting for "--" and "++" because it's a valid Python
|
||||
expressions which can be interpreted as "a + +b";
|
||||
|
||||
Revision 2.5.6 (2007-02-04):
|
||||
|
||||
- Applied patch by Pedro Algarvio to enable spell checking only for
|
||||
the right spots (strings and comments);
|
||||
|
||||
Revision 2.5.5 (2006-09-26):
|
||||
|
||||
- added new warnings (ImportWarning, UnicodeWarning)
|
||||
introduced in Python 2.5;
|
||||
|
||||
Revision 2.5.4 (2006-05-11):
|
||||
|
||||
- added highlighting for erroneous operators: &&, ||, ++, --, ===
|
||||
(inspired by http://www.vim.org/tips/tip.php?tip_id=969, thanks
|
||||
Jeroen Ruigrok van der Werven for the link);
|
||||
- added highlighting for new 'with' statement and 'BaseException',
|
||||
'GeneratorExit' exceptions introduced in Python 2.5;
|
||||
- added highlighting for 'OverflowWarning' exception which had been
|
||||
forgotten;
|
||||
- returned more robust recognition for function names;
|
||||
|
||||
Revision 2.5.3:
|
||||
|
||||
- fixed %-formatting highlighting for raw unicode strings;
|
||||
|
||||
Revision 2.5.2:
|
||||
|
||||
- slightly simplified option handling;
|
||||
- fixed regexp for indentation errors;
|
||||
- fixed highlighting for backslashed symbols inside strings;
|
||||
- added highlighting for trailing-space errors (triggered by new
|
||||
option: python_highlight_space_errors);
|
||||
- added highlighting for variable name errors;
|
||||
- added highlighting for hex number errors;
|
||||
|
||||
Revision 2.5.1 (2005-03-13):
|
||||
|
||||
- added new builtins 'all' and 'any' (Python 2.5a0)
|
||||
|
||||
Revision 2.4.2 (2004-08-05):
|
||||
|
||||
- added highlighting for new @decorator syntax introduced in python 2.4a2
|
||||
|
||||
Revision 2.4.1 (2004-03-17):
|
||||
|
||||
- new versioning scheme (based on python version numbers);
|
||||
- added highlighting for new types/builtins introduced in python 2.4
|
||||
(set, frozenset, reversed, sorted);
|
||||
- new option added: python_slow_sync (set this for slow but more
|
||||
robust syntax synchronization);
|
||||
- added highlighting for doctests;
|
||||
|
||||
Revision 1.19:
|
||||
|
||||
- new option added: python_highlight_indent_errors;
|
||||
- python_highlight_all now not override previously set options,
|
||||
for example code:
|
||||
let python_highlight_indent_errors = 0
|
||||
let python_highlight_all = 1
|
||||
set all highlight options except indentation errors highlighting option;
|
||||
|
||||
Revision 1.17:
|
||||
|
||||
- changed header, "Based on..." string added;
|
||||
|
||||
Revision 1.16:
|
||||
|
||||
- added basestring builtin;
|
||||
|
||||
Revision 1.15 (first public revision).
|
||||
|
||||
The changes since the original (vim6.1) python.vim are:
|
||||
|
||||
- changed string highlighting;
|
||||
- enhanced special symbols highlighting inside strings;
|
||||
- enhanced constant numbers highlighting;
|
||||
- added optional highlighting for %-formatting inside strings;
|
||||
- added highlighting for error conditions (wrong symbols in source file,
|
||||
mixing spaces and tabs, wrong number values,
|
||||
wrong %-formatting inside strings);
|
||||
- added highlighting for magic comments: source code encoding
|
||||
and #! (executable) strings;
|
||||
- added highlighting for new exceptions and builtins introduced
|
||||
in python 2.3;
|
@ -1,21 +0,0 @@
|
||||
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.
|
@ -1,147 +0,0 @@
|
||||
Python syntax highlighting script for Vim
|
||||
=========================================
|
||||
|
||||
.. contents::
|
||||
|
||||
About
|
||||
-----
|
||||
|
||||
Enhanced version of the original Python syntax highlighting script. Based on
|
||||
``python.vim`` from Vim 6.1 distribution by Neil Schemenauer (nas at python dot
|
||||
ca). Check also `python.vim page on vim.org
|
||||
<http://www.vim.org/scripts/script.php?script_id=790>`_.
|
||||
|
||||
Please use the following channels for reporting bugs, offering suggestions or
|
||||
feedback:
|
||||
|
||||
- python.vim issue tracker: https://github.com/hdima/python-syntax/issues
|
||||
- Email: Dmitry Vasiliev (dima at hlabs.org)
|
||||
- Send a message or follow me for updates on Twitter: `@hdima
|
||||
<https://twitter.com/hdima>`__
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
Changes from the original ``python.vim`` are:
|
||||
|
||||
- Added support for Python 3 syntax highlighting
|
||||
- Added ``:Python2Syntax`` and ``:Python3Syntax`` commands which allow to
|
||||
switch between Python 2 and Python 3 syntaxes respectively without
|
||||
reloads/restarts
|
||||
- Updated strings highlighting
|
||||
- Enhanced special symbols highlighting inside strings
|
||||
- Enhanced highlighting of numeric constants
|
||||
- Added optional highlighting for %-formatting inside strings
|
||||
- Added highlighting for magic comments: source code encoding and #!
|
||||
(executable) strings
|
||||
- Added highlighting for new exceptions and builtins
|
||||
- Added highlighting for doctests
|
||||
- Added highlighting for new ``@decorator`` syntax introduced in Python 2.4a2
|
||||
- Added highlighting for the following errors:
|
||||
|
||||
- invalid symbols in source file
|
||||
- mixing spaces and tabs
|
||||
- invalid numeric constants
|
||||
- invalid %-formatting inside strings
|
||||
- invalid variable names
|
||||
- trailing spaces (triggered by the ``python_highlight_space_errors`` option)
|
||||
|
||||
Some of these features was later backported into the original ``python.vim``.
|
||||
|
||||
How to install
|
||||
--------------
|
||||
|
||||
The easiest installation method is to place `syntax/python.vim
|
||||
<https://github.com/hdima/python-syntax/blob/master/syntax/python.vim>`_ script
|
||||
into your ``~/.vim/syntax/`` directory.
|
||||
|
||||
You can also use `Pathogen <https://github.com/tpope/vim-pathogen>`_ or `Vundle
|
||||
<https://github.com/gmarik/vundle>`_ plugin managers in which case you can
|
||||
install the whole `python.vim repository
|
||||
<https://github.com/hdima/python-syntax>`_ into the corresponding plugins
|
||||
directory.
|
||||
|
||||
Script options
|
||||
--------------
|
||||
|
||||
There are two commands to enable or disable an option:
|
||||
|
||||
``:let OPTION_NAME = 1``
|
||||
Enable option
|
||||
``:let OPTION_NAME = 0``
|
||||
Disable option
|
||||
|
||||
For example to enable all syntax highlighting features you can place the
|
||||
following command in your ``~/.vimrc`` script::
|
||||
|
||||
let python_highlight_all = 1
|
||||
|
||||
Option and commands to select Python version
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``python_version_2``
|
||||
Enable highlighting for Python 2 (Python 3 highlighting is enabled by
|
||||
default). Also can be set as a local to buffer ``b:python_version_2``
|
||||
variable.
|
||||
|
||||
The following local to buffer commands can be used to switch between two
|
||||
highlighting modes:
|
||||
|
||||
``:Python2Syntax``
|
||||
Switch to Python 2 highlighting mode
|
||||
``:Python3Syntax``
|
||||
Switch to Python 3 highlighting mode
|
||||
|
||||
Options used by the script
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
``python_highlight_builtins``
|
||||
Highlight builtin functions and objects
|
||||
``python_highlight_builtin_objs``
|
||||
Highlight builtin objects only
|
||||
``python_highlight_builtin_funcs``
|
||||
Highlight builtin functions only
|
||||
``python_highlight_exceptions``
|
||||
Highlight standard exceptions
|
||||
``python_highlight_string_formatting``
|
||||
Highlight ``%`` string formatting
|
||||
``python_highlight_string_format``
|
||||
Highlight syntax of ``str.format`` syntax
|
||||
``python_highlight_string_templates``
|
||||
Highlight syntax of ``string.Template``
|
||||
``python_highlight_indent_errors``
|
||||
Highlight indentation errors
|
||||
``python_highlight_space_errors``
|
||||
Highlight trailing spaces
|
||||
``python_highlight_doctests``
|
||||
Highlight doc-tests
|
||||
``python_print_as_function``
|
||||
Highlight ``print`` statement as 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. *NOTE: This option don't override any
|
||||
previously set options*
|
||||
``python_slow_sync``
|
||||
Can be set to 0 for slow machines
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
List of the contributors in alphabetical order:
|
||||
|
||||
- `Andrea Riciputi <https://github.com/mrrech>`_
|
||||
- Anton Butanaev
|
||||
- `Antony Lee <https://github.com/anntzer>`_
|
||||
- Caleb Adamantine
|
||||
- `David Briscoe <https://github.com/idbrii>`_
|
||||
- `Elizabeth Myers <https://github.com/Elizafox>`_
|
||||
- `Ihor Gorobets <https://github.com/iho>`_
|
||||
- `Jeroen Ruigrok van der Werven <https://github.com/ashemedai>`_
|
||||
- `John Eikenberry <https://github.com/eikenb>`_
|
||||
- `Joongi Kim <https://github.com/achimnol>`_
|
||||
- `Marc Weber <https://github.com/MarcWeber>`_
|
||||
- `Pedro Algarvio <https://github.com/s0undt3ch>`_
|
||||
- `Victor Salgado <https://github.com/mcsalgado>`_
|
||||
- `Will Gray <https://github.com/graywh>`_
|
||||
- `Yuri Habrusiev <https://github.com/yuriihabrusiev>`_
|
@ -1,26 +0,0 @@
|
||||
Now
|
||||
===
|
||||
|
||||
- It seems python.vim doesn't highlight special characters inside strings by
|
||||
default but only when reloaded? Or maybe only when set to Python 2
|
||||
by default?
|
||||
|
||||
- Add support for slice syntax:
|
||||
http://img155.imageshack.us/img155/7767/screenshotgs.png
|
||||
|
||||
- When we check spelling we don't need to check the whole strings only the
|
||||
content. For example we don't need to check 'u' for spelling in strings
|
||||
like this: u"Some text";
|
||||
|
||||
Later
|
||||
=====
|
||||
|
||||
- Need more accurate way to handle indentation errors. For example
|
||||
mixing spaces and tabs may be used for pretty formatting;
|
||||
|
||||
- Need more checks for errors like: absent brackets, absent quotes,
|
||||
back slash at the end of strings;
|
||||
|
||||
- pythonError tips from
|
||||
http://blog.sontek.net/2008/05/11/python-with-a-modular-ide-vim/ (reported by
|
||||
Giuliani Deon Sanches)
|
@ -1,237 +0,0 @@
|
||||
" Vim syntax file
|
||||
" Language: Python
|
||||
" Maintainer: Neil Schemenauer <nas at python dot ca>
|
||||
" Updated: $Date: 2003/01/12 14:17:34 $
|
||||
" Updated by: Dmitry Vasiliev <dima at hlabs dot org>
|
||||
" Filenames: *.py
|
||||
" $Revision: 1.13 $
|
||||
"
|
||||
" Options:
|
||||
" For folded functions and classes:
|
||||
"
|
||||
" let python_folding = 1
|
||||
"
|
||||
" For highlighted builtin functions:
|
||||
"
|
||||
" let python_highlight_builtins = 1
|
||||
"
|
||||
" For highlighted standard exceptions:
|
||||
"
|
||||
" let python_highlight_exceptions = 1
|
||||
"
|
||||
" For highlighted string formatting:
|
||||
"
|
||||
" let python_highlight_string_formatting = 1
|
||||
"
|
||||
" If you want all possible Python highlighting:
|
||||
"
|
||||
" let python_highlight_all = 1
|
||||
"
|
||||
" TODO: Check more errors?
|
||||
|
||||
" 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
|
||||
|
||||
if exists("python_highlight_all")
|
||||
let python_folding = 1
|
||||
let python_highlight_builtins = 1
|
||||
let python_highlight_exceptions = 1
|
||||
let python_highlight_string_formatting = 1
|
||||
endif
|
||||
|
||||
" Keywords
|
||||
syn keyword pythonStatement break continue del
|
||||
syn keyword pythonStatement exec return
|
||||
syn keyword pythonStatement pass print raise
|
||||
syn keyword pythonStatement global assert
|
||||
syn keyword pythonStatement lambda yield
|
||||
if exists("python_folding") && has("folding")
|
||||
syn match pythonStatement "\<\(def\|class\)\>" display nextgroup=pythonFunction skipwhite
|
||||
else
|
||||
syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite
|
||||
endif
|
||||
syn match pythonFunction "\h\w*" display contained
|
||||
syn keyword pythonRepeat for while
|
||||
syn keyword pythonConditional if elif else
|
||||
syn keyword pythonImport import from as
|
||||
syn keyword pythonException try except finally
|
||||
syn keyword pythonOperator and in is not or
|
||||
|
||||
" Comments
|
||||
syn match pythonComment "#.*$" display contains=pythonTodo
|
||||
syn keyword pythonTodo TODO FIXME XXX contained
|
||||
|
||||
" Erroneous characters that cannont be in a python program
|
||||
syn match pythonError "[@$?]" display
|
||||
" Mixing spaces and tabs is bad
|
||||
syn match pythonIndentError "^\s*\(\t \| \t\)\s*" display
|
||||
|
||||
" Strings
|
||||
syn region pythonString start=+'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ contains=pythonEscape,pythonEscapeError
|
||||
syn region pythonString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ contains=pythonEscape,pythonEscapeError
|
||||
syn region pythonString start=+"""+ end=+"""+ contains=pythonEscape,pythonEscapeError
|
||||
syn region pythonString start=+'''+ end=+'''+ contains=pythonEscape,pythonEscapeError
|
||||
|
||||
syn match pythonEscape +\\[abfnrtv'"\\]+ display contained
|
||||
syn match pythonEscapeError +\\[^abfnrtv'"\\]+ display contained
|
||||
syn match pythonEscape "\\\o\o\=\o\=" display contained
|
||||
syn match pythonEscapeError "\\\o\{,2}[89]" display contained
|
||||
syn match pythonEscape "\\x\x\{2}" display contained
|
||||
syn match pythonEscapeError "\\x\x\=\X" display contained
|
||||
syn match pythonEscape "\\$"
|
||||
|
||||
" Unicode strings
|
||||
syn region pythonUniString start=+[uU]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError
|
||||
syn region pythonUniString start=+[uU]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError
|
||||
syn region pythonUniString start=+[uU]"""+ end=+"""+ contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError
|
||||
syn region pythonUniString start=+[uU]'''+ end=+'''+ contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError
|
||||
|
||||
syn match pythonUniEscape "\\u\x\{4}" display contained
|
||||
syn match pythonUniEscapeError "\\u\x\{,3}\X" display contained
|
||||
syn match pythonUniEscape "\\U\x\{8}" display contained
|
||||
syn match pythonUniEscapeError "\\U\x\{,7}\X" display contained
|
||||
syn match pythonUniEscape "\\N{[A-Z ]\+}" display contained
|
||||
syn match pythonUniEscapeError "\\N{[^A-Z ]\+}" display contained
|
||||
|
||||
" Raw strings
|
||||
syn region pythonRawString start=+[rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ contains=pythonRawEscape
|
||||
syn region pythonRawString start=+[rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ contains=pythonRawEscape
|
||||
syn region pythonRawString start=+[rR]"""+ end=+"""+
|
||||
syn region pythonRawString start=+[rR]'''+ end=+'''+
|
||||
|
||||
syn match pythonRawEscape +\\['"]+ display transparent contained
|
||||
|
||||
" Unicode raw strings
|
||||
syn region pythonUniRawString start=+[uU][rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ contains=pythonRawEscape,pythonUniRawEscape,pythonUniRawEscapeError
|
||||
syn region pythonUniRawString start=+[uU][rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ contains=pythonRawEscape,pythonUniRawEscape,pythonUniRawEscapeError
|
||||
syn region pythonUniRawString start=+[uU][rR]"""+ end=+"""+ contains=pythonUniRawEscape,pythonUniRawEscapeError
|
||||
syn region pythonUniRawString start=+[uU][rR]'''+ end=+'''+ contains=pythonUniRawEscape,pythonUniRawEscapeError
|
||||
|
||||
syn match pythonUniRawEscape "\([^\\]\(\\\\\)*\)\@<=\\u\x\{4}" display contained
|
||||
syn match pythonUniRawEscapeError "\([^\\]\(\\\\\)*\)\@<=\\u\x\{,3}\X" display contained
|
||||
|
||||
if exists("python_highlight_string_formatting")
|
||||
" String formatting
|
||||
syn match pythonStrFormat "%\(([^)]\+)\)\=[-#0 +]\=\d*\(\.\d\+\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonUniString,pythonRawString
|
||||
syn match pythonStrFormat "%[-#0 +]\=\(\*\|\d\+\)\=\(\.\(\*\|\d\+\)\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonUniString,pythonRawString
|
||||
endif
|
||||
|
||||
" Numbers (ints, longs, floats, complex)
|
||||
syn match pythonNumber "\<0[xX]\x\+[lL]\=\>" display
|
||||
syn match pythonNumber "\<\d\+[lLjJ]\=\>" display
|
||||
syn match pythonFloat "\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" display
|
||||
syn match pythonFloat "\<\d\+[eE][+-]\=\d\+[jJ]\=\>" display
|
||||
syn match pythonFloat "\<\d\+\.\d*\([eE][+-]\=\d\+\)\=[jJ]\=" display
|
||||
syn match pythonOctalError "\<0\o*[89]\d*[lLjJ]\=\>" display
|
||||
|
||||
if exists("python_highlight_builtins")
|
||||
" Builtin functions, types and objects, not really part of the syntax
|
||||
syn keyword pythonBuiltinObj True False Ellipsis None NotImplemented
|
||||
syn keyword pythonBuiltinFunc bool __import__ abs
|
||||
syn keyword pythonBuiltinFunc apply buffer callable chr classmethod cmp
|
||||
syn keyword pythonBuiltinFunc coerce compile complex delattr dict dir divmod
|
||||
syn keyword pythonBuiltinFunc eval execfile file filter float getattr globals
|
||||
syn keyword pythonBuiltinFunc hasattr hash hex id input int intern isinstance
|
||||
syn keyword pythonBuiltinFunc issubclass iter len list locals long map max
|
||||
syn keyword pythonBuiltinFunc min object oct open ord pow property range
|
||||
syn keyword pythonBuiltinFunc raw_input reduce reload repr round setattr
|
||||
syn keyword pythonBuiltinFunc slice staticmethod str super tuple type unichr
|
||||
syn keyword pythonBuiltinFunc unicode vars xrange zip
|
||||
endif
|
||||
|
||||
if exists("python_highlight_exceptions")
|
||||
" Builtin exceptions and warnings
|
||||
syn keyword pythonExClass ArithmeticError AssertionError AttributeError
|
||||
syn keyword pythonExClass DeprecationWarning EOFError EnvironmentError
|
||||
syn keyword pythonExClass Exception FloatingPointError IOError
|
||||
syn keyword pythonExClass ImportError IndentiationError IndexError
|
||||
syn keyword pythonExClass KeyError KeyboardInterrupt LookupError
|
||||
syn keyword pythonExClass MemoryError NameError NotImplementedError
|
||||
syn keyword pythonExClass OSError OverflowError OverflowWarning
|
||||
syn keyword pythonExClass ReferenceError RuntimeError RuntimeWarning
|
||||
syn keyword pythonExClass StandardError StopIteration SyntaxError
|
||||
syn keyword pythonExClass SyntaxWarning SystemError SystemExit TabError
|
||||
syn keyword pythonExClass TypeError UnboundLocalError UnicodeError
|
||||
syn keyword pythonExClass UserWarning ValueError Warning WindowsError
|
||||
syn keyword pythonExClass ZeroDivisionError
|
||||
endif
|
||||
|
||||
syn sync clear
|
||||
if exists("python_folding") && has("folding")
|
||||
syn sync fromstart
|
||||
|
||||
"syn match pythonFold "^\(\s*\)\(class\|def\)\s.*\(\(\n\s*\)*\n\1\s\+\S.*\)\+" transparent fold
|
||||
syn region pythonFold start="^\z(\s*\)\(class\|def\)\s" skip="^\z1\s\+\S" end="^\s*\S"me=s-1 transparent fold
|
||||
syn region pythonFold start="{" end="}" transparent fold
|
||||
syn region pythonFold start="\[" end="\]" transparent fold
|
||||
else
|
||||
" This is fast but code inside triple quoted strings screws it up. It
|
||||
" is impossible to fix because the only way to know if you are inside a
|
||||
" triple quoted string is to start from the beginning of the file. If
|
||||
" you have a fast machine you can try uncommenting the "sync minlines"
|
||||
" and commenting out the rest.
|
||||
syn sync match pythonSync grouphere NONE "):$"
|
||||
syn sync maxlines=200
|
||||
"syn sync minlines=2000
|
||||
endif
|
||||
|
||||
if version >= 508 || !exists("did_python_syn_inits")
|
||||
if version <= 508
|
||||
let did_python_syn_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
HiLink pythonStatement Statement
|
||||
HiLink pythonImport Statement
|
||||
HiLink pythonFunction Function
|
||||
HiLink pythonConditional Conditional
|
||||
HiLink pythonRepeat Repeat
|
||||
HiLink pythonException Exception
|
||||
HiLink pythonOperator Operator
|
||||
|
||||
HiLink pythonComment Comment
|
||||
HiLink pythonTodo Todo
|
||||
|
||||
HiLink pythonError Error
|
||||
HiLink pythonIndentError Error
|
||||
|
||||
HiLink pythonString String
|
||||
HiLink pythonUniString String
|
||||
HiLink pythonRawString String
|
||||
HiLink pythonUniRawString String
|
||||
|
||||
HiLink pythonEscape Special
|
||||
HiLink pythonEscapeError Error
|
||||
HiLink pythonUniEscape Special
|
||||
HiLink pythonUniEscapeError Error
|
||||
HiLink pythonUniRawEscape Special
|
||||
HiLink pythonUniRawEscapeError Error
|
||||
|
||||
if exists("python_highlight_string_formatting")
|
||||
HiLink pythonStrFormat Special
|
||||
endif
|
||||
|
||||
HiLink pythonNumber Number
|
||||
HiLink pythonFloat Float
|
||||
HiLink pythonOctalError Error
|
||||
|
||||
if exists("python_highlight_builtins")
|
||||
HiLink pythonBuiltinObj Structure
|
||||
HiLink pythonBuiltinFunc Function
|
||||
endif
|
||||
|
||||
if exists("python_highlight_exceptions")
|
||||
HiLink pythonExClass Structure
|
||||
endif
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
let b:current_syntax = "python"
|
@ -1,236 +0,0 @@
|
||||
" Vim syntax file
|
||||
" Language: Python
|
||||
" Maintainer: Neil Schemenauer <nas at python dot ca>
|
||||
" Updated: $Date: 2003/01/12 15:35:02 $
|
||||
" Updated by: Dmitry Vasiliev <dima at hlabs dot org>
|
||||
" Filenames: *.py
|
||||
" $Revision: 1.14 $
|
||||
"
|
||||
" Options:
|
||||
" For folded functions and classes:
|
||||
"
|
||||
" let python_folding = 1
|
||||
"
|
||||
" For highlighted builtin functions:
|
||||
"
|
||||
" let python_highlight_builtins = 1
|
||||
"
|
||||
" For highlighted standard exceptions:
|
||||
"
|
||||
" let python_highlight_exceptions = 1
|
||||
"
|
||||
" For highlighted string formatting:
|
||||
"
|
||||
" let python_highlight_string_formatting = 1
|
||||
"
|
||||
" If you want all possible Python highlighting:
|
||||
"
|
||||
" let python_highlight_all = 1
|
||||
"
|
||||
" TODO: Check more errors?
|
||||
|
||||
" 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
|
||||
|
||||
if exists("python_highlight_all")
|
||||
let python_folding = 1
|
||||
let python_highlight_builtins = 1
|
||||
let python_highlight_exceptions = 1
|
||||
let python_highlight_string_formatting = 1
|
||||
endif
|
||||
|
||||
" Keywords
|
||||
syn keyword pythonStatement break continue del
|
||||
syn keyword pythonStatement exec return
|
||||
syn keyword pythonStatement pass print raise
|
||||
syn keyword pythonStatement global assert
|
||||
syn keyword pythonStatement lambda yield
|
||||
if exists("python_folding") && has("folding")
|
||||
syn match pythonStatement "\<\(def\|class\)\>" display nextgroup=pythonFunction skipwhite
|
||||
else
|
||||
syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite
|
||||
endif
|
||||
syn match pythonFunction "\h\w*" display contained
|
||||
syn keyword pythonRepeat for while
|
||||
syn keyword pythonConditional if elif else
|
||||
syn keyword pythonImport import from as
|
||||
syn keyword pythonException try except finally
|
||||
syn keyword pythonOperator and in is not or
|
||||
|
||||
" Comments
|
||||
syn match pythonComment "#.*$" display contains=pythonTodo
|
||||
syn keyword pythonTodo TODO FIXME XXX contained
|
||||
|
||||
" Erroneous characters that cannont be in a python program
|
||||
syn match pythonError "[@$?]" display
|
||||
" Mixing spaces and tabs is bad
|
||||
syn match pythonError "^\s*\(\t \| \t\)\s*" display
|
||||
|
||||
" Strings
|
||||
syn region pythonString start=+'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ contains=pythonEscape,pythonEscapeError
|
||||
syn region pythonString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ contains=pythonEscape,pythonEscapeError
|
||||
syn region pythonString start=+"""+ end=+"""+ contains=pythonEscape,pythonEscapeError
|
||||
syn region pythonString start=+'''+ end=+'''+ contains=pythonEscape,pythonEscapeError
|
||||
|
||||
syn match pythonEscape +\\[abfnrtv'"\\]+ display contained
|
||||
syn match pythonEscapeError +\\[^abfnrtv'"\\]+ display contained
|
||||
syn match pythonEscape "\\\o\o\=\o\=" display contained
|
||||
syn match pythonEscapeError "\\\o\{,2}[89]" display contained
|
||||
syn match pythonEscape "\\x\x\{2}" display contained
|
||||
syn match pythonEscapeError "\\x\x\=\X" display contained
|
||||
syn match pythonEscape "\\$"
|
||||
|
||||
" Unicode strings
|
||||
syn region pythonUniString start=+[uU]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError
|
||||
syn region pythonUniString start=+[uU]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError
|
||||
syn region pythonUniString start=+[uU]"""+ end=+"""+ contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError
|
||||
syn region pythonUniString start=+[uU]'''+ end=+'''+ contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError
|
||||
|
||||
syn match pythonUniEscape "\\u\x\{4}" display contained
|
||||
syn match pythonUniEscapeError "\\u\x\{,3}\X" display contained
|
||||
syn match pythonUniEscape "\\U\x\{8}" display contained
|
||||
syn match pythonUniEscapeError "\\U\x\{,7}\X" display contained
|
||||
syn match pythonUniEscape "\\N{[A-Z ]\+}" display contained
|
||||
syn match pythonUniEscapeError "\\N{[^A-Z ]\+}" display contained
|
||||
|
||||
" Raw strings
|
||||
syn region pythonRawString start=+[rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ contains=pythonRawEscape
|
||||
syn region pythonRawString start=+[rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ contains=pythonRawEscape
|
||||
syn region pythonRawString start=+[rR]"""+ end=+"""+
|
||||
syn region pythonRawString start=+[rR]'''+ end=+'''+
|
||||
|
||||
syn match pythonRawEscape +\\['"]+ display transparent contained
|
||||
|
||||
" Unicode raw strings
|
||||
syn region pythonUniRawString start=+[uU][rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ contains=pythonRawEscape,pythonUniRawEscape,pythonUniRawEscapeError
|
||||
syn region pythonUniRawString start=+[uU][rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ contains=pythonRawEscape,pythonUniRawEscape,pythonUniRawEscapeError
|
||||
syn region pythonUniRawString start=+[uU][rR]"""+ end=+"""+ contains=pythonUniRawEscape,pythonUniRawEscapeError
|
||||
syn region pythonUniRawString start=+[uU][rR]'''+ end=+'''+ contains=pythonUniRawEscape,pythonUniRawEscapeError
|
||||
|
||||
syn match pythonUniRawEscape "\([^\\]\(\\\\\)*\)\@<=\\u\x\{4}" display contained
|
||||
syn match pythonUniRawEscapeError "\([^\\]\(\\\\\)*\)\@<=\\u\x\{,3}\X" display contained
|
||||
|
||||
if exists("python_highlight_string_formatting")
|
||||
" String formatting
|
||||
syn match pythonStrFormat "%\(([^)]\+)\)\=[-#0 +]\=\d*\(\.\d\+\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonUniString,pythonRawString
|
||||
syn match pythonStrFormat "%[-#0 +]\=\(\*\|\d\+\)\=\(\.\(\*\|\d\+\)\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonUniString,pythonRawString
|
||||
endif
|
||||
|
||||
" Numbers (ints, longs, floats, complex)
|
||||
syn match pythonNumber "\<0[xX]\x\+[lL]\=\>" display
|
||||
syn match pythonNumber "\<\d\+[lLjJ]\=\>" display
|
||||
syn match pythonFloat "\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" display
|
||||
syn match pythonFloat "\<\d\+[eE][+-]\=\d\+[jJ]\=\>" display
|
||||
syn match pythonFloat "\<\d\+\.\d*\([eE][+-]\=\d\+\)\=[jJ]\=" display
|
||||
syn match pythonOctalError "\<0\o*[89]\d*[lLjJ]\=\>" display
|
||||
|
||||
if exists("python_highlight_builtins")
|
||||
" Builtin functions, types and objects, not really part of the syntax
|
||||
syn keyword pythonBuiltinObj True False Ellipsis None NotImplemented
|
||||
syn keyword pythonBuiltinFunc bool __import__ abs
|
||||
syn keyword pythonBuiltinFunc apply buffer callable chr classmethod cmp
|
||||
syn keyword pythonBuiltinFunc coerce compile complex delattr dict dir divmod
|
||||
syn keyword pythonBuiltinFunc eval execfile file filter float getattr globals
|
||||
syn keyword pythonBuiltinFunc hasattr hash hex id input int intern isinstance
|
||||
syn keyword pythonBuiltinFunc issubclass iter len list locals long map max
|
||||
syn keyword pythonBuiltinFunc min object oct open ord pow property range
|
||||
syn keyword pythonBuiltinFunc raw_input reduce reload repr round setattr
|
||||
syn keyword pythonBuiltinFunc slice staticmethod str super tuple type unichr
|
||||
syn keyword pythonBuiltinFunc unicode vars xrange zip
|
||||
endif
|
||||
|
||||
if exists("python_highlight_exceptions")
|
||||
" Builtin exceptions and warnings
|
||||
syn keyword pythonExClass ArithmeticError AssertionError AttributeError
|
||||
syn keyword pythonExClass DeprecationWarning EOFError EnvironmentError
|
||||
syn keyword pythonExClass Exception FloatingPointError IOError
|
||||
syn keyword pythonExClass ImportError IndentiationError IndexError
|
||||
syn keyword pythonExClass KeyError KeyboardInterrupt LookupError
|
||||
syn keyword pythonExClass MemoryError NameError NotImplementedError
|
||||
syn keyword pythonExClass OSError OverflowError OverflowWarning
|
||||
syn keyword pythonExClass ReferenceError RuntimeError RuntimeWarning
|
||||
syn keyword pythonExClass StandardError StopIteration SyntaxError
|
||||
syn keyword pythonExClass SyntaxWarning SystemError SystemExit TabError
|
||||
syn keyword pythonExClass TypeError UnboundLocalError UnicodeError
|
||||
syn keyword pythonExClass UserWarning ValueError Warning WindowsError
|
||||
syn keyword pythonExClass ZeroDivisionError
|
||||
endif
|
||||
|
||||
syn sync clear
|
||||
if exists("python_folding") && has("folding")
|
||||
syn sync fromstart
|
||||
|
||||
"syn match pythonFold "^\(\s*\)\(class\|def\)\s.*\(\(\n\s*\)*\n\1\s\+\S.*\)\+" transparent fold
|
||||
syn region pythonFold start="^\z(\s*\)\(class\|def\)\s" skip="\(\s*\n\)\+\z1\s\+\(\S\|\%$\)" end="\(\s*\n\)\+\s*\(\S\|\%$\)"me=s-1 transparent fold
|
||||
syn region pythonFold start="{" end="}" transparent fold
|
||||
syn region pythonFold start="\[" end="\]" transparent fold
|
||||
else
|
||||
" This is fast but code inside triple quoted strings screws it up. It
|
||||
" is impossible to fix because the only way to know if you are inside a
|
||||
" triple quoted string is to start from the beginning of the file. If
|
||||
" you have a fast machine you can try uncommenting the "sync minlines"
|
||||
" and commenting out the rest.
|
||||
syn sync match pythonSync grouphere NONE "):$"
|
||||
syn sync maxlines=200
|
||||
"syn sync minlines=2000
|
||||
endif
|
||||
|
||||
if version >= 508 || !exists("did_python_syn_inits")
|
||||
if version <= 508
|
||||
let did_python_syn_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
HiLink pythonStatement Statement
|
||||
HiLink pythonImport Statement
|
||||
HiLink pythonFunction Function
|
||||
HiLink pythonConditional Conditional
|
||||
HiLink pythonRepeat Repeat
|
||||
HiLink pythonException Exception
|
||||
HiLink pythonOperator Operator
|
||||
|
||||
HiLink pythonComment Comment
|
||||
HiLink pythonTodo Todo
|
||||
|
||||
HiLink pythonError Error
|
||||
|
||||
HiLink pythonString String
|
||||
HiLink pythonUniString String
|
||||
HiLink pythonRawString String
|
||||
HiLink pythonUniRawString String
|
||||
|
||||
HiLink pythonEscape Special
|
||||
HiLink pythonEscapeError Error
|
||||
HiLink pythonUniEscape Special
|
||||
HiLink pythonUniEscapeError Error
|
||||
HiLink pythonUniRawEscape Special
|
||||
HiLink pythonUniRawEscapeError Error
|
||||
|
||||
if exists("python_highlight_string_formatting")
|
||||
HiLink pythonStrFormat Special
|
||||
endif
|
||||
|
||||
HiLink pythonNumber Number
|
||||
HiLink pythonFloat Float
|
||||
HiLink pythonOctalError Error
|
||||
|
||||
if exists("python_highlight_builtins")
|
||||
HiLink pythonBuiltinObj Structure
|
||||
HiLink pythonBuiltinFunc Function
|
||||
endif
|
||||
|
||||
if exists("python_highlight_exceptions")
|
||||
HiLink pythonExClass Structure
|
||||
endif
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
let b:current_syntax = "python"
|
@ -1,65 +0,0 @@
|
||||
PYTHON *python.vim* *ft-python-syntax*
|
||||
|
||||
There are two commands to enable or disable an option for python.vim
|
||||
|
||||
Enable option: >
|
||||
:let option_name = 1
|
||||
<
|
||||
Disable option: >
|
||||
:let option_name = 0
|
||||
<
|
||||
For example to enable all syntax highlighting features you can place the
|
||||
following command in your `~/.vimrc` script: >
|
||||
|
||||
let python_highlight_all = 1
|
||||
<
|
||||
Option and commands to select Python version: >
|
||||
|
||||
:let python_version_2 = 1
|
||||
<
|
||||
Enable highlighting for Python 2 (Python 3 highlighting is enabled by
|
||||
default). Also can be set as a local to buffer `b:python_version_2`
|
||||
variable.
|
||||
|
||||
The following local to buffer commands can be used to switch between two
|
||||
highlighting modes:
|
||||
|
||||
Switch to Python 2 highlighting mode >
|
||||
:Python2Syntax
|
||||
<
|
||||
Switch to Python 3 highlighting mode >
|
||||
:Python3Syntax
|
||||
<
|
||||
Options used by the script
|
||||
|
||||
Highlight builtin functions and objects >
|
||||
:let python_highlight_builtins = 1
|
||||
< Highlight builtin objects only >
|
||||
:let python_highlight_builtin_objs = 1
|
||||
< Highlight builtin functions only >
|
||||
:let python_highlight_builtin_funcs = 1
|
||||
< Highlight standard exceptions >
|
||||
:let python_highlight_exceptions = 1
|
||||
< Highlight `%` string formatting >
|
||||
:let python_highlight_string_formatting = 1
|
||||
< Highlight syntax of `str.format` syntax >
|
||||
:let python_highlight_string_format = 1
|
||||
< Highlight syntax of `string.Template` >
|
||||
:let python_highlight_string_templates = 1
|
||||
< Highlight indentation errors >
|
||||
:let python_highlight_indent_errors = 1
|
||||
< Highlight trailing spaces >
|
||||
:let python_highlight_space_errors = 1
|
||||
< Highlight doc-tests >
|
||||
:let python_highlight_doctests = 1
|
||||
< Highlight `print` statement as function for Python 2 >
|
||||
:let python_print_as_function = 1
|
||||
< Highlight shebang and coding headers as comments >
|
||||
:let python_highlight_file_headers_as_comments = 1
|
||||
< Enable all the options above. NOTE: This option don't override any
|
||||
previously set options >
|
||||
:let python_highlight_all = 1
|
||||
< Can be set to 0 for slow machines >
|
||||
:let python_slow_sync = 1
|
||||
<
|
||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
@ -1,568 +0,0 @@
|
||||
" Vim syntax file
|
||||
" Language: Python
|
||||
" Current Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
|
||||
" Previous Maintainer: Neil Schemenauer <nas at python dot ca>
|
||||
" URL: https://github.com/hdima/python-syntax
|
||||
" Last Change: 2015-11-01
|
||||
" Filenames: *.py
|
||||
" Version: 3.6.0
|
||||
"
|
||||
" Based on python.vim (from Vim 6.1 distribution)
|
||||
" by Neil Schemenauer <nas at python dot ca>
|
||||
"
|
||||
" Please use the following channels for reporting bugs, offering suggestions or
|
||||
" feedback:
|
||||
|
||||
" - python.vim issue tracker: https://github.com/hdima/python-syntax/issues
|
||||
" - Email: Dmitry Vasiliev (dima at hlabs.org)
|
||||
" - Send a message or follow me for updates on Twitter: `@hdima
|
||||
" <https://twitter.com/hdima>`__
|
||||
"
|
||||
" Contributors
|
||||
" ============
|
||||
"
|
||||
" List of the contributors in alphabetical order:
|
||||
"
|
||||
" Andrea Riciputi
|
||||
" Anton Butanaev
|
||||
" Antony Lee
|
||||
" Caleb Adamantine
|
||||
" David Briscoe
|
||||
" Elizabeth Myers
|
||||
" Ihor Gorobets
|
||||
" Jeroen Ruigrok van der Werven
|
||||
" John Eikenberry
|
||||
" Joongi Kim
|
||||
" Marc Weber
|
||||
" Pedro Algarvio
|
||||
" Victor Salgado
|
||||
" Will Gray
|
||||
" Yuri Habrusiev
|
||||
"
|
||||
" Options
|
||||
" =======
|
||||
"
|
||||
" :let OPTION_NAME = 1 Enable option
|
||||
" :let OPTION_NAME = 0 Disable option
|
||||
"
|
||||
"
|
||||
" Option to select Python version
|
||||
" -------------------------------
|
||||
"
|
||||
" python_version_2 Enable highlighting for Python 2
|
||||
" (Python 3 highlighting is enabled
|
||||
" by default). Can also be set as
|
||||
" a buffer (b:python_version_2)
|
||||
" variable.
|
||||
"
|
||||
" You can also use the following local to buffer commands to switch
|
||||
" between two highlighting modes:
|
||||
"
|
||||
" :Python2Syntax Switch to Python 2 highlighting
|
||||
" mode
|
||||
" :Python3Syntax Switch to Python 3 highlighting
|
||||
" mode
|
||||
"
|
||||
" Option names used by the script
|
||||
" -------------------------------
|
||||
"
|
||||
" python_highlight_builtins Highlight builtin functions and
|
||||
" objects
|
||||
" python_highlight_builtin_objs Highlight builtin objects only
|
||||
" python_highlight_builtin_funcs Highlight builtin functions only
|
||||
" python_highlight_exceptions Highlight standard exceptions
|
||||
" python_highlight_string_formatting Highlight % string formatting
|
||||
" python_highlight_string_format Highlight str.format syntax
|
||||
" python_highlight_string_templates Highlight string.Template syntax
|
||||
" python_highlight_indent_errors Highlight indentation errors
|
||||
" python_highlight_space_errors Highlight trailing spaces
|
||||
" python_highlight_doctests Highlight doc-tests
|
||||
" python_print_as_function Highlight 'print' statement as
|
||||
" 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
|
||||
" NOTE: This option don't override
|
||||
" any previously set options
|
||||
"
|
||||
" python_slow_sync Can be set to 0 for slow machines
|
||||
"
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For versions greater than 6.x: Quit when a syntax file was already loaded
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
"
|
||||
" Commands
|
||||
"
|
||||
command! -buffer Python2Syntax let b:python_version_2 = 1 | let &syntax=&syntax
|
||||
command! -buffer Python3Syntax let b:python_version_2 = 0 | let &syntax=&syntax
|
||||
|
||||
" Enable option if it's not defined
|
||||
function! s:EnableByDefault(name)
|
||||
if !exists(a:name)
|
||||
let {a:name} = 1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Check if option is enabled
|
||||
function! s:Enabled(name)
|
||||
return exists(a:name) && {a:name}
|
||||
endfunction
|
||||
|
||||
" Is it Python 2 syntax?
|
||||
function! s:Python2Syntax()
|
||||
if exists("b:python_version_2")
|
||||
return b:python_version_2
|
||||
endif
|
||||
return s:Enabled("g:python_version_2")
|
||||
endfunction
|
||||
|
||||
"
|
||||
" Default options
|
||||
"
|
||||
|
||||
call s:EnableByDefault("g:python_slow_sync")
|
||||
|
||||
if s:Enabled("g:python_highlight_all")
|
||||
call s:EnableByDefault("g:python_highlight_builtins")
|
||||
if s:Enabled("g:python_highlight_builtins")
|
||||
call s:EnableByDefault("g:python_highlight_builtin_objs")
|
||||
call s:EnableByDefault("g:python_highlight_builtin_funcs")
|
||||
endif
|
||||
call s:EnableByDefault("g:python_highlight_exceptions")
|
||||
call s:EnableByDefault("g:python_highlight_string_formatting")
|
||||
call s:EnableByDefault("g:python_highlight_string_format")
|
||||
call s:EnableByDefault("g:python_highlight_string_templates")
|
||||
call s:EnableByDefault("g:python_highlight_indent_errors")
|
||||
call s:EnableByDefault("g:python_highlight_space_errors")
|
||||
call s:EnableByDefault("g:python_highlight_doctests")
|
||||
call s:EnableByDefault("g:python_print_as_function")
|
||||
endif
|
||||
|
||||
"
|
||||
" Keywords
|
||||
"
|
||||
|
||||
syn keyword pythonStatement break continue del
|
||||
syn keyword pythonStatement exec return
|
||||
syn keyword pythonStatement pass raise
|
||||
syn keyword pythonStatement global assert
|
||||
syn keyword pythonStatement lambda
|
||||
syn keyword pythonStatement with
|
||||
syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite
|
||||
syn keyword pythonRepeat for while
|
||||
syn keyword pythonConditional if elif else
|
||||
" The standard pyrex.vim unconditionally removes the pythonInclude group, so
|
||||
" we provide a dummy group here to avoid crashing pyrex.vim.
|
||||
syn keyword pythonInclude import
|
||||
syn keyword pythonImport import
|
||||
syn keyword pythonException try except finally
|
||||
syn keyword pythonOperator and in is not or
|
||||
|
||||
syn match pythonStatement "\<yield\>" display
|
||||
syn match pythonImport "\<from\>" display
|
||||
|
||||
if s:Python2Syntax()
|
||||
if !s:Enabled("g:python_print_as_function")
|
||||
syn keyword pythonStatement print
|
||||
endif
|
||||
syn keyword pythonImport as
|
||||
syn match pythonFunction "[a-zA-Z_][a-zA-Z0-9_]*" display contained
|
||||
else
|
||||
syn keyword pythonStatement as nonlocal None
|
||||
syn match pythonStatement "\<yield\s\+from\>" display
|
||||
syn keyword pythonBoolean True False
|
||||
syn match pythonFunction "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained
|
||||
syn keyword pythonStatement await
|
||||
syn match pythonStatement "\<async\s\+def\>" nextgroup=pythonFunction skipwhite
|
||||
syn match pythonStatement "\<async\s\+with\>" display
|
||||
syn match pythonStatement "\<async\s\+for\>" display
|
||||
endif
|
||||
|
||||
"
|
||||
" Decorators (new in Python 2.4)
|
||||
"
|
||||
|
||||
syn match pythonDecorator "@" display nextgroup=pythonDottedName skipwhite
|
||||
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
|
||||
|
||||
"
|
||||
" Comments
|
||||
"
|
||||
|
||||
syn match pythonComment "#.*$" display contains=pythonTodo,@Spell
|
||||
if !s:Enabled("g:python_highlight_file_headers_as_comments")
|
||||
syn match pythonRun "\%^#!.*$"
|
||||
syn match pythonCoding "\%^.*\%(\n.*\)\?#.*coding[:=]\s*[0-9A-Za-z-_.]\+.*$"
|
||||
endif
|
||||
syn keyword pythonTodo TODO FIXME XXX contained
|
||||
|
||||
"
|
||||
" Errors
|
||||
"
|
||||
|
||||
syn match pythonError "\<\d\+\D\+\>" display
|
||||
syn match pythonError "[$?]" display
|
||||
syn match pythonError "[&|]\{2,}" display
|
||||
syn match pythonError "[=]\{3,}" display
|
||||
|
||||
" Mixing spaces and tabs also may be used for pretty formatting multiline
|
||||
" statements
|
||||
if s:Enabled("g:python_highlight_indent_errors")
|
||||
syn match pythonIndentError "^\s*\%( \t\|\t \)\s*\S"me=e-1 display
|
||||
endif
|
||||
|
||||
" Trailing space errors
|
||||
if s:Enabled("g:python_highlight_space_errors")
|
||||
syn match pythonSpaceError "\s\+$" display
|
||||
endif
|
||||
|
||||
"
|
||||
" Strings
|
||||
"
|
||||
|
||||
if s:Python2Syntax()
|
||||
" Python 2 strings
|
||||
syn region pythonString start=+[bB]\='+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
|
||||
syn region pythonString start=+[bB]\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
|
||||
syn region pythonString start=+[bB]\="""+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
||||
syn region pythonString start=+[bB]\='''+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
||||
else
|
||||
" Python 3 byte strings
|
||||
syn region pythonBytes start=+[bB]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesError,pythonBytesContent,@Spell
|
||||
syn region pythonBytes start=+[bB]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesError,pythonBytesContent,@Spell
|
||||
syn region pythonBytes start=+[bB]"""+ end=+"""+ keepend contains=pythonBytesError,pythonBytesContent,pythonDocTest2,pythonSpaceError,@Spell
|
||||
syn region pythonBytes start=+[bB]'''+ end=+'''+ keepend contains=pythonBytesError,pythonBytesContent,pythonDocTest,pythonSpaceError,@Spell
|
||||
|
||||
syn match pythonBytesError ".\+" display contained
|
||||
syn match pythonBytesContent "[\u0000-\u00ff]\+" display contained contains=pythonBytesEscape,pythonBytesEscapeError
|
||||
endif
|
||||
|
||||
syn match pythonBytesEscape +\\[abfnrtv'"\\]+ display contained
|
||||
syn match pythonBytesEscape "\\\o\o\=\o\=" display contained
|
||||
syn match pythonBytesEscapeError "\\\o\{,2}[89]" display contained
|
||||
syn match pythonBytesEscape "\\x\x\{2}" display contained
|
||||
syn match pythonBytesEscapeError "\\x\x\=\X" display contained
|
||||
syn match pythonBytesEscape "\\$"
|
||||
|
||||
syn match pythonUniEscape "\\u\x\{4}" display contained
|
||||
syn match pythonUniEscapeError "\\u\x\{,3}\X" display contained
|
||||
syn match pythonUniEscape "\\U\x\{8}" display contained
|
||||
syn match pythonUniEscapeError "\\U\x\{,7}\X" display contained
|
||||
syn match pythonUniEscape "\\N{[A-Z ]\+}" display contained
|
||||
syn match pythonUniEscapeError "\\N{[^A-Z ]\+}" display contained
|
||||
|
||||
if s:Python2Syntax()
|
||||
" Python 2 Unicode strings
|
||||
syn region pythonUniString start=+[uU]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
|
||||
syn region pythonUniString start=+[uU]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
|
||||
syn region pythonUniString start=+[uU]"""+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
||||
syn region pythonUniString start=+[uU]'''+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
||||
else
|
||||
" Python 3 strings
|
||||
syn region pythonString start=+'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
|
||||
syn region pythonString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
|
||||
syn region pythonString start=+"""+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
||||
syn region pythonString start=+'''+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
||||
endif
|
||||
|
||||
if s:Python2Syntax()
|
||||
" Python 2 Unicode raw strings
|
||||
syn region pythonUniRawString start=+[uU][rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,pythonUniRawEscape,pythonUniRawEscapeError,@Spell
|
||||
syn region pythonUniRawString start=+[uU][rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,pythonUniRawEscape,pythonUniRawEscapeError,@Spell
|
||||
syn region pythonUniRawString start=+[uU][rR]"""+ end=+"""+ keepend contains=pythonUniRawEscape,pythonUniRawEscapeError,pythonDocTest2,pythonSpaceError,@Spell
|
||||
syn region pythonUniRawString start=+[uU][rR]'''+ end=+'''+ keepend contains=pythonUniRawEscape,pythonUniRawEscapeError,pythonDocTest,pythonSpaceError,@Spell
|
||||
|
||||
syn match pythonUniRawEscape "\([^\\]\(\\\\\)*\)\@<=\\u\x\{4}" display contained
|
||||
syn match pythonUniRawEscapeError "\([^\\]\(\\\\\)*\)\@<=\\u\x\{,3}\X" display contained
|
||||
endif
|
||||
|
||||
" Python 2/3 raw strings
|
||||
if s:Python2Syntax()
|
||||
syn region pythonRawString start=+[bB]\=[rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,@Spell
|
||||
syn region pythonRawString start=+[bB]\=[rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,@Spell
|
||||
syn region pythonRawString start=+[bB]\=[rR]"""+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
|
||||
syn region pythonRawString start=+[bB]\=[rR]'''+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
|
||||
else
|
||||
syn region pythonRawString start=+[rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,@Spell
|
||||
syn region pythonRawString start=+[rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,@Spell
|
||||
syn region pythonRawString start=+[rR]"""+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
|
||||
syn region pythonRawString start=+[rR]'''+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
|
||||
|
||||
syn region pythonRawBytes start=+[bB][rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,@Spell
|
||||
syn region pythonRawBytes start=+[bB][rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,@Spell
|
||||
syn region pythonRawBytes start=+[bB][rR]"""+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
|
||||
syn region pythonRawBytes start=+[bB][rR]'''+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
|
||||
endif
|
||||
|
||||
syn match pythonRawEscape +\\['"]+ display transparent contained
|
||||
|
||||
if s:Enabled("g:python_highlight_string_formatting")
|
||||
" % operator string formatting
|
||||
if s:Python2Syntax()
|
||||
syn match pythonStrFormatting "%\%(([^)]\+)\)\=[-#0 +]*\d*\%(\.\d\+\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
|
||||
syn match pythonStrFormatting "%[-#0 +]*\%(\*\|\d\+\)\=\%(\.\%(\*\|\d\+\)\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
|
||||
else
|
||||
syn match pythonStrFormatting "%\%(([^)]\+)\)\=[-#0 +]*\d*\%(\.\d\+\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonRawString
|
||||
syn match pythonStrFormatting "%[-#0 +]*\%(\*\|\d\+\)\=\%(\.\%(\*\|\d\+\)\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonRawString
|
||||
endif
|
||||
endif
|
||||
|
||||
if s:Enabled("g:python_highlight_string_format")
|
||||
" str.format syntax
|
||||
if s:Python2Syntax()
|
||||
syn match pythonStrFormat "{{\|}}" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
|
||||
syn match pythonStrFormat "{\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)\=\%(\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\[\%(\d\+\|[^!:\}]\+\)\]\)*\%(![rsa]\)\=\%(:\%({\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)}\|\%([^}]\=[<>=^]\)\=[ +-]\=#\=0\=\d*,\=\%(\.\d\+\)\=[bcdeEfFgGnosxX%]\=\)\=\)\=}" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
|
||||
else
|
||||
syn match pythonStrFormat "{{\|}}" contained containedin=pythonString,pythonRawString
|
||||
syn match pythonStrFormat "{\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)\=\%(\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\[\%(\d\+\|[^!:\}]\+\)\]\)*\%(![rsa]\)\=\%(:\%({\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)}\|\%([^}]\=[<>=^]\)\=[ +-]\=#\=0\=\d*,\=\%(\.\d\+\)\=[bcdeEfFgGnosxX%]\=\)\=\)\=}" contained containedin=pythonString,pythonRawString
|
||||
endif
|
||||
endif
|
||||
|
||||
if s:Enabled("g:python_highlight_string_templates")
|
||||
" string.Template format
|
||||
if s:Python2Syntax()
|
||||
syn match pythonStrTemplate "\$\$" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
|
||||
syn match pythonStrTemplate "\${[a-zA-Z_][a-zA-Z0-9_]*}" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
|
||||
syn match pythonStrTemplate "\$[a-zA-Z_][a-zA-Z0-9_]*" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
|
||||
else
|
||||
syn match pythonStrTemplate "\$\$" contained containedin=pythonString,pythonRawString
|
||||
syn match pythonStrTemplate "\${[a-zA-Z_][a-zA-Z0-9_]*}" contained containedin=pythonString,pythonRawString
|
||||
syn match pythonStrTemplate "\$[a-zA-Z_][a-zA-Z0-9_]*" contained containedin=pythonString,pythonRawString
|
||||
endif
|
||||
endif
|
||||
|
||||
if s:Enabled("g:python_highlight_doctests")
|
||||
" DocTests
|
||||
syn region pythonDocTest start="^\s*>>>" end=+'''+he=s-1 end="^\s*$" contained
|
||||
syn region pythonDocTest2 start="^\s*>>>" end=+"""+he=s-1 end="^\s*$" contained
|
||||
endif
|
||||
|
||||
"
|
||||
" Numbers (ints, longs, floats, complex)
|
||||
"
|
||||
|
||||
if s:Python2Syntax()
|
||||
syn match pythonHexError "\<0[xX]\x*[g-zG-Z]\+\x*[lL]\=\>" display
|
||||
syn match pythonOctError "\<0[oO]\=\o*\D\+\d*[lL]\=\>" display
|
||||
syn match pythonBinError "\<0[bB][01]*\D\+\d*[lL]\=\>" display
|
||||
|
||||
syn match pythonHexNumber "\<0[xX]\x\+[lL]\=\>" display
|
||||
syn match pythonOctNumber "\<0[oO]\o\+[lL]\=\>" display
|
||||
syn match pythonBinNumber "\<0[bB][01]\+[lL]\=\>" display
|
||||
|
||||
syn match pythonNumberError "\<\d\+\D[lL]\=\>" display
|
||||
syn match pythonNumber "\<\d[lL]\=\>" display
|
||||
syn match pythonNumber "\<[0-9]\d\+[lL]\=\>" display
|
||||
syn match pythonNumber "\<\d\+[lLjJ]\>" display
|
||||
|
||||
syn match pythonOctError "\<0[oO]\=\o*[8-9]\d*[lL]\=\>" display
|
||||
syn match pythonBinError "\<0[bB][01]*[2-9]\d*[lL]\=\>" display
|
||||
else
|
||||
syn match pythonHexError "\<0[xX]\x*[g-zG-Z]\x*\>" display
|
||||
syn match pythonOctError "\<0[oO]\=\o*\D\+\d*\>" display
|
||||
syn match pythonBinError "\<0[bB][01]*\D\+\d*\>" display
|
||||
|
||||
syn match pythonHexNumber "\<0[xX]\x\+\>" display
|
||||
syn match pythonOctNumber "\<0[oO]\o\+\>" display
|
||||
syn match pythonBinNumber "\<0[bB][01]\+\>" display
|
||||
|
||||
syn match pythonNumberError "\<\d\+\D\>" display
|
||||
syn match pythonNumberError "\<0\d\+\>" display
|
||||
syn match pythonNumber "\<\d\>" display
|
||||
syn match pythonNumber "\<[1-9]\d\+\>" display
|
||||
syn match pythonNumber "\<\d\+[jJ]\>" display
|
||||
|
||||
syn match pythonOctError "\<0[oO]\=\o*[8-9]\d*\>" display
|
||||
syn match pythonBinError "\<0[bB][01]*[2-9]\d*\>" display
|
||||
endif
|
||||
|
||||
syn match pythonFloat "\.\d\+\%([eE][+-]\=\d\+\)\=[jJ]\=\>" display
|
||||
syn match pythonFloat "\<\d\+[eE][+-]\=\d\+[jJ]\=\>" display
|
||||
syn match pythonFloat "\<\d\+\.\d*\%([eE][+-]\=\d\+\)\=[jJ]\=" display
|
||||
|
||||
"
|
||||
" Builtin objects and types
|
||||
"
|
||||
|
||||
if s:Enabled("g:python_highlight_builtin_objs")
|
||||
if s:Python2Syntax()
|
||||
syn keyword pythonBuiltinObj None
|
||||
syn keyword pythonBoolean True False
|
||||
endif
|
||||
syn keyword pythonBuiltinObj Ellipsis NotImplemented
|
||||
syn keyword pythonBuiltinObj __debug__ __doc__ __file__ __name__ __package__
|
||||
endif
|
||||
|
||||
"
|
||||
" Builtin functions
|
||||
"
|
||||
|
||||
if s:Enabled("g:python_highlight_builtin_funcs")
|
||||
if s:Python2Syntax()
|
||||
syn keyword pythonBuiltinFunc apply basestring buffer callable coerce
|
||||
syn keyword pythonBuiltinFunc execfile file help intern long raw_input
|
||||
syn keyword pythonBuiltinFunc reduce reload unichr unicode xrange
|
||||
if s:Enabled("g:python_print_as_function")
|
||||
syn keyword pythonBuiltinFunc print
|
||||
endif
|
||||
else
|
||||
syn keyword pythonBuiltinFunc ascii exec memoryview print
|
||||
endif
|
||||
syn keyword pythonBuiltinFunc __import__ abs all any
|
||||
syn keyword pythonBuiltinFunc bin bool bytearray bytes
|
||||
syn keyword pythonBuiltinFunc chr classmethod cmp compile complex
|
||||
syn keyword pythonBuiltinFunc delattr dict dir divmod enumerate eval
|
||||
syn keyword pythonBuiltinFunc filter float format frozenset getattr
|
||||
syn keyword pythonBuiltinFunc globals hasattr hash hex id
|
||||
syn keyword pythonBuiltinFunc input int isinstance
|
||||
syn keyword pythonBuiltinFunc issubclass iter len list locals map max
|
||||
syn keyword pythonBuiltinFunc min next object oct open ord
|
||||
syn keyword pythonBuiltinFunc pow property range
|
||||
syn keyword pythonBuiltinFunc repr reversed round set setattr
|
||||
syn keyword pythonBuiltinFunc slice sorted staticmethod str sum super tuple
|
||||
syn keyword pythonBuiltinFunc type vars zip
|
||||
endif
|
||||
|
||||
"
|
||||
" Builtin exceptions and warnings
|
||||
"
|
||||
|
||||
if s:Enabled("g:python_highlight_exceptions")
|
||||
if s:Python2Syntax()
|
||||
syn keyword pythonExClass StandardError
|
||||
else
|
||||
syn keyword pythonExClass BlockingIOError ChildProcessError
|
||||
syn keyword pythonExClass ConnectionError BrokenPipeError
|
||||
syn keyword pythonExClass ConnectionAbortedError ConnectionRefusedError
|
||||
syn keyword pythonExClass ConnectionResetError FileExistsError
|
||||
syn keyword pythonExClass FileNotFoundError InterruptedError
|
||||
syn keyword pythonExClass IsADirectoryError NotADirectoryError
|
||||
syn keyword pythonExClass PermissionError ProcessLookupError TimeoutError
|
||||
|
||||
syn keyword pythonExClass ResourceWarning
|
||||
endif
|
||||
syn keyword pythonExClass BaseException
|
||||
syn keyword pythonExClass Exception ArithmeticError
|
||||
syn keyword pythonExClass LookupError EnvironmentError
|
||||
|
||||
syn keyword pythonExClass AssertionError AttributeError BufferError EOFError
|
||||
syn keyword pythonExClass FloatingPointError GeneratorExit IOError
|
||||
syn keyword pythonExClass ImportError IndexError KeyError
|
||||
syn keyword pythonExClass KeyboardInterrupt MemoryError NameError
|
||||
syn keyword pythonExClass NotImplementedError OSError OverflowError
|
||||
syn keyword pythonExClass ReferenceError RuntimeError StopIteration
|
||||
syn keyword pythonExClass SyntaxError IndentationError TabError
|
||||
syn keyword pythonExClass SystemError SystemExit TypeError
|
||||
syn keyword pythonExClass UnboundLocalError UnicodeError
|
||||
syn keyword pythonExClass UnicodeEncodeError UnicodeDecodeError
|
||||
syn keyword pythonExClass UnicodeTranslateError ValueError VMSError
|
||||
syn keyword pythonExClass WindowsError ZeroDivisionError
|
||||
|
||||
syn keyword pythonExClass Warning UserWarning BytesWarning DeprecationWarning
|
||||
syn keyword pythonExClass PendingDepricationWarning SyntaxWarning
|
||||
syn keyword pythonExClass RuntimeWarning FutureWarning
|
||||
syn keyword pythonExClass ImportWarning UnicodeWarning
|
||||
endif
|
||||
|
||||
if s:Enabled("g:python_slow_sync")
|
||||
syn sync minlines=2000
|
||||
else
|
||||
" This is fast but code inside triple quoted strings screws it up. It
|
||||
" is impossible to fix because the only way to know if you are inside a
|
||||
" triple quoted string is to start from the beginning of the file.
|
||||
syn sync match pythonSync grouphere NONE "):$"
|
||||
syn sync maxlines=200
|
||||
endif
|
||||
|
||||
if version >= 508 || !exists("did_python_syn_inits")
|
||||
if version <= 508
|
||||
let did_python_syn_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
HiLink pythonStatement Statement
|
||||
HiLink pythonImport Include
|
||||
HiLink pythonFunction Function
|
||||
HiLink pythonConditional Conditional
|
||||
HiLink pythonRepeat Repeat
|
||||
HiLink pythonException Exception
|
||||
HiLink pythonOperator Operator
|
||||
|
||||
HiLink pythonDecorator Define
|
||||
HiLink pythonDottedName Function
|
||||
HiLink pythonDot Normal
|
||||
|
||||
HiLink pythonComment Comment
|
||||
if !s:Enabled("g:python_highlight_file_headers_as_comments")
|
||||
HiLink pythonCoding Special
|
||||
HiLink pythonRun Special
|
||||
endif
|
||||
HiLink pythonTodo Todo
|
||||
|
||||
HiLink pythonError Error
|
||||
HiLink pythonIndentError Error
|
||||
HiLink pythonSpaceError Error
|
||||
|
||||
HiLink pythonString String
|
||||
HiLink pythonRawString String
|
||||
|
||||
HiLink pythonUniEscape Special
|
||||
HiLink pythonUniEscapeError Error
|
||||
|
||||
if s:Python2Syntax()
|
||||
HiLink pythonUniString String
|
||||
HiLink pythonUniRawString String
|
||||
HiLink pythonUniRawEscape Special
|
||||
HiLink pythonUniRawEscapeError Error
|
||||
else
|
||||
HiLink pythonBytes String
|
||||
HiLink pythonRawBytes String
|
||||
HiLink pythonBytesContent String
|
||||
HiLink pythonBytesError Error
|
||||
HiLink pythonBytesEscape Special
|
||||
HiLink pythonBytesEscapeError Error
|
||||
endif
|
||||
|
||||
HiLink pythonStrFormatting Special
|
||||
HiLink pythonStrFormat Special
|
||||
HiLink pythonStrTemplate Special
|
||||
|
||||
HiLink pythonDocTest Special
|
||||
HiLink pythonDocTest2 Special
|
||||
|
||||
HiLink pythonNumber Number
|
||||
HiLink pythonHexNumber Number
|
||||
HiLink pythonOctNumber Number
|
||||
HiLink pythonBinNumber Number
|
||||
HiLink pythonFloat Float
|
||||
HiLink pythonNumberError Error
|
||||
HiLink pythonOctError Error
|
||||
HiLink pythonHexError Error
|
||||
HiLink pythonBinError Error
|
||||
|
||||
HiLink pythonBoolean Boolean
|
||||
|
||||
HiLink pythonBuiltinObj Structure
|
||||
HiLink pythonBuiltinFunc Function
|
||||
|
||||
HiLink pythonExClass Structure
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
let b:current_syntax = "python"
|
@ -1,143 +0,0 @@
|
||||
#! /usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
# Above the run-comment and file encoding comment.
|
||||
|
||||
# Comments.
|
||||
|
||||
# TODO FIXME XXX
|
||||
|
||||
# Keywords.
|
||||
|
||||
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
|
||||
|
||||
yield from
|
||||
|
||||
def functionname
|
||||
class Classname
|
||||
def функция
|
||||
class Класс
|
||||
|
||||
await
|
||||
async def Test
|
||||
async with
|
||||
async for
|
||||
|
||||
# Builtin objects.
|
||||
|
||||
True False Ellipsis None NotImplemented
|
||||
|
||||
# Builtin function and types.
|
||||
|
||||
__import__ abs all any apply basestring bool buffer callable chr classmethod
|
||||
cmp coerce compile complex delattr dict dir divmod enumerate eval execfile file
|
||||
filter float frozenset getattr globals hasattr hash help hex id input int
|
||||
intern isinstance issubclass iter len list locals long map max min object oct
|
||||
open ord pow property range raw_input reduce reload repr reversed round set
|
||||
setattr slice sorted staticmethod str sum super tuple type unichr unicode vars
|
||||
xrange zip
|
||||
|
||||
# Builtin exceptions and warnings.
|
||||
|
||||
BaseException Exception StandardError ArithmeticError LookupError
|
||||
EnvironmentError
|
||||
|
||||
AssertionError AttributeError EOFError FloatingPointError GeneratorExit IOError
|
||||
ImportError IndexError KeyError KeyboardInterrupt MemoryError NameError
|
||||
NotImplementedError OSError OverflowError ReferenceError RuntimeError
|
||||
StopIteration SyntaxError IndentationError TabError SystemError SystemExit
|
||||
TypeError UnboundLocalError UnicodeError UnicodeEncodeError UnicodeDecodeError
|
||||
UnicodeTranslateError ValueError WindowsError ZeroDivisionError
|
||||
|
||||
Warning UserWarning DeprecationWarning PendingDepricationWarning SyntaxWarning
|
||||
RuntimeWarning FutureWarning ImportWarning UnicodeWarning
|
||||
|
||||
# Decorators.
|
||||
|
||||
@ decoratorname
|
||||
@ object.__init__(arg1, arg2)
|
||||
@ декоратор
|
||||
@ декоратор.décorateur
|
||||
|
||||
# Numbers
|
||||
|
||||
0 1 2 9 10 0x1f .3 12.34 0j 0j 34.2E-3 0b10 0o77 1023434 0x0
|
||||
|
||||
# Erroneous numbers
|
||||
|
||||
077 100L 0xfffffffL 0L 08 0xk 0x 0b102 0o78 0o123LaB
|
||||
|
||||
# Strings
|
||||
|
||||
" test " ' test '
|
||||
"""
|
||||
test
|
||||
"""
|
||||
'''
|
||||
test
|
||||
'''
|
||||
|
||||
" \a\b\c\"\'\n\r \x34\077 \08 \xag"
|
||||
r" \" \' "
|
||||
|
||||
"testтест"
|
||||
|
||||
b"test"
|
||||
|
||||
b"test\r\n\xffff"
|
||||
|
||||
b"тестtest"
|
||||
|
||||
br"test"
|
||||
|
||||
br"\a\b\n\r"
|
||||
|
||||
# Formattings
|
||||
|
||||
" %f "
|
||||
b" %f "
|
||||
|
||||
"{0.name!r:b} {0[n]} {name!s: } {{test}} {{}} {} {.__len__:s}"
|
||||
b"{0.name!r:b} {0[n]} {name!s: } {{test}} {{}} {} {.__len__:s}"
|
||||
|
||||
"${test} ${test ${test}aname $$$ $test+nope"
|
||||
b"${test} ${test ${test}aname $$$ $test+nope"
|
||||
|
||||
# Doctests.
|
||||
|
||||
"""
|
||||
Test:
|
||||
>>> a = 5
|
||||
>>> a
|
||||
5
|
||||
|
||||
Test
|
||||
"""
|
||||
|
||||
'''
|
||||
Test:
|
||||
>>> a = 5
|
||||
>>> a
|
||||
5
|
||||
|
||||
Test
|
||||
'''
|
||||
|
||||
# Erroneous symbols or bad variable names.
|
||||
|
||||
$ ? 6xav
|
||||
|
||||
&& || ===
|
||||
|
||||
# Indentation errors.
|
||||
|
||||
break
|
||||
|
||||
# Trailing space errors.
|
||||
|
||||
|
||||
break
|
||||
"""
|
||||
|
||||
test
|
||||
"""
|
1
vim/plugins/traces.vim
Submodule
1
vim/plugins/traces.vim
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit fe5f3a5fad0f747fa830cd07d3b2fd9805d6da47
|
1
vim/plugins/vim-window-resize-easy
Submodule
1
vim/plugins/vim-window-resize-easy
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit e0d800481f322d854ad133ff5f9bf90665557e6c
|
Loading…
Reference in New Issue
Block a user