From 9804bfcc8cd1ac3e9b3256f1882f8a6e0e77f928 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Mon, 7 Jul 2014 17:11:57 +0400 Subject: [PATCH] Plain completion contributor: better api use a boolean key to indicate plain prefix matcher need. --- .../completion/ComboEditorCompletionContributor.java | 6 +----- .../src/com/intellij/ui/StringComboboxEditor.java | 7 +++++-- 2 files changed, 6 insertions(+), 7 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 f9e33965dfc3..59159a84a440 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/ComboEditorCompletionContributor.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/ComboEditorCompletionContributor.java @@ -40,13 +40,9 @@ public class ComboEditorCompletionContributor extends CompletionContributor{ final Document document = PsiDocumentManager.getInstance(file.getProject()).getDocument(file); if (document != null) { JComboBox comboBox = document.getUserData(StringComboboxEditor.COMBO_BOX_KEY); - boolean plainPrefixMatcher = false; - if (comboBox == null) { - comboBox = document.getUserData(StringComboboxEditor.PLAIN_COMBO_BOX_KEY); - plainPrefixMatcher = true; - } if (comboBox != null) { 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); diff --git a/platform/lang-impl/src/com/intellij/ui/StringComboboxEditor.java b/platform/lang-impl/src/com/intellij/ui/StringComboboxEditor.java index 30b739a9a067..1d43ebb362a5 100644 --- a/platform/lang-impl/src/com/intellij/ui/StringComboboxEditor.java +++ b/platform/lang-impl/src/com/intellij/ui/StringComboboxEditor.java @@ -39,7 +39,7 @@ import javax.swing.*; */ public class StringComboboxEditor extends EditorComboBoxEditor { public static final Key COMBO_BOX_KEY = Key.create("COMBO_BOX_KEY"); - public static final Key PLAIN_COMBO_BOX_KEY = Key.create("PLAIN_COMBO_BOX_KEY"); + public static final Key USE_PLAIN_PREFIX_MATCHER = Key.create("USE_PLAIN_PREFIX_MATCHER"); private static final Logger LOG = Logger.getInstance("#com.intellij.ui.StringComboboxEditor"); private final Project myProject; @@ -54,7 +54,10 @@ public class StringComboboxEditor extends EditorComboBoxEditor { final PsiFile file = PsiFileFactory.getInstance(project).createFileFromText("a.dummy", StdFileTypes.PLAIN_TEXT, "", 0, true); final Document document = PsiDocumentManager.getInstance(project).getDocument(file); assert document != null; - document.putUserData(usePlainMatcher ? PLAIN_COMBO_BOX_KEY : COMBO_BOX_KEY, comboBox); + document.putUserData(COMBO_BOX_KEY, comboBox); + if (usePlainMatcher) { + document.putUserData(USE_PLAIN_PREFIX_MATCHER, true); + } document.putUserData(UndoConstants.DONT_RECORD_UNDO, true); super.setItem(document); }