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

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

Issue 172763003: Issue 16153. Auto-complete for import statements. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Extract helper and use marker constant Created 6 years, 10 months 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/completion/AbstractDartCompletionProposal.java
diff --git a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/completion/AbstractDartCompletionProposal.java b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/completion/AbstractDartCompletionProposal.java
index ccc71ec4df4e9240048c83cb8c5ee7fa32cc0c6f..1ecfafd2e9fd8a865e436e2f74fd3d516f7bd148 100644
--- a/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/completion/AbstractDartCompletionProposal.java
+++ b/editor/tools/plugins/com.google.dart.tools.ui/src/com/google/dart/tools/ui/internal/text/completion/AbstractDartCompletionProposal.java
@@ -66,6 +66,7 @@ import org.eclipse.jface.text.link.LinkedModeUI.ExitFlags;
import org.eclipse.jface.text.link.LinkedModeUI.IExitPolicy;
import org.eclipse.jface.text.link.LinkedPosition;
import org.eclipse.jface.text.link.LinkedPositionGroup;
+import org.eclipse.jface.text.source.SourceViewer;
import org.eclipse.jface.viewers.StyledString;
import org.eclipse.osgi.util.TextProcessor;
import org.eclipse.swt.SWT;
@@ -77,6 +78,7 @@ import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
@@ -403,6 +405,8 @@ public abstract class AbstractDartCompletionProposal implements IDartCompletionP
*/
private ITextPresentationListener fTextPresentationListener;
+ protected boolean triggerCompletionAfterApply = false;
+
protected AbstractDartCompletionProposal() {
fInvocationContext = null;
}
@@ -496,7 +500,7 @@ public abstract class AbstractDartCompletionProposal implements IDartCompletionP
}
@Override
- public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
+ public void apply(final ITextViewer viewer, char trigger, int stateMask, int offset) {
IDocument document = viewer.getDocument();
if (fTextViewer == null) {
@@ -535,6 +539,18 @@ public abstract class AbstractDartCompletionProposal implements IDartCompletionP
apply(document, trigger, offset);
fToggleEating = false;
+
+ if (triggerCompletionAfterApply) {
+ if (viewer instanceof SourceViewer) {
+ // run asynchronously to allow cursor to move
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ ((SourceViewer) viewer).doOperation(SourceViewer.CONTENTASSIST_PROPOSALS);
+ }
+ });
+ }
+ }
}
@Override

Powered by Google App Engine
This is Rietveld 408576698