Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/arduino/Arduino.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@bcmi-labs.cc>2017-08-03 19:21:00 +0300
committerMartino Facchin <m.facchin@arduino.cc>2020-04-07 15:09:06 +0300
commita6652f938a3eed77e945dea5143e45b786eebcaa (patch)
treefbb2fb247f4cc7cd640ce32ec7d1310a197129b0
parent41f0dde6f781972aae275757a4a970d704038df2 (diff)
codecompletion: added function parameters support.
-rw-r--r--app/src/cc/arduino/autocomplete/ArduinoCompletionsList.java18
-rw-r--r--app/src/cc/arduino/autocomplete/ClangCompletionProvider.java5
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++;
}
}