| " Auto-generated Vim syntax file for Python |
| " |
| " To use: copy or symlink to ~/.vim/syntax/python.vim |
| |
| |
| if exists("b:current_syntax") |
| finish |
| endif |
| |
| if exists("python_highlight_all") |
| let python_highlight_numbers = 1 |
| let python_highlight_builtins = 1 |
| let python_highlight_exceptions = 1 |
| let python_highlight_space_errors = 1 |
| endif |
| |
| syn keyword pythonStatement as assert break continue del except exec finally |
| syn keyword pythonStatement global lambda pass print raise return try with |
| syn keyword pythonStatement yield |
| |
| syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite |
| |
| syn match pythonFunction "[a-zA-Z_][a-zA-Z0-9_]*" contained |
| |
| syn keyword pythonRepeat for while |
| |
| syn keyword pythonConditional if elif else |
| |
| syn keyword pythonOperator and in is not or |
| |
| syn keyword pythonPreCondit import from |
| |
| syn match pythonComment "#.*$" contains=pythonTodo |
| |
| syn keyword pythonTodo TODO FIXME XXX contained |
| |
| syn region pythonString matchgroup=Normal start=+[uU]\='+ end=+'+ skip=+\\\\\|\\'+ contains=pythonEscape |
| syn region pythonString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=pythonEscape |
| syn region pythonString matchgroup=Normal start=+[uU]\="""+ end=+"""+ contains=pythonEscape |
| syn region pythonString matchgroup=Normal start=+[uU]\='''+ end=+'''+ contains=pythonEscape |
| syn region pythonString matchgroup=Normal start=+[uU]\=[rR]'+ end=+'+ skip=+\\\\\|\\'+ |
| syn region pythonString matchgroup=Normal start=+[uU]\=[rR]"+ end=+"+ skip=+\\\\\|\\"+ |
| syn region pythonString matchgroup=Normal start=+[uU]\=[rR]"""+ end=+"""+ |
| syn region pythonString matchgroup=Normal start=+[uU]\=[rR]'''+ end=+'''+ |
| |
| syn match pythonEscape +\\[abfnrtv\'"\\]+ contained |
| syn match pythonEscape "\\\o\{1,3}" contained |
| syn match pythonEscape "\\x\x\{2}" contained |
| syn match pythonEscape "\(\\u\x\{4}\|\\U\x\{8}\)" contained |
| |
| syn match pythonEscape "\\$" |
| |
| |
| if exists("python_highlight_numbers") |
| syn match pythonNumber "\<0x\x\+[Ll]\=\>" |
| syn match pythonNumber "\<\d\+[LljJ]\=\>" |
| syn match pythonNumber "\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" |
| syn match pythonNumber "\<\d\+\.\([eE][+-]\=\d\+\)\=[jJ]\=\>" |
| syn match pythonNumber "\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" |
| |
| endif |
| |
| |
| if exists("python_highlight_builtins") |
| syn keyword pythonBuiltin Ellipsis False None NotImplemented True __debug__ |
| syn keyword pythonBuiltin __import__ abs all any apply basestring bool |
| syn keyword pythonBuiltin buffer callable chr classmethod cmp coerce |
| syn keyword pythonBuiltin compile complex copyright credits delattr dict |
| syn keyword pythonBuiltin dir divmod enumerate eval execfile exit file |
| syn keyword pythonBuiltin filter float frozenset getattr globals hasattr |
| syn keyword pythonBuiltin hash help hex id input int intern isinstance |
| syn keyword pythonBuiltin issubclass iter len license list locals long map |
| syn keyword pythonBuiltin max min object oct open ord pow property quit |
| syn keyword pythonBuiltin range raw_input reduce reload repr reversed round |
| syn keyword pythonBuiltin set setattr slice sorted staticmethod str sum |
| syn keyword pythonBuiltin super tuple type unichr unicode vars xrange zip |
| |
| endif |
| |
| |
| if exists("python_highlight_exceptions") |
| syn keyword pythonException ArithmeticError AssertionError AttributeError |
| syn keyword pythonException BaseException DeprecationWarning EOFError |
| syn keyword pythonException EnvironmentError Exception FloatingPointError |
| syn keyword pythonException FutureWarning GeneratorExit IOError ImportError |
| syn keyword pythonException ImportWarning IndentationError IndexError |
| syn keyword pythonException KeyError KeyboardInterrupt LookupError |
| syn keyword pythonException MemoryError NameError NotImplementedError |
| syn keyword pythonException OSError OverflowError PendingDeprecationWarning |
| syn keyword pythonException ReferenceError RuntimeError RuntimeWarning |
| syn keyword pythonException StandardError StopIteration SyntaxError |
| syn keyword pythonException SyntaxWarning SystemError SystemExit TabError |
| syn keyword pythonException TypeError UnboundLocalError UnicodeDecodeError |
| syn keyword pythonException UnicodeEncodeError UnicodeError |
| syn keyword pythonException UnicodeTranslateError UnicodeWarning |
| syn keyword pythonException UserWarning ValueError Warning |
| syn keyword pythonException ZeroDivisionError |
| |
| endif |
| |
| |
| if exists("python_highlight_space_errors") |
| syn match pythonSpaceError display excludenl "\S\s\+$"ms=s+1 |
| syn match pythonSpaceError display " \+\t" |
| syn match pythonSpaceError display "\t\+ " |
| |
| endif |
| |
| |
| hi def link pythonStatement Statement |
| hi def link pythonStatement Statement |
| hi def link pythonFunction Function |
| hi def link pythonRepeat Repeat |
| hi def link pythonConditional Conditional |
| hi def link pythonOperator Operator |
| hi def link pythonPreCondit PreCondit |
| hi def link pythonComment Comment |
| hi def link pythonTodo Todo |
| hi def link pythonString String |
| hi def link pythonEscape Special |
| hi def link pythonEscape Special |
| |
| if exists("python_highlight_numbers") |
| hi def link pythonNumber Number |
| endif |
| |
| if exists("python_highlight_builtins") |
| hi def link pythonBuiltin Function |
| endif |
| |
| if exists("python_highlight_exceptions") |
| hi def link pythonException Exception |
| endif |
| |
| if exists("python_highlight_space_errors") |
| hi def link pythonSpaceError Error |
| endif |
| |
| |
| " Uncomment the 'minlines' statement line and comment out the 'maxlines' |
| " statement line; changes behaviour to look at least 2000 lines previously for |
| " syntax matches instead of at most 200 lines |
| syn sync match pythonSync grouphere NONE "):$" |
| syn sync maxlines=200 |
| "syn sync minlines=2000 |
| |
| let b:current_syntax = "python" |