[gnome-builder/gnome-builder-3-18] jedi: be a bit less aggressive in replaying previous queries



commit ac50680f3cadc68b6065154ee80f25e336040536
Author: Christian Hergert <christian hergert me>
Date:   Fri Oct 2 14:09:33 2015 -0700

    jedi: be a bit less aggressive in replaying previous queries
    
    We were getting some bogus results because we were using the wrong result
    set after ]). etc.

 plugins/jedi/jedi_plugin.py |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)
---
diff --git a/plugins/jedi/jedi_plugin.py b/plugins/jedi/jedi_plugin.py
index c3056ce..da5df38 100644
--- a/plugins/jedi/jedi_plugin.py
+++ b/plugins/jedi/jedi_plugin.py
@@ -197,6 +197,15 @@ class JediCompletionProvider(Ide.Object,
     def do_get_icon(self):
         return None
 
+    def invalidates(self, line_str):
+        if not line_str.startswith(self.line_str):
+            return True
+        suffix = line_str[len(self.line_str):]
+        for ch in suffix:
+            if ch in (')', '.', ']'):
+                return True
+        return False
+
     def do_populate(self, context):
         self.current_word = Ide.CompletionProvider.context_current_word(context)
         self.current_word_lower = self.current_word.lower()
@@ -216,7 +225,7 @@ class JediCompletionProvider(Ide.Object,
                 self.thread.cancelled = True
                 self.thread = None
 
-        if iter.get_line() == self.line and line_str.startswith(self.line_str):
+        if iter.get_line() == self.line and not self.invalidates(line_str):
             if self.results and self.results.replay(self.current_word):
                 self.results.present(self, context)
                 return


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]