diff options
author | Mickael Istria | 2016-10-10 11:38:32 +0000 |
---|---|---|
committer | Mickael Istria | 2016-10-10 11:38:32 +0000 |
commit | 9e656456ff6f9c7668d31c6ddd646ba6b5f56115 (patch) | |
tree | b807ed9979b81b7db58335fa0bd1ed5559d9d49b /org.eclipse.ui.genericeditor/src | |
parent | 5a8947b3e4afc04e5afb2fe27ca9e071b3b35234 (diff) | |
download | eclipse.platform.text-9e656456ff6f9c7668d31c6ddd646ba6b5f56115.tar.gz eclipse.platform.text-9e656456ff6f9c7668d31c6ddd646ba6b5f56115.tar.xz eclipse.platform.text-9e656456ff6f9c7668d31c6ddd646ba6b5f56115.zip |
Bug 505632 - Generic Editor should support completion trigger characters
Change-Id: Iae5e5c76e6d4006df4ffbc5a499ffdc3256a1f0f
Signed-off-by: Mickael Istria <mistria@redhat.com>
Diffstat (limited to 'org.eclipse.ui.genericeditor/src')
2 files changed, 33 insertions, 2 deletions
diff --git a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/CompositeContentAssistProcessor.java b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/CompositeContentAssistProcessor.java index d4d64acee51..fece897bd62 100644 --- a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/CompositeContentAssistProcessor.java +++ b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/CompositeContentAssistProcessor.java @@ -12,7 +12,9 @@ package org.eclipse.ui.internal.genericeditor; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.eclipse.jface.text.ITextViewer; import org.eclipse.jface.text.contentassist.ICompletionProposal; @@ -60,12 +62,40 @@ public class CompositeContentAssistProcessor implements IContentAssistProcessor @Override public char[] getCompletionProposalAutoActivationCharacters() { - return null; + Set<Character> res = new HashSet<>(); + for (IContentAssistProcessor processor : this.fContentAssistProcessors) { + char[] chars = processor.getCompletionProposalAutoActivationCharacters(); + if (chars != null) { + for (char c : chars) { + res.add(c); + } + } + } + return toCharArray(res); + } + + private char[] toCharArray(Set<Character> chars) { + char[] res = new char[chars.size()]; + int i = 0; + for (Character c : chars) { + res[i] = c; + i++; + } + return res; } @Override public char[] getContextInformationAutoActivationCharacters() { - return null; + Set<Character> res = new HashSet<>(); + for (IContentAssistProcessor processor : this.fContentAssistProcessors) { + char[] chars = processor.getContextInformationAutoActivationCharacters(); + if (chars != null) { + for (char c : chars) { + res.add(c); + } + } + } + return toCharArray(res); } @Override diff --git a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextViewerConfiguration.java b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextViewerConfiguration.java index 713c8730d3b..af4ecb55335 100644 --- a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextViewerConfiguration.java +++ b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextViewerConfiguration.java @@ -75,6 +75,7 @@ public final class ExtensionBasedTextViewerConfiguration extends TextSourceViewe res.setContextInformationPopupOrientation(ContentAssistant.CONTEXT_INFO_BELOW); res.setProposalPopupOrientation(ContentAssistant.PROPOSAL_REMOVE); res.enableColoredLabels(true); + res.enableAutoActivation(true); res.setContentAssistProcessor(processor, IDocument.DEFAULT_CONTENT_TYPE); res.setInformationControlCreator(new AbstractReusableInformationControlCreator() { @Override |