diff options
author | Cristian Maglie <c.maglie@bcmi-labs.cc> | 2017-08-03 19:21:00 +0300 |
---|---|---|
committer | Martino Facchin <m.facchin@arduino.cc> | 2020-04-07 15:09:06 +0300 |
commit | a6652f938a3eed77e945dea5143e45b786eebcaa (patch) | |
tree | fbb2fb247f4cc7cd640ce32ec7d1310a197129b0 | |
parent | 41f0dde6f781972aae275757a4a970d704038df2 (diff) |
codecompletion: added function parameters support.
-rw-r--r-- | app/src/cc/arduino/autocomplete/ArduinoCompletionsList.java | 18 | ||||
-rw-r--r-- | app/src/cc/arduino/autocomplete/ClangCompletionProvider.java | 5 |
2 files changed, 22 insertions, 1 deletions
diff --git a/app/src/cc/arduino/autocomplete/ArduinoCompletionsList.java b/app/src/cc/arduino/autocomplete/ArduinoCompletionsList.java index a29b7a1c8..023dca082 100644 --- a/app/src/cc/arduino/autocomplete/ArduinoCompletionsList.java +++ b/app/src/cc/arduino/autocomplete/ArduinoCompletionsList.java @@ -10,6 +10,7 @@ class ArduinoCompletion { ArduinoCompletionDetail completion; String type; String location; + List<ArduinoParameter> parameters; public ArduinoCompletionDetail getCompletion() { return completion; @@ -22,6 +23,23 @@ class ArduinoCompletion { public String getLocation() { return location; } + + public List<ArduinoParameter> getParameters() { + return parameters; + } +} + +class ArduinoParameter { + String name; + String type; + + public String getName() { + return name; + } + + public String getType() { + return type; + } } class ArduinoCompletionDetail { diff --git a/app/src/cc/arduino/autocomplete/ClangCompletionProvider.java b/app/src/cc/arduino/autocomplete/ClangCompletionProvider.java index 40c0f13f8..29276142f 100644 --- a/app/src/cc/arduino/autocomplete/ClangCompletionProvider.java +++ b/app/src/cc/arduino/autocomplete/ClangCompletionProvider.java @@ -70,9 +70,12 @@ public class ClangCompletionProvider extends DefaultCompletionProvider { if (cc.type.equals("Function")) { List<Parameter> params = new ArrayList<>(); + int i=0; for (CompletionChunk chunk : cc.completion.chunks) { if (chunk.placeholder != null) { - params.add(new Parameter("type", chunk.placeholder)); + ArduinoParameter p = cc.parameters.get(i); + params.add(new Parameter(p.type, p.name)); + i++; } } |