mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-16 02:27:06 +08:00
showing function params basically works - fine tuning needed
This commit is contained in:
@@ -172,7 +172,8 @@ class Parser(CachedModule):
|
||||
name = self.name
|
||||
if name == '__builtin__' and not is_py3k:
|
||||
name = 'builtins'
|
||||
f = open(os.path.sep.join(['mixin', name]) + '.py')
|
||||
path = os.path.dirname(os.path.abspath(__file__))
|
||||
f = open(os.path.sep.join([path, 'mixin', name]) + '.py')
|
||||
except IOError:
|
||||
return {}
|
||||
else:
|
||||
|
||||
@@ -124,10 +124,8 @@ class CallDef(object):
|
||||
else:
|
||||
try:
|
||||
sub = self.executable.get_subscope_by_name('__init__')
|
||||
return sub.params
|
||||
return sub.params[1:] # ignore self
|
||||
except KeyError:
|
||||
print self.executable.subscopes
|
||||
print 'LALA'
|
||||
return []
|
||||
|
||||
def __repr__(self):
|
||||
|
||||
@@ -465,6 +465,9 @@ 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
|
||||
|
||||
if column < 2 or row == 0:
|
||||
return # edge cases, just ignore
|
||||
|
||||
@@ -473,8 +476,13 @@ def show_func_def(call_def, completion_lines=0):
|
||||
|
||||
insert_column = column - 2 # because it has stuff at the beginning
|
||||
|
||||
print call_def, call_def.params
|
||||
text = " (*asdf*, basdf) "
|
||||
params = [p.get_code().replace('\n', '') for p in call_def.params]
|
||||
try:
|
||||
params[call_def.index] = '*%s*' % params[call_def.index]
|
||||
except IndexError:
|
||||
pass
|
||||
|
||||
text = " (%s) " % ', '.join(params)
|
||||
text = ' ' * (insert_column - len(line)) + text
|
||||
end_column = insert_column + len(text) - 2 # -2 because of bold symbols
|
||||
# replace line before with cursor
|
||||
|
||||
Reference in New Issue
Block a user