mirror of
https://github.com/davidhalter/jedi.git
synced 2026-09-22 10:23:14 +08:00
Add filters for the sub module dicts and module attributes dicts.
This commit is contained in:
@@ -44,7 +44,8 @@ class AbstractUsedNamesFilter(AbstractFilter):
|
||||
return list(self._filter(names))
|
||||
|
||||
def values(self):
|
||||
return self._filter(self._used_names.values())
|
||||
names = [name for name_list in self._used_names.values() for name in name_list]
|
||||
return self._filter(names)
|
||||
|
||||
|
||||
class ParserTreeFilter(AbstractUsedNamesFilter):
|
||||
@@ -105,6 +106,23 @@ class GlobalNameFilter(AbstractUsedNamesFilter):
|
||||
yield name
|
||||
|
||||
|
||||
class DictFilter(AbstractFilter):
|
||||
def __init__(self, dct, origin_scope=None):
|
||||
super(DictFilter, self).__init__(origin_scope)
|
||||
self._dct = dct
|
||||
|
||||
def get(self, name):
|
||||
try:
|
||||
leaf_name = self._dct[str(name)]
|
||||
except KeyError:
|
||||
return []
|
||||
|
||||
return list(self._filter([leaf_name]))
|
||||
|
||||
def values(self):
|
||||
return self._filter(self._dct.values())
|
||||
|
||||
|
||||
def get_global_filters(evaluator, context, until_position):
|
||||
"""
|
||||
Returns all filters in order of priority for name resolution.
|
||||
|
||||
Reference in New Issue
Block a user