enable show.live.templates.in.completion by default

This commit is contained in:
peter
2014-02-19 11:15:15 +01:00
parent 16dab5a2b7
commit 2f36f24ee1
4 changed files with 18 additions and 20 deletions
@@ -19,10 +19,10 @@ import com.intellij.codeInsight.completion.CompletionParameters;
import com.intellij.codeInsight.completion.CompletionProvider;
import com.intellij.codeInsight.completion.CompletionResultSet;
import com.intellij.codeInsight.template.CustomTemplateCallback;
import com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor;
import com.intellij.codeInsight.template.postfix.settings.PostfixTemplatesSettings;
import com.intellij.codeInsight.template.postfix.templates.PostfixLiveTemplate;
import com.intellij.codeInsight.template.postfix.templates.PostfixTemplate;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.patterns.StandardPatterns;
import com.intellij.psi.PsiFile;
import com.intellij.util.ProcessingContext;
@@ -33,7 +33,7 @@ import static com.intellij.codeInsight.template.postfix.completion.PostfixTempla
class PostfixTemplatesCompletionProvider extends CompletionProvider<CompletionParameters> {
@Override
protected void addCompletions(@NotNull CompletionParameters parameters, ProcessingContext context, @NotNull CompletionResultSet result) {
if (!isCompletionEnabled(parameters) || Registry.is("show.live.templates.in.completion")) {
if (!isCompletionEnabled(parameters) || LiveTemplateCompletionContributor.shouldShowAllTemplates()) {
/**
* disabled or covered with {@link com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor}
*/
@@ -19,30 +19,18 @@ import com.intellij.JavaTestUtil;
import com.intellij.codeInsight.completion.CompletionAutoPopupTestCase;
import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.codeInsight.lookup.impl.LookupImpl;
import com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor;
import com.intellij.codeInsight.template.postfix.settings.PostfixTemplatesSettings;
import com.intellij.codeInsight.template.postfix.templates.*;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.registry.RegistryValue;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class TemplatesCompletionTest extends CompletionAutoPopupTestCase {
private boolean oldRegistryValue;
@Override
public void setUp() {
super.setUp();
RegistryValue registryValue = Registry.get("show.live.templates.in.completion");
oldRegistryValue = registryValue.asBoolean();
registryValue.setValue(false);
}
@Override
public void tearDown() throws Exception {
RegistryValue registryValue = Registry.get("show.live.templates.in.completion");
registryValue.setValue(oldRegistryValue);
LiveTemplateCompletionContributor.ourShowTemplatesInTests = false;
PostfixTemplatesSettings settings = PostfixTemplatesSettings.getInstance();
assertNotNull(settings);
@@ -53,13 +41,13 @@ public class TemplatesCompletionTest extends CompletionAutoPopupTestCase {
}
public void testSimpleCompletionList() {
Registry.get("show.live.templates.in.completion").setValue(true);
LiveTemplateCompletionContributor.ourShowTemplatesInTests = true;
doAutoPopupTest("ins", InstanceofExpressionPostfixTemplate.class);
}
public void testAutopopupWithEnabledLiveTemplatesInCompletion() {
Registry.get("show.live.templates.in.completion").setValue(true);
LiveTemplateCompletionContributor.ourShowTemplatesInTests = true;
configureByFile();
type("instanceof");
@@ -20,6 +20,7 @@ import com.intellij.codeInsight.lookup.LookupElement;
import com.intellij.codeInsight.template.CustomLiveTemplate;
import com.intellij.codeInsight.template.CustomTemplateCallback;
import com.intellij.codeInsight.template.TemplateContextType;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.Ref;
@@ -41,6 +42,15 @@ import static com.intellij.codeInsight.template.impl.ListTemplatesHandler.listAp
* @author peter
*/
public class LiveTemplateCompletionContributor extends CompletionContributor {
public static boolean ourShowTemplatesInTests = false;
public static boolean shouldShowAllTemplates() {
if (ApplicationManager.getApplication().isUnitTestMode()) {
return ourShowTemplatesInTests;
}
return Registry.is("show.live.templates.in.completion");
}
public LiveTemplateCompletionContributor() {
extend(CompletionType.BASIC, PlatformPatterns.psiElement(), new CompletionProvider<CompletionParameters>() {
@Override
@@ -84,7 +94,7 @@ public class LiveTemplateCompletionContributor extends CompletionContributor {
@SuppressWarnings("MethodMayBeStatic") //for Kotlin
protected boolean showAllTemplates() {
return Registry.is("show.live.templates.in.completion");
return shouldShowAllTemplates();
}
private static void ensureTemplatesShown(Ref<Boolean> templatesShown,
@@ -224,7 +224,7 @@ ide.mac.fix.accessibleLeak=true
projectView.showHierarchyErrors=true
projectView.hide.dot.idea=true
show.live.templates.in.completion=false
show.live.templates.in.completion=true
ide.completion.autopopup.select.live.templates=true
ide.completion.autopopup.choose.by.enter=true
documentation.component.editor.font=false