summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/codeInsight/completion/ComboEditorCompletionContributor.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/codeInsight/completion/ComboEditorCompletionContributor.java')
-rw-r--r--platform/lang-impl/src/com/intellij/codeInsight/completion/ComboEditorCompletionContributor.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/ComboEditorCompletionContributor.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/ComboEditorCompletionContributor.java
index ac685230486b..59159a84a440 100644
--- a/platform/lang-impl/src/com/intellij/codeInsight/completion/ComboEditorCompletionContributor.java
+++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/ComboEditorCompletionContributor.java
@@ -21,6 +21,7 @@ import com.intellij.openapi.editor.Document;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiFile;
import com.intellij.ui.StringComboboxEditor;
+import org.jetbrains.annotations.NotNull;
import javax.swing.*;
@@ -30,7 +31,7 @@ import javax.swing.*;
public class ComboEditorCompletionContributor extends CompletionContributor{
@Override
- public void fillCompletionVariants(final CompletionParameters parameters, final CompletionResultSet result) {
+ public void fillCompletionVariants(@NotNull final CompletionParameters parameters, @NotNull final CompletionResultSet result) {
if (parameters.getInvocationCount() == 0) {
return;
}
@@ -38,9 +39,13 @@ public class ComboEditorCompletionContributor extends CompletionContributor{
final PsiFile file = parameters.getOriginalFile();
final Document document = PsiDocumentManager.getInstance(file.getProject()).getDocument(file);
if (document != null) {
- final JComboBox comboBox = document.getUserData(StringComboboxEditor.COMBO_BOX_KEY);
+ JComboBox comboBox = document.getUserData(StringComboboxEditor.COMBO_BOX_KEY);
if (comboBox != null) {
- final CompletionResultSet resultSet = result.withPrefixMatcher(document.getText().substring(0, parameters.getOffset()));
+ String substring = document.getText().substring(0, parameters.getOffset());
+ boolean plainPrefixMatcher = Boolean.TRUE.equals(document.getUserData(StringComboboxEditor.USE_PLAIN_PREFIX_MATCHER));
+ final CompletionResultSet resultSet = plainPrefixMatcher ?
+ result.withPrefixMatcher(new PlainPrefixMatcher(substring)) :
+ result.withPrefixMatcher(substring);
final int count = comboBox.getItemCount();
for (int i = 0; i < count; i++) {
final Object o = comboBox.getItemAt(i);