diff options
Diffstat (limited to 'Misc')
-rw-r--r-- | Misc/Vim/python.vim | 148 | ||||
-rw-r--r-- | Misc/Vim/syntax_test.py | 62 | ||||
-rw-r--r-- | Misc/Vim/vim_syntax.py | 229 | ||||
-rw-r--r-- | Misc/Vim/vimrc | 87 |
4 files changed, 0 insertions, 526 deletions
diff --git a/Misc/Vim/python.vim b/Misc/Vim/python.vim deleted file mode 100644 index 11ee7eb..0000000 --- a/Misc/Vim/python.vim +++ /dev/null @@ -1,148 +0,0 @@ -" Auto-generated Vim syntax file for Python (trunk: r60376M). -" -" 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 bool - syn keyword pythonBuiltin buffer callable chr classmethod cmp - syn keyword pythonBuiltin complex copyright credits delattr dict - syn keyword pythonBuiltin dir divmod enumerate eval exec exit - syn keyword pythonBuiltin filter float frozenset getattr globals hasattr - syn keyword pythonBuiltin hash help hex id int isinstance - syn keyword pythonBuiltin issubclass iter len license list locals map - syn keyword pythonBuiltin max min object oct open ord pow property quit - syn keyword pythonBuiltin range reload repr reversed round - syn keyword pythonBuiltin set setattr slice sorted staticmethod str sum - syn keyword pythonBuiltin super trunc tuple type unicode vars - syn keyword pythonBuiltin 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 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" diff --git a/Misc/Vim/syntax_test.py b/Misc/Vim/syntax_test.py deleted file mode 100644 index 1d20866..0000000 --- a/Misc/Vim/syntax_test.py +++ /dev/null @@ -1,62 +0,0 @@ -"""Test file for syntax highlighting of editors. - -Meant to cover a wide range of different types of statements and expressions. -Not necessarily sensical or comprehensive (assume that if one exception is -highlighted that all are, for instance). - -Extraneous trailing whitespace can't be tested because of svn pre-commit hook -checks for such things. - -""" -# Comment -# OPTIONAL: XXX catch your attention - -# Statements -from __future__ import with_statement # Import -from sys import path as thing -assert True # keyword -def foo(): # function definition - return [] -class Bar(object): # Class definition - def __enter__(self): - pass - def __exit__(self, *args): - pass -foo() # UNCOLOURED: function call -while False: # 'while' - continue -for x in foo(): # 'for' - break -with Bar() as stuff: - pass -if False: pass # 'if' -elif False: pass -else: pass - -# Constants -'single-quote', u'unicode' # Strings of all kinds; prefixes not highlighted -"double-quote" -"""triple double-quote""" -'''triple single-quote''' -r'raw' -ur'unicode raw' -'escape\n' -'\04' # octal -'\xFF' # hex -'\u1111' # unicode character -1 # Integral -1L -1.0 # Float -.1 -1+2j # Complex - -# Expressions -1 and 2 or 3 # Boolean operators -2 < 3 # UNCOLOURED: comparison operators -spam = 42 # UNCOLOURED: assignment -2 + 3 # UNCOLOURED: number operators -[] # UNCOLOURED: list -{} # UNCOLOURED: dict -(1,) # UNCOLOURED: tuple -all # Built-in functions -GeneratorExit # Exceptions diff --git a/Misc/Vim/vim_syntax.py b/Misc/Vim/vim_syntax.py deleted file mode 100644 index 172b350..0000000 --- a/Misc/Vim/vim_syntax.py +++ /dev/null @@ -1,229 +0,0 @@ -from __future__ import with_statement -# XXX(nnorwitz): what versions of python is this file supposed to work with? -# It uses the old print statement not in py3k. - -import keyword -import exceptions -import builtins -from string import Template -from sys import subversion - -comment_header = '''" Auto-generated Vim syntax file for Python (%s: r%s). -" -" To use: copy or symlink to ~/.vim/syntax/python.vim''' - -statement_header = """ -if exists("b:current_syntax") - finish -endif""" - -statement_footer = ''' -" 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"''' - -looping = ('for', 'while') -conditionals = ('if', 'elif', 'else') -boolean_ops = ('and', 'in', 'is', 'not', 'or') -import_stmts = ('import', 'from') -object_defs = ('def', 'class') - -exception_names = sorted(exc for exc in dir(exceptions) - if not exc.startswith('__')) - -# Need to include functions that start with '__' (e.g., __import__), but -# nothing that comes with modules (e.g., __name__), so just exclude anything in -# the 'exceptions' module since we want to ignore exceptions *and* what any -# module would have -builtin_names = sorted(builtin for builtin in dir(builtins) - if builtin not in dir(exceptions)) - -escapes = (r'+\\[abfnrtv\'"\\]+', r'"\\\o\{1,3}"', r'"\\x\x\{2}"', - r'"\(\\u\x\{4}\|\\U\x\{8}\)"', r'"\\$"') - -todos = ("TODO", "FIXME", "XXX") - -# XXX codify? -numbers = (r'"\<0x\x\+[Ll]\=\>"', r'"\<\d\+[LljJ]\=\>"', - '"\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>"', - '"\<\d\+\.\([eE][+-]\=\d\+\)\=[jJ]\=\>"', - '"\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=[jJ]\=\>"') - -contained = lambda x: "%s contained" % x - -def str_regexes(): - """Generator to yield various combinations of strings regexes""" - regex_template = Template('matchgroup=Normal ' + - 'start=+[uU]\=${raw}${sep}+ ' + - 'end=+${sep}+ ' + - '${skip} ' + - '${contains}') - skip_regex = Template(r'skip=+\\\\\|\\${sep}+') - for raw in ('', '[rR]'): - for separator in ("'", '"', '"""', "'''"): - if len(separator) == 1: - skip = skip_regex.substitute(sep=separator) - else: - skip = '' - contains = 'contains=pythonEscape' if not raw else '' - yield regex_template.substitute(raw=raw, sep=separator, skip=skip, - contains = contains) - -space_errors = (r'excludenl "\S\s\+$"ms=s+1', r'" \+\t"', r'"\t\+ "') - -statements = ( - ('', - # XXX Might need to change pythonStatement since have - # specific Repeat, Conditional, Operator, etc. for 'while', - # etc. - [("Statement", "pythonStatement", "keyword", - (kw for kw in keyword.kwlist - if kw not in (looping + conditionals + boolean_ops + - import_stmts + object_defs)) - ), - ("Statement", "pythonStatement", "keyword", - (' '.join(object_defs) + - ' nextgroup=pythonFunction skipwhite')), - ("Function","pythonFunction", "match", - contained('"[a-zA-Z_][a-zA-Z0-9_]*"')), - ("Repeat", "pythonRepeat", "keyword", looping), - ("Conditional", "pythonConditional", "keyword", - conditionals), - ("Operator", "pythonOperator", "keyword", boolean_ops), - ("PreCondit", "pythonPreCondit", "keyword", import_stmts), - ("Comment", "pythonComment", "match", - '"#.*$" contains=pythonTodo'), - ("Todo", "pythonTodo", "keyword", - contained(' '.join(todos))), - ("String", "pythonString", "region", str_regexes()), - ("Special", "pythonEscape", "match", - (contained(esc) for esc in escapes - if not '$' in esc)), - ("Special", "pythonEscape", "match", r'"\\$"'), - ] - ), - ("python_highlight_numbers", - [("Number", "pythonNumber", "match", numbers)] - ), - ("python_highlight_builtins", - [("Function", "pythonBuiltin", "keyword", builtin_names)] - ), - ("python_highlight_exceptions", - [("Exception", "pythonException", "keyword", - exception_names)] - ), - ("python_highlight_space_errors", - [("Error", "pythonSpaceError", "match", - ("display " + err for err in space_errors))] - ) - ) - -def syn_prefix(type_, kind): - return 'syn %s %s ' % (type_, kind) - -def fill_stmt(iterable, fill_len): - """Yield a string that fills at most fill_len characters with strings - returned by 'iterable' and separated by a space""" - # Deal with trailing char to handle ' '.join() calculation - fill_len += 1 - overflow = None - it = iter(iterable) - while True: - buffer_ = [] - total_len = 0 - if overflow: - buffer_.append(overflow) - total_len += len(overflow) + 1 - overflow = None - while total_len < fill_len: - try: - new_item = next(it) - buffer_.append(new_item) - total_len += len(new_item) + 1 - except StopIteration: - if buffer_: - break - if overflow: - yield overflow - return - if total_len > fill_len: - overflow = buffer_.pop() - total_len -= len(overflow) - 1 - ret = ' '.join(buffer_) - assert len(ret) <= fill_len - yield ret - -FILL = 80 - -def main(file_path): - with open(file_path, 'w') as FILE: - # Comment for file - print>>FILE, comment_header % subversion[1:] - print>>FILE, '' - # Statements at start of file - print>>FILE, statement_header - print>>FILE, '' - # Generate case for python_highlight_all - print>>FILE, 'if exists("python_highlight_all")' - for statement_var, statement_parts in statements: - if statement_var: - print>>FILE, ' let %s = 1' % statement_var - else: - print>>FILE, 'endif' - print>>FILE, '' - # Generate Python groups - for statement_var, statement_parts in statements: - if statement_var: - print>>FILE, 'if exists("%s")' % statement_var - indent = ' ' - else: - indent = '' - for colour_group, group, type_, arguments in statement_parts: - if not isinstance(arguments, basestring): - prefix = syn_prefix(type_, group) - if type_ == 'keyword': - stmt_iter = fill_stmt(arguments, - FILL - len(prefix) - len(indent)) - try: - while True: - print>>FILE, indent + prefix + next(stmt_iter) - except StopIteration: - print>>FILE, '' - else: - for argument in arguments: - print>>FILE, indent + prefix + argument - else: - print>>FILE, '' - - else: - print>>FILE, indent + syn_prefix(type_, group) + arguments - print>>FILE, '' - else: - if statement_var: - print>>FILE, 'endif' - print>>FILE, '' - print>>FILE, '' - # Associating Python group with Vim colour group - for statement_var, statement_parts in statements: - if statement_var: - print>>FILE, ' if exists("%s")' % statement_var - indent = ' ' - else: - indent = ' ' - for colour_group, group, type_, arguments in statement_parts: - print>>FILE, (indent + "hi def link %s %s" % - (group, colour_group)) - else: - if statement_var: - print>>FILE, ' endif' - print>>FILE, '' - # Statements at the end of the file - print>>FILE, statement_footer - -if __name__ == '__main__': - main("python.vim") diff --git a/Misc/Vim/vimrc b/Misc/Vim/vimrc deleted file mode 100644 index c398cca..0000000 --- a/Misc/Vim/vimrc +++ /dev/null @@ -1,87 +0,0 @@ -" vimrc file for following the coding standards specified in PEP 7 & 8. -" -" To use this file, source it in your own personal .vimrc file (``source -" <filename>``) or, if you don't have a .vimrc file, you can just symlink to it -" (``ln -s <this file> ~/.vimrc``). All options are protected by autocmds -" (read below for an explanation of the command) so blind sourcing of this file -" is safe and will not affect your settings for non-Python or non-C files. -" -" -" All setting are protected by 'au' ('autocmd') statements. Only files ending -" in .py or .pyw will trigger the Python settings while files ending in *.c or -" *.h will trigger the C settings. This makes the file "safe" in terms of only -" adjusting settings for Python and C files. -" -" Only basic settings needed to enforce the style guidelines are set. -" Some suggested options are listed but commented out at the end of this file. - -" Number of spaces that a pre-existing tab is equal to. -" For the amount of space used for a new tab use shiftwidth. -au BufRead,BufNewFile *py,*pyw,*.c,*.h set tabstop=8 - -" What to use for an indent. -" This will affect Ctrl-T and 'autoindent'. -" Python: 4 spaces -" C: tabs (pre-existing files) or 4 spaces (new files) -au BufRead,BufNewFile *.py,*pyw set shiftwidth=4 -au BufRead,BufNewFile *.py,*.pyw set expandtab -fu Select_c_style() - if search('^\t', 'n', 150) - set shiftwidth=8 - set noexpandtab - el - set shiftwidth=4 - set expandtab - en -endf -au BufRead,BufNewFile *.c,*.h call Select_c_style() -au BufRead,BufNewFile Makefile* set noexpandtab - -" Use the below highlight group when displaying bad whitespace is desired. -highlight BadWhitespace ctermbg=red guibg=red - -" Display tabs at the beginning of a line in Python mode as bad. -au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/ -" Make trailing whitespace be flagged as bad. -au BufRead,BufNewFile *.py,*.pyw,*.c,*.h,*.rst match BadWhitespace /\s\+$/ - -" Wrap text after a certain number of characters -" Python: 79 -" C: 79 -au BufRead,BufNewFile *.py,*.pyw,*.c,*.h set textwidth=79 - -" Turn off settings in 'formatoptions' relating to comment formatting. -" - c : do not automatically insert the comment leader when wrapping based on -" 'textwidth' -" - o : do not insert the comment leader when using 'o' or 'O' from command mode -" - r : do not insert the comment leader when hitting <Enter> in insert mode -" Python: not needed -" C: prevents insertion of '*' at the beginning of every line in a comment -au BufRead,BufNewFile *.c,*.h set formatoptions-=c formatoptions-=o formatoptions-=r - -" Use UNIX (\n) line endings. -" Only used for new files so as to not force existing files to change their -" line endings. -" Python: yes -" C: yes -au BufNewFile *.py,*.pyw,*.c,*.h set fileformat=unix - - -" ---------------------------------------------------------------------------- -" The following section contains suggested settings. While in no way required -" to meet coding standards, they are helpful. - -" Set the default file encoding to UTF-8: ``set encoding=utf-8`` - -" Puts a marker at the beginning of the file to differentiate between UTF and -" UCS encoding (WARNING: can trick shells into thinking a text file is actually -" a binary file when executing the text file): ``set bomb`` - -" For full syntax highlighting: -"``let python_highlight_all=1`` -"``syntax on`` - -" Automatically indent based on file type: ``filetype indent on`` -" Keep indentation level from previous line: ``set autoindent`` - -" Folding based on indentation: ``set foldmethod=indent`` |