Showing the changes to sys/src/cmd/python/Misc/Vim/python.vim (1 of 3706 files). Show all
Unified · Split
| @@ -0,0 +1,147 @@ | |||
| 1 | " Auto-generated Vim syntax file for Python | ||
| 2 | " | ||
| 3 | " To use: copy or symlink to ~/.vim/syntax/python.vim | ||
| 4 | |||
| 5 | |||
| 6 | if exists("b:current_syntax") | ||
| 7 | finish | ||
| 8 | endif | ||
| 9 | |||
| 10 | if exists("python_highlight_all") | ||
| 11 | let python_highlight_numbers = 1 | ||
| 12 | let python_highlight_builtins = 1 | ||
| 13 | let python_highlight_exceptions = 1 | ||
| 14 | let python_highlight_space_errors = 1 | ||
| 15 | endif | ||
| 16 | |||
| 17 | syn keyword pythonStatement as assert break continue del except exec finally | ||
| 18 | syn keyword pythonStatement global lambda pass print raise return try with | ||
| 19 | syn keyword pythonStatement yield | ||
| 20 | |||
| 21 | syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite | ||
| 22 | |||
| 23 | syn match pythonFunction "[a-zA-Z_][a-zA-Z0-9_]*" contained | ||
| 24 | |||
| 25 | syn keyword pythonRepeat for while | ||
| 26 | |||
| 27 | syn keyword pythonConditional if elif else | ||
| 28 | |||
| 29 | syn keyword pythonOperator and in is not or | ||
| 30 | |||
| 31 | syn keyword pythonPreCondit import from | ||
| 32 | |||
| 33 | syn match pythonComment "#.*$" contains=pythonTodo | ||
| 34 | |||
| 35 | syn keyword pythonTodo TODO FIXME XXX contained | ||
| 36 | |||
| 37 | syn region pythonString matchgroup=Normal start=+[uU]\='+ end=+'+ skip=+\\\\\|\\'+ contains=pythonEscape | ||
| 38 | syn region pythonString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=pythonEscape | ||
| 39 | syn region pythonString matchgroup=Normal start=+[uU]\="""+ end=+"""+ contains=pythonEscape | ||
| 40 | syn region pythonString matchgroup=Normal start=+[uU]\='''+ end=+'''+ contains=pythonEscape | ||
| 41 | syn region pythonString matchgroup=Normal start=+[uU]\=[rR]'+ end=+'+ skip=+\\\\\|\\'+ | ||
| 42 | syn region pythonString matchgroup=Normal start=+[uU]\=[rR]"+ end=+"+ skip=+\\\\\|\\"+ | ||
| 43 | syn region pythonString matchgroup=Normal start=+[uU]\=[rR]"""+ end=+"""+ | ||
| 44 | syn region pythonString matchgroup=Normal start=+[uU]\=[rR]'''+ end=+'''+ | ||
| 45 | |||
| 46 | syn match pythonEscape +\\[abfnrtv\'"\\]+ contained | ||
| 47 | syn match pythonEscape "\\\o\{1,3}" contained | ||
| 48 | syn match pythonEscape "\\x\x\{2}" contained | ||
| 49 | syn match pythonEscape "\(\\u\x\{4}\|\\U\x\{8}\)" contained | ||
| 50 | |||
| 51 | syn match pythonEscape "\\$" | ||
| 52 | |||
| 53 | |||
| 54 | if exists("python_highlight_numbers") | ||
| 55 | syn match pythonNumber "\<0x\x\+[Ll]\=\>" | ||
| 56 | syn match pythonNumber "\<\d\+[LljJ]\=\>" | ||
| 57 | syn match pythonNumber "\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" | ||
| 58 | syn match pythonNumber "\<\d\+\.\([eE][+-]\=\d\+\)\=[jJ]\=\>" | ||
| 59 | syn match pythonNumber "\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>" | ||
| 60 | |||
| 61 | endif | ||
| 62 | |||
| 63 | |||
| 64 | if exists("python_highlight_builtins") | ||
| 65 | syn keyword pythonBuiltin unichr all set abs vars int __import__ unicode | ||
| 66 | syn keyword pythonBuiltin enumerate reduce coerce intern exit issubclass | ||
| 67 | syn keyword pythonBuiltin divmod file Ellipsis apply isinstance open any | ||
| 68 | syn keyword pythonBuiltin locals help filter basestring slice copyright min | ||
| 69 | syn keyword pythonBuiltin super sum tuple hex execfile long id xrange chr | ||
| 70 | syn keyword pythonBuiltin complex bool zip pow dict True oct NotImplemented | ||
| 71 | syn keyword pythonBuiltin map None float hash getattr buffer max reversed | ||
| 72 | syn keyword pythonBuiltin object quit len repr callable credits setattr | ||
| 73 | syn keyword pythonBuiltin eval frozenset sorted ord __debug__ hasattr | ||
| 74 | syn keyword pythonBuiltin delattr False input license classmethod type | ||
| 75 | syn keyword pythonBuiltin raw_input list iter compile reload range globals | ||
| 76 | syn keyword pythonBuiltin staticmethod str property round dir cmp | ||
| 77 | |||
| 78 | endif | ||
| 79 | |||
| 80 | |||
| 81 | if exists("python_highlight_exceptions") | ||
| 82 | syn keyword pythonException GeneratorExit ImportError RuntimeError | ||
| 83 | syn keyword pythonException UnicodeTranslateError MemoryError StopIteration | ||
| 84 | syn keyword pythonException PendingDeprecationWarning EnvironmentError | ||
| 85 | syn keyword pythonException LookupError OSError DeprecationWarning | ||
| 86 | syn keyword pythonException UnicodeError UnicodeEncodeError | ||
| 87 | syn keyword pythonException FloatingPointError ReferenceError NameError | ||
| 88 | syn keyword pythonException IOError SyntaxError | ||
| 89 | syn keyword pythonException FutureWarning ImportWarning SystemExit | ||
| 90 | syn keyword pythonException Exception EOFError StandardError ValueError | ||
| 91 | syn keyword pythonException TabError KeyError ZeroDivisionError SystemError | ||
| 92 | syn keyword pythonException UnicodeDecodeError IndentationError | ||
| 93 | syn keyword pythonException AssertionError TypeError IndexError | ||
| 94 | syn keyword pythonException RuntimeWarning KeyboardInterrupt UserWarning | ||
| 95 | syn keyword pythonException SyntaxWarning UnboundLocalError ArithmeticError | ||
| 96 | syn keyword pythonException Warning NotImplementedError AttributeError | ||
| 97 | syn keyword pythonException OverflowError BaseException | ||
| 98 | |||
| 99 | endif | ||
| 100 | |||
| 101 | |||
| 102 | if exists("python_highlight_space_errors") | ||
| 103 | syn match pythonSpaceError display excludenl "\S\s\+$"ms=s+1 | ||
| 104 | syn match pythonSpaceError display " \+\t" | ||
| 105 | syn match pythonSpaceError display "\t\+ " | ||
| 106 | |||
| 107 | endif | ||
| 108 | |||
| 109 | |||
| 110 | hi def link pythonStatement Statement | ||
| 111 | hi def link pythonStatement Statement | ||
| 112 | hi def link pythonFunction Function | ||
| 113 | hi def link pythonRepeat Repeat | ||
| 114 | hi def link pythonConditional Conditional | ||
| 115 | hi def link pythonOperator Operator | ||
| 116 | hi def link pythonPreCondit PreCondit | ||
| 117 | hi def link pythonComment Comment | ||
| 118 | hi def link pythonTodo Todo | ||
| 119 | hi def link pythonString String | ||
| 120 | hi def link pythonEscape Special | ||
| 121 | hi def link pythonEscape Special | ||
| 122 | |||
| 123 | if exists("python_highlight_numbers") | ||
| 124 | hi def link pythonNumber Number | ||
| 125 | endif | ||
| 126 | |||
| 127 | if exists("python_highlight_builtins") | ||
| 128 | hi def link pythonBuiltin Function | ||
| 129 | endif | ||
| 130 | |||
| 131 | if exists("python_highlight_exceptions") | ||
| 132 | hi def link pythonException Exception | ||
| 133 | endif | ||
| 134 | |||
| 135 | if exists("python_highlight_space_errors") | ||
| 136 | hi def link pythonSpaceError Error | ||
| 137 | endif | ||
| 138 | |||
| 139 | |||
| 140 | " Uncomment the 'minlines' statement line and comment out the 'maxlines' | ||
| 141 | " statement line; changes behaviour to look at least 2000 lines previously for | ||
| 142 | " syntax matches instead of at most 200 lines | ||
| 143 | syn sync match pythonSync grouphere NONE "):$" | ||
| 144 | syn sync maxlines=200 | ||
| 145 | "syn sync minlines=2000 | ||
| 146 | |||
| 147 | let b:current_syntax = "python" | ||