Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(426)

Unified Diff: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/dart/DartServerProposal.java

Issue 711533003: first cut argument list completion suggestions (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/dart/DartServerProposal.java
diff --git a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/dart/DartServerProposal.java b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/dart/DartServerProposal.java
index 437310dda20a5ceb9282bebb81bdd148bfd4038d..091e9c4ede8ab374b150041a80415454aa77d654 100644
--- a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/dart/DartServerProposal.java
+++ b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/dart/DartServerProposal.java
@@ -15,6 +15,7 @@ package com.google.dart.tools.ui.internal.text.dart;
import com.google.dart.server.AnalysisServer;
import com.google.dart.server.generated.types.CompletionSuggestion;
+import com.google.dart.server.generated.types.CompletionSuggestionKind;
import com.google.dart.server.generated.types.Element;
import com.google.dart.tools.core.DartCore;
import com.google.dart.tools.core.utilities.general.CharOperation;
@@ -133,6 +134,13 @@ public class DartServerProposal implements ICompletionProposal, ICompletionPropo
return;
}
/*
+ * Simplistic argument list completion... strip parens and continue
+ */
+ // TODO (danrubel) improve argument list completion
+ if (completion.startsWith("(")) {
+ completion = completion.substring(1, completion.length() - 1);
+ }
+ /*
* Insert the suggestion
*/
doc.replace(replacementOffset, replacementLength, completion);
@@ -146,7 +154,10 @@ public class DartServerProposal implements ICompletionProposal, ICompletionPropo
doc.replace(newOffset, 0, "()");
++newOffset;
++selectionOffset;
-
+ if (param.length() == 2) { // param is "()"
+ ++selectionOffset;
+ return;
+ }
LinkedPositionGroup group = new LinkedPositionGroup();
group.addPosition(new LinkedPosition(doc, newOffset, 0, LinkedPositionGroup.NO_STOP));
@@ -491,7 +502,7 @@ public class DartServerProposal implements ICompletionProposal, ICompletionPropo
*/
private String getParamString() {
Element element = suggestion.getElement();
- if (element != null) {
+ if (element != null && !CompletionSuggestionKind.IDENTIFIER.equals(suggestion.getKind())) {
String kind = element.getKind();
if (!GETTER.equals(kind) && !SETTER.equals(kind)) {
if (element != null) {

Powered by Google App Engine
This is Rietveld 408576698