VIM: Several plugin changes
- Removed python-syntax - Enabled pymode syntax highlighting - Disabled pymode syntax checker (I'm using ALE as a universal checker) - Added vim-window-resize-easy - Added traces.vim
This commit is contained in:
		
							
								
								
									
										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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
									
								
							 Submodule vim/plugins/traces.vim added at fe5f3a5fad
									
								
							
							
								
								
									
										1
									
								
								vim/plugins/vim-window-resize-easy
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vim/plugins/vim-window-resize-easy
									
									
									
									
									
										Submodule
									
								
							 Submodule vim/plugins/vim-window-resize-easy added at e0d800481f
									
								
							
		Reference in New Issue
	
	Block a user