From 0bbc8d6e9a0d63346b276a07089546fa4bbd7908 Mon Sep 17 00:00:00 2001 From: Johannes Maria Frank Date: Thu, 26 Sep 2019 09:12:15 +0100 Subject: [PATCH] Added match_method parameter --- jedi/api/completion.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/jedi/api/completion.py b/jedi/api/completion.py index 7a3c9c88..8959efe2 100644 --- a/jedi/api/completion.py +++ b/jedi/api/completion.py @@ -44,7 +44,7 @@ def fuzzy_match(string, like_name): return False -def filter_names(inference_state, completion_names, stack, like_name): +def filter_names(inference_state, completion_names, stack, like_name, match_method): comp_dct = {} if settings.case_insensitive_completion: like_name = like_name.lower() @@ -53,7 +53,7 @@ def filter_names(inference_state, completion_names, stack, like_name): if settings.case_insensitive_completion: string = string.lower() - if fuzzy_match(string, like_name): + if match_method(string, like_name): new = classes.Completion( inference_state, name, @@ -100,7 +100,10 @@ class Completion: self._position = position[0], position[1] - len(self._like_name) self._call_signatures_callback = call_signatures_callback - def completions(self): + def completions(self, **kwargs): + return self._completions(**kwargs) + + def _completions(self, method=start_match): leaf = self._module_node.get_leaf_for_position(self._position, include_prefixes=True) string, start_leaf = _extract_string_while_in_string(leaf, self._position) if string is not None: @@ -115,7 +118,7 @@ class Completion: completion_names = self._get_value_completions(leaf) completions = filter_names(self._inference_state, completion_names, - self.stack, self._like_name) + self.stack, self._like_name, method) return sorted(completions, key=lambda x: (x.name.startswith('__'), x.name.startswith('_'),