Update python package, closes #21

This commit is contained in:
Adam Stankiewicz 2014-04-15 01:18:16 +02:00
parent d681cb59d3
commit a4c9223257
3 changed files with 270 additions and 110 deletions

2
build
View File

@ -99,7 +99,7 @@ PACKS="
php:StanAngeloff/php.vim php:StanAngeloff/php.vim
puppet:ajf/puppet-vim puppet:ajf/puppet-vim
protobuf:uarun/vim-protobuf protobuf:uarun/vim-protobuf
python:vim-scripts/python.vim--Vasiliev python:mitsuhiko/vim-python-combined
r-lang:vim-scripts/R.vim r-lang:vim-scripts/R.vim
rspec:sheerun/rspec.vim rspec:sheerun/rspec.vim
ruby:vim-ruby/vim-ruby ruby:vim-ruby/vim-ruby

213
indent/python.vim Normal file
View File

@ -0,0 +1,213 @@
" PEP8 compatible Python indent file
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal expandtab
setlocal nolisp
setlocal autoindent
setlocal indentexpr=GetPythonPEPIndent(v:lnum)
setlocal indentkeys=!^F,o,O,<:>,0),0],0},=elif,=except
let s:maxoff = 50
" Find backwards the closest open parenthesis/bracket/brace.
function! s:SearchParensPair()
let line = line('.')
let col = col('.')
" Skip strings and comments and don't look too far
let skip = "line('.') < " . (line - s:maxoff) . " ? dummy :" .
\ 'synIDattr(synID(line("."), col("."), 0), "name") =~? ' .
\ '"string\\|comment"'
" Search for parentheses
call cursor(line, col)
let parlnum = searchpair('(', '', ')', 'bW', skip)
let parcol = col('.')
" Search for brackets
call cursor(line, col)
let par2lnum = searchpair('\[', '', '\]', 'bW', skip)
let par2col = col('.')
" Search for braces
call cursor(line, col)
let par3lnum = searchpair('{', '', '}', 'bW', skip)
let par3col = col('.')
" Get the closest match
if par2lnum > parlnum || (par2lnum == parlnum && par2col > parcol)
let parlnum = par2lnum
let parcol = par2col
endif
if par3lnum > parlnum || (par3lnum == parlnum && par3col > parcol)
let parlnum = par3lnum
let parcol = par3col
endif
" Put the cursor on the match
if parlnum > 0
call cursor(parlnum, parcol)
endif
return parlnum
endfunction
" Find the start of a multi-line statement
function! s:StatementStart(lnum)
let lnum = a:lnum
while 1
if getline(lnum - 1) =~ '\\$'
let lnum = lnum - 1
else
call cursor(lnum, 1)
let maybe_lnum = s:SearchParensPair()
if maybe_lnum < 1
return lnum
else
let lnum = maybe_lnum
endif
endif
endwhile
endfunction
" Find the block starter that matches the current line
function! s:BlockStarter(lnum, block_start_re)
let lnum = a:lnum
let maxindent = 10000 " whatever
while lnum > 1
let lnum = prevnonblank(lnum - 1)
if indent(lnum) < maxindent
if getline(lnum) =~ a:block_start_re
return lnum
else
let maxindent = indent(lnum)
" It's not worth going further if we reached the top level
if maxindent == 0
return -1
endif
endif
endif
endwhile
return -1
endfunction
function! GetPythonPEPIndent(lnum)
let scol = col('.')
" First line has indent 0
if a:lnum == 1
return 0
endif
" If we can find an open parenthesis/bracket/brace, line up with it.
call cursor(a:lnum, 1)
let parlnum = s:SearchParensPair()
if parlnum > 0
let parcol = col('.')
let matches = matchlist(getline(a:lnum), '^\(\s*\)[])}]')
if len(matches) == 0
let closing_paren = 0
let closing_paren_pos = 0
else
let closing_paren = 1
let closing_paren_pos = len(matches[1])
endif
if match(getline(parlnum), '[([{]\s*$', parcol - 1) != -1
if closing_paren
return indent(parlnum)
else
return indent(parlnum) + &shiftwidth
endif
elseif a:lnum - 1 != parlnum
if closing_paren && closing_paren_pos > scol
return indent(parlnum)
else
let lastindent = match(getline(a:lnum - 1), '\S')
if lastindent != -1 && lastindent < parcol
return lastindent
endif
endif
endif
" If we line up with an opening column there is a special case
" we want to handle: a docstring as argument. In that case we
" don't want to line up with the paren but with the statement
" imagine foo(doc=""" as example
echo getline(parlnum)
if match(getline(parlnum), '\("""\|' . "'''" . '\)\s*$') != -1
return indent(parlnum)
endif
return parcol
endif
" Examine this line
let thisline = getline(a:lnum)
let thisindent = indent(a:lnum)
" If the line starts with 'elif' or 'else', line up with 'if' or 'elif'
if thisline =~ '^\s*\(elif\|else\)\>'
let bslnum = s:BlockStarter(a:lnum, '^\s*\(if\|elif\)\>')
if bslnum > 0
return indent(bslnum)
else
return -1
endif
endif
" If the line starts with 'except' or 'finally', line up with 'try'
" or 'except'
if thisline =~ '^\s*\(except\|finally\)\>'
let bslnum = s:BlockStarter(a:lnum, '^\s*\(try\|except\)\>')
if bslnum > 0
return indent(bslnum)
else
return -1
endif
endif
" Examine previous line
let plnum = a:lnum - 1
let pline = getline(plnum)
let sslnum = s:StatementStart(plnum)
" If the previous line is blank, keep the same indentation
if pline =~ '^\s*$'
return -1
endif
" If this line is explicitly joined, try to find an indentation that looks
" good.
if pline =~ '\\$'
let compound_statement = '^\s*\(if\|while\|from\|import\|for\s.*\sin\|except\)\s*'
let maybe_indent = matchend(getline(sslnum), compound_statement)
if maybe_indent != -1
return maybe_indent
else
return indent(sslnum) + &sw * 2
endif
endif
" If the previous line ended with a colon and is not a comment, indent
" relative to statement start.
if pline =~ '^[^#]*:\s*\(#.*\)\?$'
return indent(sslnum) + &sw
endif
" If the previous line was a stop-execution statement or a pass
if getline(sslnum) =~ '^\s*\(break\|continue\|raise\|return\|pass\)\>'
" See if the user has already dedented
if indent(a:lnum) > indent(sslnum) - &sw
" If not, recommend one dedent
return indent(sslnum) - &sw
endif
" Otherwise, trust the user
return -1
endif
" In all other cases, line up with the start of the previous statement.
return indent(sslnum)
endfunction

