diff --git a/UltiSnips/rst.snippets b/UltiSnips/rst.snippets index e8aef2b..3763a95 100644 --- a/UltiSnips/rst.snippets +++ b/UltiSnips/rst.snippets @@ -12,6 +12,8 @@ from string import Template import re from collections import Counter +from vimsnippets import complete + #http://docutils.sourceforge.net/docs/ref/rst/roles.html TEXT_ROLES = ['emphasis','literal','code','math', 'pep-reference','rfc-reference', @@ -130,27 +132,6 @@ def get_popular_code_type(): except IndexError: popular_type = "lua" # Don't break default return popular_type - - -def complete(t, opts): - """ - get options that start with t - - :param t: query string - :param opts: list that needs to be completed - - :return: a string that start with t - """ - msg = "({0})" - if t: - opts = [ m[len(t):] for m in opts if m.startswith(t) ] - if len(opts) == 1: - return opts[0] - - if not len(opts): - msg = "{0}" - return msg.format("|".join(opts)) - endglobal snippet part "Part" b diff --git a/plugin/vimsnippets.vim b/plugin/vimsnippets.vim new file mode 100644 index 0000000..3c3ecf9 --- /dev/null +++ b/plugin/vimsnippets.vim @@ -0,0 +1,37 @@ +if exists("b:done_vimsnippets") + finish +endif +let b:done_vimsnippets = 1 + +" Expanding the path is not needed on Vim 7.4 +if &cp || version >= 704 + finish +endif + +" Add pythonx to the python search path if needed (i.e. <= Vim 7.3). +if !has("python") && !has("python3") + finish +end + +" This will fail if UltiSnips is not installed. +try + call UltiSnips#bootstrap#Bootstrap() +catch /E117/ + finish +endtry + + +" This should have been set by UltiSnips, otherwise something is wrong. +if !exists("g:_uspy") + finish +end + + +" Expand our path +let s:SourcedFile=expand("") +exec g:_uspy "import vim, os, sys" +exec g:_uspy "sourced_file = vim.eval('s:SourcedFile')" +exec g:_uspy "while not os.path.exists(os.path.join(sourced_file, 'pythonx')): + \ sourced_file = os.path.dirname(sourced_file)" +exec g:_uspy "module_path = os.path.join(sourced_file, 'pythonx')" +exec g:_uspy "sys.path.append(module_path)" diff --git a/pythonx/vimsnippets.py b/pythonx/vimsnippets.py new file mode 100644 index 0000000..b00edb1 --- /dev/null +++ b/pythonx/vimsnippets.py @@ -0,0 +1,20 @@ +"""Helper methods used in UltiSnips snippets.""" + +def complete(tab, opts): + """ + get options that start with tab + + :param tab: query string + :param opts: list that needs to be completed + + :return: a string that start with tab + """ + msg = "({0})" + if tab: + opts = [m[len(tab):] for m in opts if m.startswith(tab)] + if len(opts) == 1: + return opts[0] + + if not len(opts): + msg = "{0}" + return msg.format("|".join(opts))