*python-syntax.txt* Python syntax highlighting =============================================================================== Introduction *python-syntax* *ft-python-syntax* *python.vim* This is an enhanced version of the original Python syntax highlighting script. Based on `python.vim` from Vim 6.1 distribution by Neil Schemenauer. Features -------- - Added support for Python 3 syntax highlighting - Added commands `Python2Syntax` and `Python3Syntax` commands which allow to switch between Python 2 and Python 3 syntaxes respectively without reloads/restarts - Updated string 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) Folding is done by the plugin `SimpylFold` (`https://github.com/tmhedberg/SimpylFold`) =============================================================================== Configuration *python-syntax-configuration* Enable option with: > let VARIABLE = 1 < Disable option with: > let VARIABLE = 0 < For example to enable all syntax highlighting features you can add the following command to your `~/.config/nvim/init.vim` or `~/.vimrc`: > let g:python_highlight_all = 1 < ------------------------------------------------------------------------------- Select Python version *python-syntax-version* `g:python_version_2` or `b:python_version_2` Enable highlighting for Python 2 (Python 3 highlighting is enabled by default). Commands to easily switch between modes: `Python2Syntax` Switch to Python 2 `Python3Syntax` Switch to Python 3 ------------------------------------------------------------------------------- Option variables *python-syntax-options* *python-syntax-variables* `g:python_highlight_builtins` Highlight builtin functions and objects `g:python_highlight_builtin_objs` Highlight builtin objects only `g:python_highlight_builtin_funcs` Highlight builtin functions only `g:python_highlight_exceptions` Highlight standard exceptions `g:python_highlight_string_formatting` Highlight `%` string formatting `g:python_highlight_string_format` Highlight syntax of `str.format` syntax `g:python_highlight_string_templates` Highlight syntax of `string.Template` `g:python_highlight_indent_errors` Highlight indentation errors `g:python_highlight_space_errors` Highlight trailing spaces `g:python_highlight_doctests` Highlight doc-tests `g:python_print_as_function` Highlight `print` statement as function for Python 2 `g:python_highlight_file_headers_as_comments` Highlight shebang and coding headers as comments `g:python_highlight_all` Enable all the options above - NOTE: Doesn't override any previously set options `g:python_slow_sync` Disable for slow machines