View File

@ -1,27 +1,20 @@
" Vim syntax file " Vim syntax file
" Language: Python
" Maintainer: Dmitry Vasiliev <dima@hlabs.spb.ru>
" URL: http://www.hlabs.spb.ru/vim/python.vim
" Last Change: 2010-04-09
" Filenames: *.py
" Version: 2.6.6
" "
" Based on python.vim (from Vim 6.1 distribution) " Based on python.vim (from Vim 6.1 distribution)
" by Neil Schemenauer <nas@python.ca> " by Neil Schemenauer <nas@python.ca>
" "
" Notes Armin:
"
" This version of the syntax file works better for 2.x and 3.x without
" having to switch modes.
"
" Thanks: " Thanks:
" "
" Jeroen Ruigrok van der Werven " Jeroen Ruigrok van der Werven
" for the idea to highlight erroneous operators " for the idea of highlighting for erroneous operators
" Pedro Algarvio " Pedro Algarvio
" for the patch to enable spell checking only for the right spots " for the patch to enable spell checking only for the right spots
" (strings and comments) " (strings and comments)
" John Eikenberry
" for the patch fixing small typo
" Caleb Adamantine
" for the patch fixing highlighting for decorators
" Andrea Riciputi
" for the patch with new configuration options
" "
" Options: " Options:
@ -31,27 +24,15 @@
" "
" Option names: " Option names:
" "
" For highlight builtin functions and objects: " For highlight builtin functions:
" python_highlight_builtins " python_highlight_builtins
" "
" For highlight builtin objects:
" python_highlight_builtin_objs
"
" For highlight builtin funtions:
" python_highlight_builtin_funcs
"
" For highlight standard exceptions: " For highlight standard exceptions:
" python_highlight_exceptions " python_highlight_exceptions
" "
" For highlight string formatting: " For highlight string formatting:
" python_highlight_string_formatting " python_highlight_string_formatting
" "
" For highlight str.format syntax:
" python_highlight_string_format
"
" For highlight string.Template syntax:
" python_highlight_string_templates
"
" For highlight indentation errors: " For highlight indentation errors:
" python_highlight_indent_errors " python_highlight_indent_errors
" "
@ -61,15 +42,13 @@
" For highlight doc-tests: " For highlight doc-tests:
" python_highlight_doctests " python_highlight_doctests
" "
" If you want all Python highlightings above: " If you want all possible Python highlighting:
" python_highlight_all
" (This option not override previously set options) " (This option not override previously set options)
" python_highlight_all
" "
" For fast machines: " For fast machines:
" python_slow_sync " python_slow_sync
" "
" For "print" builtin as function:
" python_print_as_function
" For version 5.x: Clear all syntax items " For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded " For version 6.x: Quit when a syntax file was already loaded
@ -82,12 +61,7 @@ endif
if exists("python_highlight_all") && python_highlight_all != 0 if exists("python_highlight_all") && python_highlight_all != 0
" Not override previously set options " Not override previously set options
if !exists("python_highlight_builtins") if !exists("python_highlight_builtins")
if !exists("python_highlight_builtin_objs") let python_highlight_builtins = 1
let python_highlight_builtin_objs = 1
endif
if !exists("python_highlight_builtin_funcs")
let python_highlight_builtin_funcs = 1
endif
endif endif
if !exists("python_highlight_exceptions") if !exists("python_highlight_exceptions")
let python_highlight_exceptions = 1 let python_highlight_exceptions = 1
@ -95,12 +69,6 @@ if exists("python_highlight_all") && python_highlight_all != 0
if !exists("python_highlight_string_formatting") if !exists("python_highlight_string_formatting")
let python_highlight_string_formatting = 1 let python_highlight_string_formatting = 1
endif endif
if !exists("python_highlight_string_format")
let python_highlight_string_format = 1
endif
if !exists("python_highlight_string_templates")
let python_highlight_string_templates = 1
endif
if !exists("python_highlight_indent_errors") if !exists("python_highlight_indent_errors")
let python_highlight_indent_errors = 1 let python_highlight_indent_errors = 1
endif endif
@ -118,23 +86,20 @@ syn keyword pythonStatement exec return
syn keyword pythonStatement pass raise syn keyword pythonStatement pass raise
syn keyword pythonStatement global assert syn keyword pythonStatement global assert
syn keyword pythonStatement lambda yield syn keyword pythonStatement lambda yield
syn keyword pythonStatement with syn keyword pythonStatement with nonlocal True False None
syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite
syn match pythonFunction "[a-zA-Z_][a-zA-Z0-9_]*" display contained syn match pythonFunction "[a-zA-Z_][a-zA-Z0-9_]*" display contained
syn keyword pythonRepeat for while syn keyword pythonRepeat for while
syn keyword pythonConditional if elif else syn keyword pythonConditional if elif else
syn keyword pythonPreCondit import from as syn keyword pythonImport import from as
syn keyword pythonException try except finally syn keyword pythonException try except finally
syn keyword pythonOperator and in is not or syn keyword pythonOperator and in is not or
if !exists("python_print_as_function") || python_print_as_function == 0 " Print keyword but only if not used as function
syn keyword pythonStatement print syn match pythonStatement "\<print\>\((\)\@!" display
endif
" Decorators (new in Python 2.4) " Decorators (new in Python 2.4)
syn match pythonDecorator "@" display nextgroup=pythonDottedName skipwhite syn match pythonDecorator "@" display nextgroup=pythonFunction skipwhite
syn match pythonDottedName "[a-zA-Z_][a-zA-Z0-9_]*\(\.[a-zA-Z_][a-zA-Z0-9_]*\)*" display contained
syn match pythonDot "\." display containedin=pythonDottedName
" Comments " Comments
syn match pythonComment "#.*$" display contains=pythonTodo,@Spell syn match pythonComment "#.*$" display contains=pythonTodo,@Spell
@ -145,7 +110,7 @@ syn keyword pythonTodo TODO FIXME XXX contained
" Errors " Errors
syn match pythonError "\<\d\+\D\+\>" display syn match pythonError "\<\d\+\D\+\>" display
syn match pythonError "[$?]" display syn match pythonError "[$?]" display
syn match pythonError "[&|]\{2,}" display syn match pythonError "[-+&|]\{2,}" display
syn match pythonError "[=]\{3,}" display syn match pythonError "[=]\{3,}" display
" TODO: Mixing spaces and tabs also may be used for pretty formatting multiline " TODO: Mixing spaces and tabs also may be used for pretty formatting multiline
@ -160,10 +125,10 @@ if exists("python_highlight_space_errors") && python_highlight_space_errors != 0
endif endif
" Strings " Strings
syn region pythonString start=+[bB]\='+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonEscape,pythonEscapeError,@Spell syn region pythonString start=+'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonEscape,pythonEscapeError,@Spell
syn region pythonString start=+[bB]\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonEscape,pythonEscapeError,@Spell syn region pythonString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonEscape,pythonEscapeError,@Spell
syn region pythonString start=+[bB]\="""+ end=+"""+ keepend contains=pythonEscape,pythonEscapeError,pythonDocTest2,pythonSpaceError,@Spell syn region pythonString start=+"""+ end=+"""+ keepend contains=pythonEscape,pythonEscapeError,pythonDocTest2,pythonSpaceError,@Spell
syn region pythonString start=+[bB]\='''+ end=+'''+ keepend contains=pythonEscape,pythonEscapeError,pythonDocTest,pythonSpaceError,@Spell syn region pythonString start=+'''+ end=+'''+ keepend contains=pythonEscape,pythonEscapeError,pythonDocTest,pythonSpaceError,@Spell
syn match pythonEscape +\\[abfnrtv'"\\]+ display contained syn match pythonEscape +\\[abfnrtv'"\\]+ display contained
syn match pythonEscape "\\\o\o\=\o\=" display contained syn match pythonEscape "\\\o\o\=\o\=" display contained
@ -172,6 +137,19 @@ syn match pythonEscape "\\x\x\{2}" display contained
syn match pythonEscapeError "\\x\x\=\X" display contained syn match pythonEscapeError "\\x\x\=\X" display contained
syn match pythonEscape "\\$" syn match pythonEscape "\\$"
" Byte-Strings
syn region pythonBString start=+[bB]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBEscape,pythonBEscapeError,@Spell
syn region pythonBString start=+[bB]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBEscape,pythonBEscapeError,@Spell
syn region pythonBString start=+[bB]"""+ end=+"""+ keepend contains=pythonBEscape,pythonBEscapeError,pythonDocTest2,pythonSpaceError,@Spell
syn region pythonBString start=+[bB]'''+ end=+'''+ keepend contains=pythonBEscape,pythonBEscapeError,pythonDocTest,pythonSpaceError,@Spell
syn match pythonBEscape +\\[abfnrtv'"\\]+ display contained
syn match pythonBEscape "\\\o\o\=\o\=" display contained
syn match pythonBEscapeError "\\\o\{,2}[89]" display contained
syn match pythonBEscape "\\x\x\{2}" display contained
syn match pythonBEscapeError "\\x\x\=\X" display contained
syn match pythonBEscape "\\$"
" Unicode strings " Unicode strings
syn region pythonUniString start=+[uU]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError,@Spell syn region pythonUniString start=+[uU]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError,@Spell
syn region pythonUniString start=+[uU]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError,@Spell syn region pythonUniString start=+[uU]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonEscape,pythonUniEscape,pythonEscapeError,pythonUniEscapeError,@Spell
@ -204,21 +182,8 @@ syn match pythonUniRawEscapeError "\([^\\]\(\\\\\)*\)\@<=\\u\x\{,3}\X" display
if exists("python_highlight_string_formatting") && python_highlight_string_formatting != 0 if exists("python_highlight_string_formatting") && python_highlight_string_formatting != 0
" String formatting " String formatting
syn match pythonStrFormatting "%\(([^)]\+)\)\=[-#0 +]*\d*\(\.\d\+\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString syn match pythonStrFormat "%\(([^)]\+)\)\=[-#0 +]*\d*\(\.\d\+\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonBString,pythonUniString,pythonRawString,pythonUniRawString
syn match pythonStrFormatting "%[-#0 +]*\(\*\|\d\+\)\=\(\.\(\*\|\d\+\)\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString syn match pythonStrFormat "%[-#0 +]*\(\*\|\d\+\)\=\(\.\(\*\|\d\+\)\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonBString,pythonUniString,pythonRawString,pythonUniRawString
endif
if exists("python_highlight_string_format") && python_highlight_string_format != 0
" str.format syntax
syn match pythonStrFormat "{{\|}}" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString
syn match pythonStrFormat "{\([a-zA-Z_][a-zA-Z0-9_]*\|\d\+\)\(\.[a-zA-Z_][a-zA-Z0-9_]*\|\[\(\d\+\|[^!:\}]\+\)\]\)*\(![rs]\)\=\(:\({\([a-zA-Z_][a-zA-Z0-9_]*\|\d\+\)}\|\([^}]\=[<>=^]\)\=[ +-]\=#\=0\=\d*\(\.\d\+\)\=[bcdeEfFgGnoxX%]\=\)\=\)\=}" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString
endif
if exists("python_highlight_string_templates") && python_highlight_string_templates != 0
" String templates
syn match pythonStrTemplate "\$\$" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString
syn match pythonStrTemplate "\${[a-zA-Z_][a-zA-Z0-9_]*}" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString
syn match pythonStrTemplate "\$[a-zA-Z_][a-zA-Z0-9_]*" contained containedin=pythonString,pythonUniString,pythonRawString,pythonUniRawString
endif endif
if exists("python_highlight_doctests") && python_highlight_doctests != 0 if exists("python_highlight_doctests") && python_highlight_doctests != 0
@ -228,47 +193,33 @@ if exists("python_highlight_doctests") && python_highlight_doctests != 0
endif endif
" Numbers (ints, longs, floats, complex) " Numbers (ints, longs, floats, complex)
syn match pythonHexError "\<0[xX]\x*[g-zG-Z]\x*[lL]\=\>" display
syn match pythonHexNumber "\<0[xX]\x\+[lL]\=\>" display syn match pythonHexNumber "\<0[xX]\x\+[lL]\=\>" display
syn match pythonOctNumber "\<0[oO]\o\+[lL]\=\>" display syn match pythonHexNumber "\<0[xX]\>" display
syn match pythonBinNumber "\<0[bB][01]\+[lL]\=\>" display
syn match pythonNumber "\<\d\+[lLjJ]\=\>" 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\+[eE][+-]\=\d\+[jJ]\=\>" display syn match pythonFloat "\<\d\+[eE][+-]\=\d\+[jJ]\=\>" display
syn match pythonFloat "\<\d\+\.\d*\([eE][+-]\=\d\+\)\=[jJ]\=" display syn match pythonFloat "\<\d\+\.\d*\([eE][+-]\=\d\+\)\=[jJ]\=" display
syn match pythonOctError "\<0[oO]\=\o*[8-9]\d*[lL]\=\>" display syn match pythonOctalError "\<0\o*[89]\d*[lL]\=\>" display
syn match pythonBinError "\<0[bB][01]*[2-9]\d*[lL]\=\>" display syn match pythonHexError "\<0[xX]\X\+[lL]\=\>" display
if exists("python_highlight_builtin_objs") && python_highlight_builtin_objs != 0 if exists("python_highlight_builtins") && python_highlight_builtins != 0
" Builtin objects and types " Builtin functions, types and objects
syn keyword pythonBuiltinObj True False Ellipsis None NotImplemented syn keyword pythonBuiltinObj Ellipsis NotImplemented
syn keyword pythonBuiltinObj __debug__ __doc__ __file__ __name__ __package__
endif
if exists("python_highlight_builtin_funcs") && python_highlight_builtin_funcs != 0
" Builtin functions
syn keyword pythonBuiltinFunc __import__ abs all any apply syn keyword pythonBuiltinFunc __import__ abs all any apply
syn keyword pythonBuiltinFunc basestring bin bool buffer bytearray bytes callable syn keyword pythonBuiltinFunc basestring bool buffer callable
syn keyword pythonBuiltinFunc chr classmethod cmp coerce compile complex syn keyword pythonBuiltinFunc chr classmethod cmp coerce compile complex
syn keyword pythonBuiltinFunc delattr dict dir divmod enumerate eval syn keyword pythonBuiltinFunc delattr dict dir divmod enumerate eval
syn keyword pythonBuiltinFunc execfile file filter float format frozenset getattr syn keyword pythonBuiltinFunc execfile file filter float frozenset getattr
syn keyword pythonBuiltinFunc globals hasattr hash help hex id syn keyword pythonBuiltinfunc globals hasattr hash help hex id
syn keyword pythonBuiltinFunc input int intern isinstance syn keyword pythonBuiltinFunc input int intern isinstance
syn keyword pythonBuiltinFunc issubclass iter len list locals long map max syn keyword pythonBuiltinFunc issubclass iter len list locals long map max
syn keyword pythonBuiltinFunc min next object oct open ord syn keyword pythonBuiltinFunc min object oct open ord pow property range
syn keyword pythonBuiltinFunc pow property range
syn keyword pythonBuiltinFunc raw_input reduce reload repr syn keyword pythonBuiltinFunc raw_input reduce reload repr
syn keyword pythonBuiltinFunc reversed round set setattr syn keyword pythonBuiltinFunc reversed round set setattr
syn keyword pythonBuiltinFunc slice sorted staticmethod str sum super tuple syn keyword pythonBuiltinFunc slice sorted staticmethod str sum super tuple
syn keyword pythonBuiltinFunc type unichr unicode vars xrange zip syn keyword pythonBuiltinFunc type unichr unicode vars xrange zip
if exists("python_print_as_function") && python_print_as_function != 0
syn keyword pythonBuiltinFunc print
endif
endif endif
if exists("python_highlight_exceptions") && python_highlight_exceptions != 0 if exists("python_highlight_exceptions") && python_highlight_exceptions != 0
@ -277,7 +228,7 @@ if exists("python_highlight_exceptions") && python_highlight_exceptions != 0
syn keyword pythonExClass Exception StandardError ArithmeticError syn keyword pythonExClass Exception StandardError ArithmeticError
syn keyword pythonExClass LookupError EnvironmentError syn keyword pythonExClass LookupError EnvironmentError
syn keyword pythonExClass AssertionError AttributeError BufferError EOFError syn keyword pythonExClass AssertionError AttributeError EOFError
syn keyword pythonExClass FloatingPointError GeneratorExit IOError syn keyword pythonExClass FloatingPointError GeneratorExit IOError
syn keyword pythonExClass ImportError IndexError KeyError syn keyword pythonExClass ImportError IndexError KeyError
syn keyword pythonExClass KeyboardInterrupt MemoryError NameError syn keyword pythonExClass KeyboardInterrupt MemoryError NameError
@ -287,12 +238,12 @@ if exists("python_highlight_exceptions") && python_highlight_exceptions != 0
syn keyword pythonExClass SystemError SystemExit TypeError syn keyword pythonExClass SystemError SystemExit TypeError
syn keyword pythonExClass UnboundLocalError UnicodeError syn keyword pythonExClass UnboundLocalError UnicodeError
syn keyword pythonExClass UnicodeEncodeError UnicodeDecodeError syn keyword pythonExClass UnicodeEncodeError UnicodeDecodeError
syn keyword pythonExClass UnicodeTranslateError ValueError VMSError syn keyword pythonExClass UnicodeTranslateError ValueError
syn keyword pythonExClass WindowsError ZeroDivisionError syn keyword pythonExClass WindowsError ZeroDivisionError
syn keyword pythonExClass Warning UserWarning BytesWarning DeprecationWarning syn keyword pythonExClass Warning UserWarning DeprecationWarning
syn keyword pythonExClass PendingDepricationWarning SyntaxWarning syn keyword pythonExClass PendingDepricationWarning SyntaxWarning
syn keyword pythonExClass RuntimeWarning FutureWarning syn keyword pythonExClass RuntimeWarning FutureWarning OverflowWarning
syn keyword pythonExClass ImportWarning UnicodeWarning syn keyword pythonExClass ImportWarning UnicodeWarning
endif endif
@ -315,7 +266,7 @@ if version >= 508 || !exists("did_python_syn_inits")
endif endif
HiLink pythonStatement Statement HiLink pythonStatement Statement
HiLink pythonPreCondit Statement HiLink pythonImport Statement
HiLink pythonFunction Function HiLink pythonFunction Function
HiLink pythonConditional Conditional HiLink pythonConditional Conditional
HiLink pythonRepeat Repeat HiLink pythonRepeat Repeat
@ -323,8 +274,6 @@ if version >= 508 || !exists("did_python_syn_inits")
HiLink pythonOperator Operator HiLink pythonOperator Operator
HiLink pythonDecorator Define HiLink pythonDecorator Define
HiLink pythonDottedName Function
HiLink pythonDot Normal
HiLink pythonComment Comment HiLink pythonComment Comment
HiLink pythonCoding Special HiLink pythonCoding Special
@ -336,32 +285,30 @@ if version >= 508 || !exists("did_python_syn_inits")
HiLink pythonSpaceError Error HiLink pythonSpaceError Error
HiLink pythonString String HiLink pythonString String
HiLink pythonBString String
HiLink pythonUniString String HiLink pythonUniString String
HiLink pythonRawString String HiLink pythonRawString String
HiLink pythonUniRawString String HiLink pythonUniRawString String
HiLink pythonEscape Special HiLink pythonEscape Special
HiLink pythonBEscape Special
HiLink pythonEscapeError Error HiLink pythonEscapeError Error
HiLink pythonBEscapeError Error
HiLink pythonUniEscape Special HiLink pythonUniEscape Special
HiLink pythonUniEscapeError Error HiLink pythonUniEscapeError Error
HiLink pythonUniRawEscape Special HiLink pythonUniRawEscape Special
HiLink pythonUniRawEscapeError Error HiLink pythonUniRawEscapeError Error
HiLink pythonStrFormatting Special
HiLink pythonStrFormat Special HiLink pythonStrFormat Special
HiLink pythonStrTemplate Special
HiLink pythonDocTest Special HiLink pythonDocTest Special
HiLink pythonDocTest2 Special HiLink pythonDocTest2 Special
HiLink pythonNumber Number HiLink pythonNumber Number
HiLink pythonHexNumber Number HiLink pythonHexNumber Number
HiLink pythonOctNumber Number
HiLink pythonBinNumber Number
HiLink pythonFloat Float HiLink pythonFloat Float
HiLink pythonOctError Error HiLink pythonOctalError Error
HiLink pythonHexError Error HiLink pythonHexError Error
HiLink pythonBinError Error
HiLink pythonBuiltinObj Structure HiLink pythonBuiltinObj Structure
HiLink pythonBuiltinFunc Function HiLink pythonBuiltinFunc Function