diff options
author | Cristian Maglie <c.maglie@arduino.cc> | 2017-10-16 18:26:02 +0300 |
---|---|---|
committer | Martino Facchin <m.facchin@arduino.cc> | 2020-04-07 15:09:06 +0300 |
commit | 385a6738e928b83d319c13209214977c54eacc3e (patch) | |
tree | 49aa0fb83fa64c70d4e28caf860f6b183282db83 | |
parent | 5e8895c4759e22eece4296a9819a27f9e1489b38 (diff) |
autocompletion: factored filtering of completions
-rw-r--r-- | app/src/cc/arduino/autocomplete/ClangCompletionProvider.java | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/app/src/cc/arduino/autocomplete/ClangCompletionProvider.java b/app/src/cc/arduino/autocomplete/ClangCompletionProvider.java index 57283e4b1..7ca7b937c 100644 --- a/app/src/cc/arduino/autocomplete/ClangCompletionProvider.java +++ b/app/src/cc/arduino/autocomplete/ClangCompletionProvider.java @@ -115,7 +115,14 @@ public class ClangCompletionProvider extends LanguageAwareCompletionProvider { e.printStackTrace(); return res; } + + String enteredText = getAlreadyEnteredText(textarea); + for (ArduinoCompletion cc : allCc) { + // Filter completions based on already entered text + if (!cc.getCompletion().getTypedText().startsWith(enteredText)) { + continue; + } if (cc.type.equals("Function")) { List<Parameter> params = new ArrayList<>(); @@ -135,10 +142,6 @@ public class ClangCompletionProvider extends LanguageAwareCompletionProvider { } fancyParameters += ")"; - if (!cc.getCompletion().getTypedText().startsWith(getAlreadyEnteredText(textarea))) { - continue; - } - FunctionCompletion compl = new FunctionCompletion(this, cc.getCompletion().getTypedText(), cc.getCompletion().getResultType()); @@ -180,10 +183,8 @@ public class ClangCompletionProvider extends LanguageAwareCompletionProvider { } fancyParameters += ")"; //System.out.println("TEMPLATE: " + template); - if (typedText.startsWith(getAlreadyEnteredText(textarea))) { - TemplateCompletion compl = new TemplateCompletion(this, typedText, fancyParameters + " : " + returnType , template); - res.add(compl); - } + TemplateCompletion compl = new TemplateCompletion(this, typedText, fancyParameters + " : " + returnType , template); + res.add(compl); } return res; } catch (Exception e) { |