1
0
forked from VimPlug/jedi

Fix remaining issues with dict completions

This commit is contained in:
Dave Halter
2019-12-30 22:59:01 +01:00
parent 46ac4371df
commit 94a97ff8e8
3 changed files with 31 additions and 4 deletions

View File

@@ -101,7 +101,10 @@ class Completion:
self._fuzzy = fuzzy
def complete(self, fuzzy):
leaf = self._module_node.get_leaf_for_position(self._original_position, include_prefixes=True)
leaf = self._module_node.get_leaf_for_position(
self._original_position,
include_prefixes=True
)
string, start_leaf, quote = _extract_string_while_in_string(leaf, self._original_position)
prefixed_completions = complete_dict(

View File

@@ -355,7 +355,22 @@ class TreeInstance(_BaseTreeInstance):
return self._get_annotated_class_object() or self.class_value
def get_key_values(self):
return NO_VALUES
values = NO_VALUES
if self.array_type == 'dict':
for i, (key, instance) in enumerate(self._arguments.unpack()):
if key is None and i == 0:
values |= ValueSet.from_sets(
v.get_key_values()
for v in instance.infer()
if v.array_type == 'dict'
)
if key:
values |= ValueSet([compiled.create_simple_object(
self.inference_state,
key,
)])
return values
def py__simple_getitem__(self, index):
if self.array_type == 'dict':