showing function params basically works - fine tuning needed

This commit is contained in:
David Halter
2012-09-15 04:14:47 +02:00
parent 9b7d82a251
commit 3ac2b89fcf
3 changed files with 13 additions and 6 deletions

View File

@@ -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:

View File

@@ -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):

View File

@@ -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