forked from VimPlug/jedi
More robust Definition.names
This commit is contained in:
@@ -7,6 +7,7 @@ interesting information about completion and goto operations.
|
|||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
import warnings
|
import warnings
|
||||||
|
import itertools
|
||||||
|
|
||||||
from _compatibility import unicode
|
from _compatibility import unicode
|
||||||
import cache
|
import cache
|
||||||
@@ -296,16 +297,19 @@ class Definition(BaseDefinition):
|
|||||||
elif isinstance(d, pr.Module):
|
elif isinstance(d, pr.Module):
|
||||||
return [self.module_name]
|
return [self.module_name]
|
||||||
elif isinstance(d, pr.Import):
|
elif isinstance(d, pr.Import):
|
||||||
try:
|
def getname(name):
|
||||||
return [n.names[-1] for n in d.get_defined_names()]
|
try:
|
||||||
except AttributeError:
|
return [name.names[-1]]
|
||||||
pass
|
except AttributeError:
|
||||||
|
return []
|
||||||
|
return list(itertools.chain(*map(getname, d.get_defined_names())))
|
||||||
elif isinstance(d, pr.Statement):
|
elif isinstance(d, pr.Statement):
|
||||||
try:
|
def getname(assignment):
|
||||||
return [a.values[0][0].name.names[-1]
|
try:
|
||||||
for (_, a) in d.assignment_details]
|
return [assignment[1].values[0][0].name.names[-1]]
|
||||||
except IndexError:
|
except IndexError:
|
||||||
pass
|
return []
|
||||||
|
return list(itertools.chain(*map(getname, d.assignment_details)))
|
||||||
return []
|
return []
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|||||||
Reference in New Issue
Block a user