diff --git a/api.py b/api.py index d4fd5050..68c13ddc 100644 --- a/api.py +++ b/api.py @@ -119,7 +119,7 @@ class CallDef(object): @property def params(self): - if isinstance(self.executable, evaluate.Function): + if self.executable.isinstance(evaluate.Function): return self.executable.params else: try: @@ -128,6 +128,10 @@ class CallDef(object): except KeyError: return [] + @property + def bracket_start(self): + return self.call.name.end_pos + def __repr__(self): return '<%s: %s index %s>' % (self.__class__.__name__, self.executable, self.index) diff --git a/plugin/jedi.vim b/plugin/jedi.vim index 6f1aef9b..b44fa0bf 100644 --- a/plugin/jedi.vim +++ b/plugin/jedi.vim @@ -511,16 +511,16 @@ def _goto(is_definition=False, is_related_name=False, no_output=False): def show_func_def(call_def, completion_lines=0): - row, column = vim.current.window.cursor vim.eval('jedi#clear_func_def()') if call_def is None: return + row, column = call_def.bracket_start if column < 2 or row == 0: return # edge cases, just ignore - row_to_replace = row - 1 + row_to_replace = row - 1 # TODO check if completion menu is above or below line = vim.eval("getline(%s)" % row_to_replace) insert_column = column - 2 # because it has stuff at the beginning