From e2fb6c7d9ab324d9e7a3e66c2ebb51934b694e12 Mon Sep 17 00:00:00 2001 From: David Halter Date: Mon, 13 Aug 2012 22:39:43 +0200 Subject: [PATCH] vim shows now docstrings also correct --- parsing.py | 4 ---- plugin/jedi.vim | 11 ++++++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/parsing.py b/parsing.py index 5ecb1880..8b2ef75a 100644 --- a/parsing.py +++ b/parsing.py @@ -133,8 +133,6 @@ class Scope(Simple): """ Clean up a docstring """ self.docstr = cleandoc(literal_eval(string)) debug.dbg("Scope(%s)::docstr = %s" % (self, self.docstr)) - if self.get_parent_until().path != '__builtin__': - print self, self.docstr def add_import(self, imp): self.imports.append(imp) @@ -1265,8 +1263,6 @@ class PyFuzzyParser(object): if not string: return None, tok #print 'new_stat', string, set_vars, used_funcs, used_vars - #if self.freshscope and self.get_parent_until().path != '__builtin__': - #print self, self.docstr if self.freshscope and len(tok_list) == 1 \ and self.last_token[0] == tokenize.STRING: self.scope.add_docstr(self.last_token[1]) diff --git a/plugin/jedi.vim b/plugin/jedi.vim index dea1e355..59bd72ab 100644 --- a/plugin/jedi.vim +++ b/plugin/jedi.vim @@ -51,9 +51,8 @@ if 1: d = dict(word=str(c), abbr=str(c), # stuff directly behind the completion - # TODO change it so that ' are allowed (not used now, because of repr) - menu=c.description.replace("'", '"'), - info=c.help, # docstr and similar stuff + menu=PythonToVimStr(c.description), + info=PythonToVimStr(c.help), # docstr kind=c.get_vim_type(), # completion type icase=1, # case insensitive dup=1, # allow duplicates (maybe later remove this) @@ -198,6 +197,12 @@ import traceback # for exception output import re import functions + +class PythonToVimStr(str): + """ Vim has a different string implementation of single quotes """ + __slots__ = [] + def __repr__(self): + return '"%s"' % self.replace('"', r'\"') PYTHONEOF " vim: set et ts=4: