aboutsummaryrefslogtreecommitdiff
path: root/vim/bundle/vim-snippets/UltiSnips/python.snippets
diff options
context:
space:
mode:
Diffstat (limited to 'vim/bundle/vim-snippets/UltiSnips/python.snippets')
m---------vim/bundle/vim-snippets0
-rw-r--r--vim/bundle/vim-snippets/UltiSnips/python.snippets707
2 files changed, 0 insertions, 707 deletions
diff --git a/vim/bundle/vim-snippets b/vim/bundle/vim-snippets
new file mode 160000
+Subproject 15d7e5ec26ec93adee4051b6359be90a943aa38
diff --git a/vim/bundle/vim-snippets/UltiSnips/python.snippets b/vim/bundle/vim-snippets/UltiSnips/python.snippets
deleted file mode 100644
index fa3ff8b..0000000
--- a/vim/bundle/vim-snippets/UltiSnips/python.snippets
+++ /dev/null
@@ -1,707 +0,0 @@
-priority -50
-
-###########################################################################
-# TEXTMATE SNIPPETS #
-###########################################################################
-
-#! header
-snippet #! "Shebang header for python scripts" b
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-$0
-endsnippet
-
-snippet ifmain "ifmain" b
-if __name__ == `!p snip.rv = get_quoting_style(snip)`__main__`!p snip.rv = get_quoting_style(snip)`:
- ${1:${VISUAL:main()}}
-endsnippet
-
-snippet with "with" b
-with ${1:expr}`!p snip.rv = " as " if t[2] else ""`${2:var}:
- ${3:${VISUAL:pass}}
-${0}
-endsnippet
-
-snippet for "for loop" b
-for ${1:item} in ${2:iterable}:
- ${3:${VISUAL:pass}}
-endsnippet
-
-##########
-# COMMON #
-##########
-
-# The smart def and smart class snippets use a global option called
-# "g:ultisnips_python_style" which, if set to "doxygen" will use doxygen
-# style comments in docstrings.
-
-global !p
-
-NORMAL = 0x1
-DOXYGEN = 0x2
-SPHINX = 0x3
-GOOGLE = 0x4
-NUMPY = 0x5
-JEDI = 0x6
-
-SINGLE_QUOTES = "'"
-DOUBLE_QUOTES = '"'
-
-
-class Arg(object):
- def __init__(self, arg):
- self.arg = arg
- self.name = arg.split('=')[0].strip()
-
- def __str__(self):
- return self.name
-
- def __unicode__(self):
- return self.name
-
- def is_kwarg(self):
- return '=' in self.arg
-
-
-def get_args(arglist):
- args = [Arg(arg) for arg in arglist.split(',') if arg]
- args = [arg for arg in args if arg.name != 'self']
-
- return args
-
-
-def get_quoting_style(snip):
- style = snip.opt("g:ultisnips_python_quoting_style", "double")
- if style == 'single':
- return SINGLE_QUOTES
- return DOUBLE_QUOTES
-
-def triple_quotes(snip):
- style = snip.opt("g:ultisnips_python_triple_quoting_style")
- if not style:
- return get_quoting_style(snip) * 3
- return (SINGLE_QUOTES if style == 'single' else DOUBLE_QUOTES) * 3
-
-def triple_quotes_handle_trailing(snip, quoting_style):
- """
- Generate triple quoted strings and handle any trailing quote char,
- which might be there from some autoclose/autopair plugin,
- i.e. when expanding ``"|"``.
- """
- if not snip.c:
- # Do this only once, otherwise the following error would happen:
- # RuntimeError: The snippets content did not converge: …
- _, col = vim.current.window.cursor
- line = vim.current.line
-
- # Handle already existing quote chars after the trigger.
- _ret = quoting_style * 3
- while True:
- try:
- nextc = line[col]
- except IndexError:
- break
- if nextc == quoting_style and len(_ret):
- _ret = _ret[1:]
- col = col+1
- else:
- break
- snip.rv = _ret
- else:
- snip.rv = snip.c
-
-def get_style(snip):
- style = snip.opt("g:ultisnips_python_style", "normal")
-
- if style == "doxygen": return DOXYGEN
- elif style == "sphinx": return SPHINX
- elif style == "google": return GOOGLE
- elif style == "numpy": return NUMPY
- elif style == "jedi": return JEDI
- else: return NORMAL
-
-
-def format_arg(arg, style):
- if style == DOXYGEN:
- return "@param %s TODO" % arg
- elif style == SPHINX:
- return ":param %s: TODO" % arg
- elif style == NORMAL:
- return ":%s: TODO" % arg
- elif style == GOOGLE:
- return "%s (TODO): TODO" % arg
- elif style == JEDI:
- return ":type %s: TODO" % arg
- elif style == NUMPY:
- return "%s : TODO" % arg
-
-
-def format_return(style):
- if style == DOXYGEN:
- return "@return: TODO"
- elif style in (NORMAL, SPHINX, JEDI):
- return ":returns: TODO"
- elif style == GOOGLE:
- return "Returns: TODO"
-
-
-def write_docstring_args(args, snip):
- if not args:
- snip.rv += ' {0}'.format(triple_quotes(snip))
- return
-
- snip.rv += '\n' + snip.mkline('', indent='')
-
- style = get_style(snip)
-
- if style == GOOGLE:
- write_google_docstring_args(args, snip)
- elif style == NUMPY:
- write_numpy_docstring_args(args, snip)
- else:
- for arg in args:
- snip += format_arg(arg, style)
-
-
-def write_google_docstring_args(args, snip):
- kwargs = [arg for arg in args if arg.is_kwarg()]
- args = [arg for arg in args if not arg.is_kwarg()]
-
- if args:
- snip += "Args:"
- snip.shift()
- for arg in args:
- snip += format_arg(arg, GOOGLE)
- snip.unshift()
- snip.rv += '\n' + snip.mkline('', indent='')
-
- if kwargs:
- snip += "Kwargs:"
- snip.shift()
- for kwarg in kwargs:
- snip += format_arg(kwarg, GOOGLE)
- snip.unshift()
- snip.rv += '\n' + snip.mkline('', indent='')
-
-
-def write_numpy_docstring_args(args, snip):
- if args:
- snip += "Parameters"
- snip += "----------"
-
- kwargs = [arg for arg in args if arg.is_kwarg()]
- args = [arg for arg in args if not arg.is_kwarg()]
-
- if args:
- for arg in args:
- snip += format_arg(arg, NUMPY)
- if kwargs:
- for kwarg in kwargs:
- snip += format_arg(kwarg, NUMPY) + ', optional'
- snip.rv += '\n' + snip.mkline('', indent='')
-
-
-def write_init_body(args, parents, snip):
- parents = [p.strip() for p in parents.split(",")]
- parents = [p for p in parents if p != 'object']
-
- for p in parents:
- snip += p + ".__init__(self)"
-
- if parents:
- snip.rv += '\n' + snip.mkline('', indent='')
-
- for arg in args:
- snip += "self._%s = %s" % (arg, arg)
-
-
-def write_slots_args(args, snip):
- args = ['"_%s"' % arg for arg in args]
- snip += '__slots__ = (%s,)' % ', '.join(args)
-
-
-def write_function_docstring(t, snip):
- """
- Writes a function docstring with the current style.
-
- :param t: The values of the placeholders
- :param snip: UltiSnips.TextObjects.SnippetUtil object instance
- """
- snip.rv = ""
- snip >> 1
-
- args = get_args(t[2])
- if args:
- write_docstring_args(args, snip)
-
- style = get_style(snip)
-
- if style == NUMPY:
- snip += 'Returns'
- snip += '-------'
- snip += 'TODO'
- else:
- snip += format_return(style)
- snip.rv += '\n' + snip.mkline('', indent='')
- snip += triple_quotes(snip)
-
-def get_dir_and_file_name(snip):
- return os.getcwd().split(os.sep)[-1] + '.' + snip.basename
-
-endglobal
-
-########################################
-# Class & Special Method Name Snippets #
-########################################
-
-snippet class "class with docstrings" b
-class ${1:MyClass}(${2:object}):
-
- `!p snip.rv = triple_quotes(snip)`${3:Docstring for $1. }`!p snip.rv = triple_quotes(snip)`
-
- def __init__(self$4):
- `!p snip.rv = triple_quotes(snip)`${5:TODO: to be defined1.}`!p
-snip.rv = ""
-snip >> 2
-
-args = get_args(t[4])
-
-write_docstring_args(args, snip)
-if args:
- snip.rv += '\n' + snip.mkline('', indent='')
- snip += '{0}'.format(triple_quotes(snip))
-
-write_init_body(args, t[2], snip)
-`
- $0
-endsnippet
-
-
-snippet slotclass "class with slots and docstrings" b
-class ${1:MyClass}(${2:object}):
-
- `!p snip.rv = triple_quotes(snip)`${3:Docstring for $1. }`!p snip.rv = triple_quotes(snip)`
-`!p
-snip >> 1
-args = get_args(t[4])
-write_slots_args(args, snip)
-`
-
- def __init__(self$4):
- `!p snip.rv = triple_quotes(snip)`${5:TODO: to be defined.}`!p
-snip.rv = ""
-snip >> 2
-
-args = get_args(t[4])
-
-write_docstring_args(args, snip)
-if args:
- snip.rv += '\n' + snip.mkline('', indent='')
- snip += triple_quotes(snip)
-
-write_init_body(args, t[2], snip)
-`
- $0
-endsnippet
-
-
-snippet contain "methods for emulating a container type" b
-def __len__(self):
- ${1:pass}
-
-def __getitem__(self, key):
- ${2:pass}
-
-def __setitem__(self, key, value):
- ${3:pass}
-
-def __delitem__(self, key):
- ${4:pass}
-
-def __iter__(self):
- ${5:pass}
-
-def __reversed__(self):
- ${6:pass}
-
-def __contains__(self, item):
- ${7:pass}
-endsnippet
-
-
-snippet context "context manager methods" b
-def __enter__(self):
- ${1:pass}
-
-def __exit__(self, exc_type, exc_value, traceback):
- ${2:pass}
-endsnippet
-
-
-snippet attr "methods for customizing attribute access" b
-def __getattr__(self, name):
- ${1:pass}
-
-def __setattr__(self, name, value):
- ${2:pass}
-
-def __delattr__(self, name):
- ${3:pass}
-endsnippet
-
-
-snippet desc "methods implementing descriptors" b
-def __get__(self, instance, owner):
- ${1:pass}
-
-def __set__(self, instance, value):
- ${2:pass}
-
-def __delete__(self, instance):
- ${3:pass}
-endsnippet
-
-
-snippet cmp "methods implementing rich comparison"
-def __eq__(self, other):
- ${1:pass}
-
-def __ne__(self, other):
- ${2:pass}
-
-def __lt__(self, other):
- ${3:pass}
-
-def __le__(self, other):
- ${4:pass}
-
-def __gt__(self, other):
- ${5:pass}
-
-def __ge__(self, other):
- ${6:pass}
-
-def __cmp__(self, other):
- ${7:pass}
-endsnippet
-
-
-snippet repr "methods implementing string representation"
-def __repr__(self):
- ${1:pass}
-
-def __str__(self):
- ${2:pass}
-
-def __unicode__(self):
- ${3:pass}
-endsnippet
-
-
-# note: reflected operands and augmented arithmeitc assignements have been
-# intentionally ommited to reduce verbosity.
-snippet numeric "methods for emulating a numeric type" b
-def __add__(self, other):
- ${1:pass}
-
-def __sub__(self, other):
- ${2:pass}
-
-def __mul__(self, other):
- ${3:pass}
-
-def __div__(self, other):
- ${4:pass}
-
-def __truediv__(self, other):
- ${5:pass}
-
-def __floordiv__(self, other):
- ${6:pass}
-
-
-def __mod__(self, other):
- ${7:pass}
-
-def __divmod__(self, other):
- ${8:pass}
-
-def __pow__(self, other):
- ${9:pass}
-
-
-def __lshift__(self, other):
- ${10:pass}
-
-def __rshift__(self, other):
- ${11:pass}
-
-def __and__(self, other):
- ${12:pass}
-
-def __xor__(self, other):
- ${13:pass}
-
-def __or__(self, other):
- ${14:pass}
-
-
-def __neg__(self):
- ${15:pass}
-
-def __pos__(self):
- ${16:pass}
-
-def __abs__(self):
- ${17:pass}
-
-def __invert__(self):
- ${18:pass}
-
-
-def __complex__(self):
- ${19:pass}
-
-def __int__(self):
- ${20:pass}
-
-def __long__(self):
- ${21:pass}
-
-def __float__(self):
- ${22:pass}
-
-
-def __oct__(self):
- ${22:pass}
-
-def __hex__(self):
- ${23:pass}
-
-
-def __index__(self):
- ${24:pass}
-
-def __coerce__(self, other):
- ${25:pass}
-endsnippet
-
-snippet def "function with docstrings" b
-def ${1:function}(`!p
-if snip.indent:
- snip.rv = 'self' + (", " if len(t[2]) else "")`${2:arg1}):
- `!p snip.rv = triple_quotes(snip)`${4:TODO: Docstring for $1.}`!p
-write_function_docstring(t, snip) `
- ${5:${VISUAL:pass}}
-endsnippet
-
-
-snippet defc "class method with docstrings" b
-@classmethod
-def ${1:function}(`!p
-if snip.indent:
- snip.rv = 'cls' + (", " if len(t[2]) else "")`${2:arg1}):
- `!p snip.rv = triple_quotes(snip)`${4:TODO: Docstring for $1.}`!p
-write_function_docstring(t, snip) `
- ${5:${VISUAL:pass}}
-endsnippet
-
-
-snippet defs "static method with docstrings" b
-@staticmethod
-def ${1:function}(${2:arg1}):
- `!p snip.rv = triple_quotes(snip)`${4:TODO: Docstring for $1.}`!p
-write_function_docstring(t, snip) `
- ${5:${VISUAL:pass}}
-endsnippet
-
-
-# doesn't expand when there is a word in front
-snippet /(^|(?<=\W))\./ "self." r
-self.
-endsnippet
-
-snippet from "from module import name" b
-from ${1:module} import ${2:Stuff}
-endsnippet
-
-
-##############
-# PROPERTIES #
-##############
-snippet roprop "Read Only Property" b
-@property
-def ${1:name}(self):
- ${2:return self._$1}$0
-endsnippet
-
-snippet rwprop "Read write property" b
-def ${1:name}():
- `!p snip.rv = triple_quotes(snip) if t[2] else ''
-`${2:TODO: Docstring for $1.}`!p
-if t[2]:
- snip >> 1
-
- style = get_style(snip)
- snip.rv += '\n' + snip.mkline('', indent='')
- snip += format_return(style)
- snip.rv += '\n' + snip.mkline('', indent='')
- snip += triple_quotes(snip)
-else:
- snip.rv = ""`
- def fget(self):
- return self._$1$0
-
- def fset(self, value):
- self._$1 = value
- return locals()
-
-$1 = property(**$1(), doc=$1.__doc__)
-endsnippet
-
-
-####################
-# If / Else / Elif #
-####################
-snippet if "If" b
-if ${1:condition}:
- ${2:${VISUAL:pass}}
-endsnippet
-
-snippet ife "If / Else" b
-if ${1:condition}:
- ${2:${VISUAL:pass}}
-else:
- ${3:pass}
-endsnippet
-
-snippet ifee "If / Elif / Else" b
-if ${1:condition}:
- ${2:${VISUAL:pass}}
-elif ${3:condition}:
- ${4:pass}
-else:
- ${5:pass}
-endsnippet
-
-
-##########################
-# Try / Except / Finally #
-##########################
-snippet try "Try / Except" b
-try:
- ${1:${VISUAL:pass}}
-except ${2:Exception} as ${3:e}:
- ${4:raise $3}
-endsnippet
-
-snippet trye "Try / Except / Else" b
-try:
- ${1:${VISUAL:pass}}
-except ${2:Exception} as ${3:e}:
- ${4:raise $3}
-else:
- ${5:pass}
-endsnippet
-
-snippet tryf "Try / Except / Finally" b
-try:
- ${1:${VISUAL:pass}}
-except ${2:Exception} as ${3:e}:
- ${4:raise $3}
-finally:
- ${5:pass}
-endsnippet
-
-snippet tryef "Try / Except / Else / Finally" b
-try:
- ${1:${VISUAL:pass}}
-except${2: ${3:Exception} as ${4:e}}:
- ${5:raise}
-else:
- ${6:pass}
-finally:
- ${7:pass}
-endsnippet
-
-
-######################
-# Assertions & Tests #
-######################
-
-snippet ae "Assert equal" b
-self.assertEqual(${1:${VISUAL:first}},${2:second})
-endsnippet
-
-snippet at "Assert True" b
-self.assertTrue(${1:${VISUAL:expression}})
-endsnippet
-
-snippet af "Assert False" b
-self.assertFalse(${1:${VISUAL:expression}})
-endsnippet
-
-snippet aae "Assert almost equal" b
-self.assertAlmostEqual(${1:${VISUAL:first}},${2:second})
-endsnippet
-
-snippet ar "Assert raises" b
-self.assertRaises(${1:exception}, ${2:${VISUAL:func}}${3/.+/, /}${3:arguments})
-endsnippet
-
-snippet an "Assert is None" b
-self.assertIsNone(${1:${VISUAL:expression}})
-endsnippet
-
-snippet ann "Assert is not None" b
-self.assertIsNotNone(${1:${VISUAL:expression}})
-endsnippet
-
-snippet testcase "pyunit testcase" b
-class Test${1:Class}(${2:unittest.TestCase}):
-
- `!p snip.rv = triple_quotes(snip)`${3:Test case docstring.}`!p snip.rv = triple_quotes(snip)`
-
- def setUp(self):
- ${4:pass}
-
- def tearDown(self):
- ${5:pass}
-
- def test_${6:name}(self):
- ${7:${VISUAL:pass}}
-endsnippet
-
-snippet " "triple quoted string (double quotes)" b
-"""
-${1:${VISUAL:doc}}
-`!p triple_quotes_handle_trailing(snip, '"')`
-endsnippet
-
-snippet ' "triple quoted string (single quotes)" b
-'''
-${1:${VISUAL:doc}}
-`!p triple_quotes_handle_trailing(snip, "'")`
-endsnippet
-
-snippet doc "doc block (triple quotes)"
-`!p snip.rv = triple_quotes(snip)`
-${1:${VISUAL:doc}}
-`!p snip.rv = triple_quotes(snip)`
-endsnippet
-
-snippet pmdoc "pocoo style module doc string" b
-# -*- coding: utf-8 -*-
-"""
- `!p snip.rv = get_dir_and_file_name(snip)`
- `!p snip.rv = '~' * len(get_dir_and_file_name(snip))`
-
- ${1:DESCRIPTION}
-
- :copyright: (c) `date +%Y` by ${2:YOUR_NAME}.
- :license: ${3:LICENSE_NAME}, see LICENSE for more details.
-"""
-$0
-endsnippet
-
-# vim:ft=snippets: