From d27af7f3f8fc1a28aafe870ff50b68d75174135d Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 23 Jul 2019 11:25:42 +0200 Subject: [PATCH] TypedAction converted to independent service GitOrigin-RevId: 802980d1bf93317415d69d6338f3d7e0b9fcd2e3 --- .../completion/JavaAutoPopupTest.groovy | 4 ++-- .../daemon/impl/DaemonRespondToChangesTest.java | 3 ++- .../defaultAction/DefaultActionTestCase.java | 2 +- .../editorActions/JavaQuoteTest.groovy | 5 +++-- .../openapi/command/undo/UndoTestCase.java | 4 +++- .../completion/CodeCompletionHandlerBase.java | 4 +++- .../codeInsight/editorActions/TypedHandler.java | 5 +++-- .../navigation/IncrementalSearchHandler.java | 2 +- .../execution/impl/ConsoleViewImpl.java | 3 ++- .../actionSystem/EditorActionManager.java | 5 +---- .../editor/actionSystem/TypedAction.java | 9 ++++++--- .../intellij/ide/actionMacro/ActionMacro.java | 3 ++- .../editor/impl/EditorActionManagerImpl.java | 11 +---------- .../openapi/editor/impl/EditorImpl.java | 6 ++++-- .../openapi/editor/impl/TypedActionImpl.java | 17 +++++++++++++++++ .../src/META-INF/PlatformExtensions.xml | 2 ++ .../SelectionQuotingTypedHandlerTest.java | 6 ++++-- .../execution/impl/ConsoleViewImplTest.java | 7 ++++--- .../fileEditor/NonProjectFileAccessTest.java | 4 +++- .../intellij/testFramework/EditorTestUtil.java | 2 +- .../LightPlatformCodeInsightTestCase.java | 2 +- .../fixtures/EditorTestFixture.java | 3 ++- .../propertyBased/InvokeCompletion.java | 4 +++- .../actions/EditorConfigTypedHandlerDelegate.kt | 8 ++++---- .../yaml/formatter/YAMLHyphenTypedHandler.java | 10 +++------- 25 files changed, 78 insertions(+), 53 deletions(-) create mode 100644 platform/platform-impl/src/com/intellij/openapi/editor/impl/TypedActionImpl.java diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/JavaAutoPopupTest.groovy b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/JavaAutoPopupTest.groovy index 606118f272e0..5c7fd03db44f 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/JavaAutoPopupTest.groovy +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/completion/JavaAutoPopupTest.groovy @@ -27,7 +27,7 @@ import com.intellij.openapi.command.impl.UndoManagerImpl import com.intellij.openapi.command.undo.UndoManager import com.intellij.openapi.editor.Editor import com.intellij.openapi.editor.EditorFactory -import com.intellij.openapi.editor.actionSystem.EditorActionManager +import com.intellij.openapi.editor.actionSystem.TypedAction import com.intellij.openapi.editor.event.DocumentEvent import com.intellij.openapi.editor.event.DocumentListener import com.intellij.openapi.editor.ex.EditorEx @@ -767,7 +767,7 @@ public interface Test { Editor another = null Runnable wca = { WriteCommandAction.writeCommandAction(getProject()).run ({ - EditorActionManager.instance.getTypedAction().handler.execute(another, (char) 'x', DataManager.instance.dataContext) + TypedAction.instance.handler.execute(another, (char) 'x', DataManager.instance.dataContext) } as ThrowableRunnable) } try { diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/impl/DaemonRespondToChangesTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/impl/DaemonRespondToChangesTest.java index 19d27d10739e..95a509a59763 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/impl/DaemonRespondToChangesTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/impl/DaemonRespondToChangesTest.java @@ -179,7 +179,8 @@ public class DaemonRespondToChangesTest extends DaemonAnalyzerTestCase { } private static void typeInAlienEditor(Editor alienEditor, char c) { - TypedAction action = EditorActionManager.getInstance().getTypedAction(); + EditorActionManager.getInstance(); + TypedAction action = TypedAction.getInstance(); DataContext dataContext = ((EditorEx)alienEditor).getDataContext(); action.actionPerformed(alienEditor, c, dataContext); diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/defaultAction/DefaultActionTestCase.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/defaultAction/DefaultActionTestCase.java index 2522be25ea95..3373d2479c1a 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/defaultAction/DefaultActionTestCase.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/defaultAction/DefaultActionTestCase.java @@ -24,7 +24,7 @@ import com.intellij.testFramework.LightJavaCodeInsightTestCase; public abstract class DefaultActionTestCase extends LightJavaCodeInsightTestCase { protected void performAction(char c) { EditorActionManager actionManager = EditorActionManager.getInstance(); - TypedAction action = actionManager.getTypedAction(); + TypedAction action = TypedAction.getInstance(); action.actionPerformed(getEditor(), c, DataManager.getInstance().getDataContext()); } } \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/JavaQuoteTest.groovy b/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/JavaQuoteTest.groovy index ffd461cce5f1..aa34fb38996e 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/JavaQuoteTest.groovy +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/editorActions/JavaQuoteTest.groovy @@ -1,7 +1,8 @@ // Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.java.codeInsight.editorActions -import com.intellij.openapi.editor.actionSystem.EditorActionManager + +import com.intellij.openapi.editor.actionSystem.TypedAction import com.intellij.openapi.editor.ex.EditorEx import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase import groovy.transform.CompileStatic @@ -34,7 +35,7 @@ class JavaQuoteTest extends LightJavaCodeInsightFixtureTestCase { private void doTest(String before, String after, char c = '"') { myFixture.configureByText("a.java", "class C {{\n ${before}\n}}") - EditorActionManager.instance.typedAction.actionPerformed(editor, c, (editor as EditorEx).dataContext) + TypedAction.instance.actionPerformed(editor, c, (editor as EditorEx).dataContext) myFixture.checkResult("class C {{\n ${after}\n}}") } } \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/openapi/command/undo/UndoTestCase.java b/java/java-tests/testSrc/com/intellij/openapi/command/undo/UndoTestCase.java index fc3f54bfa954..48ef643cd98b 100644 --- a/java/java-tests/testSrc/com/intellij/openapi/command/undo/UndoTestCase.java +++ b/java/java-tests/testSrc/com/intellij/openapi/command/undo/UndoTestCase.java @@ -12,6 +12,7 @@ import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.command.impl.UndoManagerImpl; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.actionSystem.EditorActionManager; +import com.intellij.openapi.editor.actionSystem.TypedAction; import com.intellij.openapi.fileEditor.FileEditor; import com.intellij.openapi.fileEditor.FileEditorManager; import com.intellij.openapi.fileEditor.OpenFileDescriptor; @@ -75,7 +76,8 @@ public abstract class UndoTestCase extends JavaCodeInsightTestCase { } protected void typeInChar(Editor e, char c) { - getActionManager().getTypedAction().actionPerformed(e, c, createDataContextFor(e)); + getActionManager(); + TypedAction.getInstance().actionPerformed(e, c, createDataContextFor(e)); } private static EditorActionManager getActionManager() { diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/CodeCompletionHandlerBase.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/CodeCompletionHandlerBase.java index 0222190cc244..091763cc4016 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/CodeCompletionHandlerBase.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/CodeCompletionHandlerBase.java @@ -30,6 +30,7 @@ import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.EditorModificationUtil; import com.intellij.openapi.editor.actionSystem.EditorActionManager; +import com.intellij.openapi.editor.actionSystem.TypedAction; import com.intellij.openapi.editor.ex.DocumentEx; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.progress.util.ProgressIndicatorUtils; @@ -658,7 +659,8 @@ public class CodeCompletionHandlerBase { } else { DataContext dataContext = DataManager.getInstance().getDataContext(context.getEditor().getContentComponent()); - EditorActionManager.getInstance().getTypedAction().getHandler().execute(context.getEditor(), context.getCompletionChar(), dataContext); + EditorActionManager.getInstance(); + TypedAction.getInstance().getHandler().execute(context.getEditor(), context.getCompletionChar(), dataContext); } } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/TypedHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/TypedHandler.java index bef943c0a311..78c65dc181d8 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/TypedHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/TypedHandler.java @@ -20,12 +20,13 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.*; import com.intellij.openapi.editor.actionSystem.ActionPlan; import com.intellij.openapi.editor.actionSystem.EditorActionManager; +import com.intellij.openapi.editor.actionSystem.TypedAction; import com.intellij.openapi.editor.actionSystem.TypedActionHandler; import com.intellij.openapi.editor.ex.EditorEx; import com.intellij.openapi.editor.highlighter.EditorHighlighter; import com.intellij.openapi.editor.highlighter.HighlighterIterator; import com.intellij.openapi.editor.impl.DefaultRawTypedHandler; -import com.intellij.openapi.editor.impl.EditorActionManagerImpl; +import com.intellij.openapi.editor.impl.TypedActionImpl; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.FileTypes; import com.intellij.openapi.fileTypes.LanguageFileType; @@ -633,7 +634,7 @@ public class TypedHandler extends TypedActionHandlerBase { ); } if (element.getNode() != null && isBrace) { - DefaultRawTypedHandler handler = ((EditorActionManagerImpl) EditorActionManager.getInstance()).getDefaultRawTypedHandler(); + DefaultRawTypedHandler handler = ((TypedActionImpl)TypedAction.getInstance()).getDefaultRawTypedHandler(); handler.beginUndoablePostProcessing(); final int finalLBraceOffset = lBraceOffset; diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/IncrementalSearchHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/IncrementalSearchHandler.java index 7f0423fb5028..e8dfc77287a4 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/IncrementalSearchHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/IncrementalSearchHandler.java @@ -80,7 +80,7 @@ public class IncrementalSearchHandler { if (!ourActionsRegistered) { EditorActionManager actionManager = EditorActionManager.getInstance(); - TypedAction typedAction = actionManager.getTypedAction(); + TypedAction typedAction = TypedAction.getInstance(); typedAction.setupRawHandler(new MyTypedHandler(typedAction.getRawHandler())); actionManager.setActionHandler(IdeActions.ACTION_EDITOR_BACKSPACE, new BackSpaceHandler(actionManager.getActionHandler(IdeActions.ACTION_EDITOR_BACKSPACE))); diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java index 49d07598f1ca..1f1872081e07 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java @@ -225,7 +225,8 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo private static synchronized void initTypedHandler() { if (ourTypedHandlerInitialized) return; - TypedAction typedAction = EditorActionManager.getInstance().getTypedAction(); + EditorActionManager.getInstance(); + TypedAction typedAction = TypedAction.getInstance(); typedAction.setupHandler(new MyTypedHandler(typedAction.getHandler())); ourTypedHandlerInitialized = true; } diff --git a/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/EditorActionManager.java b/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/EditorActionManager.java index fd0d51cc414d..091842715ad8 100644 --- a/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/EditorActionManager.java +++ b/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/EditorActionManager.java @@ -55,10 +55,7 @@ public abstract class EditorActionManager { public abstract EditorActionHandler setActionHandler(@NonNls @NotNull String actionId, @NotNull EditorActionHandler handler); /** - * Returns the service for registering actions activated by typing visible characters - * in the editor. - * - * @return the typed action service instance. + * @deprecated Use {@link TypedAction#getInstance()} instead */ @NotNull public abstract TypedAction getTypedAction(); diff --git a/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/TypedAction.java b/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/TypedAction.java index 534935e9a8d1..9e02f59d1350 100644 --- a/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/TypedAction.java +++ b/platform/platform-api/src/com/intellij/openapi/editor/actionSystem/TypedAction.java @@ -4,6 +4,7 @@ package com.intellij.openapi.editor.actionSystem; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.command.CommandProcessor; +import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.editor.*; import com.intellij.openapi.project.Project; import com.intellij.reporting.FreezeLogger; @@ -12,14 +13,16 @@ import org.jetbrains.annotations.Nullable; /** * Provides services for registering actions which are activated by typing in the editor. - * - * @see EditorActionManager#getTypedAction() */ -public class TypedAction { +public abstract class TypedAction { private TypedActionHandler myRawHandler; private TypedActionHandler myHandler; private boolean myHandlersLoaded; + public static TypedAction getInstance() { + return ServiceManager.getService(TypedAction.class); + } + public TypedAction() { myHandler = new Handler(); } diff --git a/platform/platform-impl/src/com/intellij/ide/actionMacro/ActionMacro.java b/platform/platform-impl/src/com/intellij/ide/actionMacro/ActionMacro.java index 149b1657f089..977b439244a7 100644 --- a/platform/platform-impl/src/com/intellij/ide/actionMacro/ActionMacro.java +++ b/platform/platform-impl/src/com/intellij/ide/actionMacro/ActionMacro.java @@ -275,7 +275,8 @@ public class ActionMacro { @Override public void playBack(DataContext context) { Editor editor = CommonDataKeys.EDITOR.getData(context); - final TypedAction typedAction = EditorActionManager.getInstance().getTypedAction(); + EditorActionManager.getInstance(); + final TypedAction typedAction = TypedAction.getInstance(); for (final char aChar : myText.toCharArray()) { typedAction.actionPerformed(editor, aChar, context); } diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorActionManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorActionManagerImpl.java index a1e69a3579d5..934634f5b5ca 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorActionManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorActionManagerImpl.java @@ -11,15 +11,11 @@ import com.intellij.injected.editor.DocumentWindow; import org.jetbrains.annotations.NotNull; public class EditorActionManagerImpl extends EditorActionManager { - private final TypedAction myTypedAction = new TypedAction(); - private final DefaultRawTypedHandler myDefaultRawTypedHandler; private ReadonlyFragmentModificationHandler myReadonlyFragmentsHandler = new DefaultReadOnlyFragmentModificationHandler(); private final ActionManager myActionManager; public EditorActionManagerImpl(ActionManager actionManager) { myActionManager = actionManager; - myDefaultRawTypedHandler = new DefaultRawTypedHandler(myTypedAction); - myTypedAction.setupRawHandler(myDefaultRawTypedHandler); } @Override @@ -33,10 +29,9 @@ public class EditorActionManagerImpl extends EditorActionManager { return action.setupHandler(handler); } - @Override @NotNull public TypedAction getTypedAction() { - return myTypedAction; + return TypedAction.getInstance(); } @Override @@ -75,9 +70,5 @@ public class EditorActionManagerImpl extends EditorActionManager { EditorBundle.message("guarded.block.modification.attempt.error.title")); } } - - public DefaultRawTypedHandler getDefaultRawTypedHandler() { - return myDefaultRawTypedHandler; - } } diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java index 4cbfd2bce0fe..089d7c337f59 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java @@ -1291,7 +1291,8 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi void processKeyTypedImmediately(char c, Graphics graphics, DataContext dataContext) { EditorActionPlan plan = new EditorActionPlan(this); - EditorActionManager.getInstance().getTypedAction().beforeActionPerformed(this, c, dataContext, plan); + EditorActionManager.getInstance(); + TypedAction.getInstance().beforeActionPerformed(this, c, dataContext, plan); if (myImmediatePainter.paint(graphics, plan)) { measureTypingLatency(); myLastTypedActionTimestamp = -1; @@ -1299,7 +1300,8 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi } void processKeyTypedNormally(char c, DataContext dataContext) { - EditorActionManager.getInstance().getTypedAction().actionPerformed(this, c, dataContext); + EditorActionManager.getInstance(); + TypedAction.getInstance().actionPerformed(this, c, dataContext); } private void fireFocusLost(@NotNull FocusEvent event) { diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/TypedActionImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/TypedActionImpl.java new file mode 100644 index 000000000000..0964881a2a9f --- /dev/null +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/TypedActionImpl.java @@ -0,0 +1,17 @@ +// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.openapi.editor.impl; + +import com.intellij.openapi.editor.actionSystem.TypedAction; + +public class TypedActionImpl extends TypedAction { + private final DefaultRawTypedHandler myDefaultRawTypedHandler; + + public TypedActionImpl() { + myDefaultRawTypedHandler = new DefaultRawTypedHandler(this); + setupRawHandler(myDefaultRawTypedHandler); + } + + public DefaultRawTypedHandler getDefaultRawTypedHandler() { + return myDefaultRawTypedHandler; + } +} diff --git a/platform/platform-resources/src/META-INF/PlatformExtensions.xml b/platform/platform-resources/src/META-INF/PlatformExtensions.xml index 1ad76831b20f..f5207211b264 100644 --- a/platform/platform-resources/src/META-INF/PlatformExtensions.xml +++ b/platform/platform-resources/src/META-INF/PlatformExtensions.xml @@ -173,6 +173,8 @@ + diff --git a/platform/platform-tests/testSrc/com/intellij/application/options/codeInsight/editor/quotes/SelectionQuotingTypedHandlerTest.java b/platform/platform-tests/testSrc/com/intellij/application/options/codeInsight/editor/quotes/SelectionQuotingTypedHandlerTest.java index 669cfe4402ea..4a25d8910cf0 100644 --- a/platform/platform-tests/testSrc/com/intellij/application/options/codeInsight/editor/quotes/SelectionQuotingTypedHandlerTest.java +++ b/platform/platform-tests/testSrc/com/intellij/application/options/codeInsight/editor/quotes/SelectionQuotingTypedHandlerTest.java @@ -115,7 +115,8 @@ public class SelectionQuotingTypedHandlerTest extends BasePlatformTestCase { private void doTest(@NotNull final String cs, @NotNull String before, @NotNull String expected) { myFixture.configureByText(FileTypes.PLAIN_TEXT, before); - final TypedAction typedAction = EditorActionManager.getInstance().getTypedAction(); + EditorActionManager.getInstance(); + final TypedAction typedAction = TypedAction.getInstance(); performAction(myFixture.getProject(), () -> { for (int i = 0, max = cs.length(); i < max; i++) { @@ -130,7 +131,8 @@ public class SelectionQuotingTypedHandlerTest extends BasePlatformTestCase { myFixture.configureByText(FileTypes.PLAIN_TEXT, "\"aaa\"\nbbb\n\n"); myFixture.getEditor().getCaretModel().moveToOffset(0); myFixture.getEditor().getSelectionModel().setSelection(0, 5); - final TypedAction typedAction = EditorActionManager.getInstance().getTypedAction(); + EditorActionManager.getInstance(); + final TypedAction typedAction = TypedAction.getInstance(); performAction(myFixture.getProject(), () -> typedAction.actionPerformed(myFixture.getEditor(), '\'', ((EditorEx)myFixture.getEditor()).getDataContext())); myFixture.getEditor().getSelectionModel().removeSelection(); diff --git a/platform/platform-tests/testSrc/com/intellij/execution/impl/ConsoleViewImplTest.java b/platform/platform-tests/testSrc/com/intellij/execution/impl/ConsoleViewImplTest.java index f84fbb17c7ff..9a7c2f038834 100644 --- a/platform/platform-tests/testSrc/com/intellij/execution/impl/ConsoleViewImplTest.java +++ b/platform/platform-tests/testSrc/com/intellij/execution/impl/ConsoleViewImplTest.java @@ -152,14 +152,14 @@ public class ConsoleViewImplTest extends LightPlatformTestCase { console.clear(); EditorActionManager actionManager = EditorActionManager.getInstance(); DataContext dataContext = DataManager.getInstance().getDataContext(console.getComponent()); - TypedAction action = actionManager.getTypedAction(); + TypedAction action = TypedAction.getInstance(); action.actionPerformed(console.getEditor(), 'h', dataContext); assertEquals(1, console.getContentSize()); } public void testTypingAfterMultipleCR() { final EditorActionManager actionManager = EditorActionManager.getInstance(); - final TypedAction typedAction = actionManager.getTypedAction(); + final TypedAction typedAction = TypedAction.getInstance(); final TestDataProvider dataContext = new TestDataProvider(getProject()); final ConsoleViewImpl console = myConsole; @@ -352,7 +352,8 @@ public class ConsoleViewImplTest extends LightPlatformTestCase { } private static void typeIn(Editor editor, char c) { - TypedAction action = EditorActionManager.getInstance().getTypedAction(); + EditorActionManager.getInstance(); + TypedAction action = TypedAction.getInstance(); DataContext dataContext = ((EditorEx)editor).getDataContext(); action.actionPerformed(editor, c, dataContext); diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/fileEditor/NonProjectFileAccessTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/fileEditor/NonProjectFileAccessTest.java index adc0a8ec3b86..da6e4fcb4c7f 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/fileEditor/NonProjectFileAccessTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/fileEditor/NonProjectFileAccessTest.java @@ -10,6 +10,7 @@ import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.components.impl.ComponentManagerImpl; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.actionSystem.EditorActionManager; +import com.intellij.openapi.editor.actionSystem.TypedAction; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx; import com.intellij.openapi.fileEditor.impl.NonProjectFileWritingAccessExtension; @@ -405,7 +406,8 @@ public class NonProjectFileAccessTest extends HeavyFileEditorManagerTestCase { } private void typeInChar(Editor e, char c) { - getActionManager().getTypedAction().actionPerformed(e, c, createDataContextFor(e)); + getActionManager(); + TypedAction.getInstance().actionPerformed(e, c, createDataContextFor(e)); } private DataContext createDataContextFor(final Editor editor) { diff --git a/platform/testFramework/src/com/intellij/testFramework/EditorTestUtil.java b/platform/testFramework/src/com/intellij/testFramework/EditorTestUtil.java index a11e32b99322..5d776feaa638 100644 --- a/platform/testFramework/src/com/intellij/testFramework/EditorTestUtil.java +++ b/platform/testFramework/src/com/intellij/testFramework/EditorTestUtil.java @@ -75,7 +75,7 @@ public class EditorTestUtil { executeAction(editor, IdeActions.ACTION_EDITOR_ENTER); } else { - TypedAction action = actionManager.getTypedAction(); + TypedAction action = TypedAction.getInstance(); action.actionPerformed(editor, c, DataManager.getInstance().getDataContext(editor.getContentComponent())); } } diff --git a/platform/testFramework/src/com/intellij/testFramework/LightPlatformCodeInsightTestCase.java b/platform/testFramework/src/com/intellij/testFramework/LightPlatformCodeInsightTestCase.java index 24d51a887293..f6f0011ca7cd 100644 --- a/platform/testFramework/src/com/intellij/testFramework/LightPlatformCodeInsightTestCase.java +++ b/platform/testFramework/src/com/intellij/testFramework/LightPlatformCodeInsightTestCase.java @@ -475,7 +475,7 @@ public abstract class LightPlatformCodeInsightTestCase extends LightPlatformTest else { EditorActionManager actionManager = EditorActionManager.getInstance(); final DataContext dataContext = DataManager.getInstance().getDataContext(); - TypedAction action = actionManager.getTypedAction(); + TypedAction action = TypedAction.getInstance(); action.actionPerformed(editor, c, dataContext); } } diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/EditorTestFixture.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/EditorTestFixture.java index b7532b67e2e2..bd525f5c7614 100644 --- a/platform/testFramework/src/com/intellij/testFramework/fixtures/EditorTestFixture.java +++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/EditorTestFixture.java @@ -26,6 +26,7 @@ import com.intellij.openapi.editor.CaretModel; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.actionSystem.EditorActionManager; +import com.intellij.openapi.editor.actionSystem.TypedAction; import com.intellij.openapi.editor.ex.EditorEx; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; @@ -110,7 +111,7 @@ public class EditorTestFixture { } ActionManagerEx.getInstanceEx().fireBeforeEditorTyping(c, getEditorDataContext()); - actionManager.getTypedAction().actionPerformed(myEditor, c, getEditorDataContext()); + TypedAction.getInstance().actionPerformed(myEditor, c, getEditorDataContext()); }); } diff --git a/platform/testFramework/src/com/intellij/testFramework/propertyBased/InvokeCompletion.java b/platform/testFramework/src/com/intellij/testFramework/propertyBased/InvokeCompletion.java index 7e88710f7cdb..cc42b7c1fc19 100644 --- a/platform/testFramework/src/com/intellij/testFramework/propertyBased/InvokeCompletion.java +++ b/platform/testFramework/src/com/intellij/testFramework/propertyBased/InvokeCompletion.java @@ -25,6 +25,7 @@ import com.intellij.openapi.Disposable; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.actionSystem.EditorActionManager; +import com.intellij.openapi.editor.actionSystem.TypedAction; import com.intellij.openapi.editor.impl.EditorImpl; import com.intellij.openapi.fileEditor.FileEditorManager; import com.intellij.openapi.fileEditor.OpenFileDescriptor; @@ -155,7 +156,8 @@ public class InvokeCompletion extends ActionOnFile { if (LookupEvent.isSpecialCompletionChar(completionChar)) { ((LookupImpl)lookup).finishLookup(completionChar, item); } else { - EditorActionManager.getInstance().getTypedAction().actionPerformed(editor, completionChar, ((EditorImpl)lookup.getTopLevelEditor()).getDataContext()); + EditorActionManager.getInstance(); + TypedAction.getInstance().actionPerformed(editor, completionChar, ((EditorImpl)lookup.getTopLevelEditor()).getDataContext()); } } diff --git a/plugins/editorconfig/src/org/editorconfig/language/codeinsight/actions/EditorConfigTypedHandlerDelegate.kt b/plugins/editorconfig/src/org/editorconfig/language/codeinsight/actions/EditorConfigTypedHandlerDelegate.kt index 48c6b5cabbac..f7b3f03bb681 100644 --- a/plugins/editorconfig/src/org/editorconfig/language/codeinsight/actions/EditorConfigTypedHandlerDelegate.kt +++ b/plugins/editorconfig/src/org/editorconfig/language/codeinsight/actions/EditorConfigTypedHandlerDelegate.kt @@ -6,8 +6,8 @@ import com.intellij.codeInsight.editorActions.TypedHandlerDelegate import com.intellij.openapi.application.runWriteAction import com.intellij.openapi.editor.Editor import com.intellij.openapi.editor.ScrollType -import com.intellij.openapi.editor.actionSystem.EditorActionManager -import com.intellij.openapi.editor.impl.EditorActionManagerImpl +import com.intellij.openapi.editor.actionSystem.TypedAction +import com.intellij.openapi.editor.impl.TypedActionImpl import com.intellij.openapi.project.Project import com.intellij.psi.PsiElement import com.intellij.psi.PsiFile @@ -40,10 +40,10 @@ class EditorConfigTypedHandlerDelegate : TypedHandlerDelegate() { val newOffset = offset + 1 val document = editor.document - val manager = EditorActionManager.getInstance() as EditorActionManagerImpl + val typedAction = TypedAction.getInstance() as TypedActionImpl runWriteAction { - manager.defaultRawTypedHandler.beginUndoablePostProcessing() + typedAction.defaultRawTypedHandler.beginUndoablePostProcessing() document.insertString(lBraceIndex, "{") document.insertString(rBraceIndex, "}") caretModel.moveToOffset(newOffset) diff --git a/plugins/yaml/src/org/jetbrains/yaml/formatter/YAMLHyphenTypedHandler.java b/plugins/yaml/src/org/jetbrains/yaml/formatter/YAMLHyphenTypedHandler.java index 64896d4f7bcd..4b488cffd629 100644 --- a/plugins/yaml/src/org/jetbrains/yaml/formatter/YAMLHyphenTypedHandler.java +++ b/plugins/yaml/src/org/jetbrains/yaml/formatter/YAMLHyphenTypedHandler.java @@ -5,9 +5,9 @@ import com.intellij.codeInsight.editorActions.TypedHandlerDelegate; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; -import com.intellij.openapi.editor.actionSystem.EditorActionManager; +import com.intellij.openapi.editor.actionSystem.TypedAction; import com.intellij.openapi.editor.impl.DefaultRawTypedHandler; -import com.intellij.openapi.editor.impl.EditorActionManagerImpl; +import com.intellij.openapi.editor.impl.TypedActionImpl; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiElement; @@ -78,11 +78,7 @@ public class YAMLHyphenTypedHandler extends TypedHandlerDelegate { return; } - EditorActionManager editorActionManager = EditorActionManager.getInstance(); - if (!(editorActionManager instanceof EditorActionManagerImpl)) { - return; - } - DefaultRawTypedHandler handler = ((EditorActionManagerImpl)editorActionManager).getDefaultRawTypedHandler(); + DefaultRawTypedHandler handler = ((TypedActionImpl)TypedAction.getInstance()).getDefaultRawTypedHandler(); handler.beginUndoablePostProcessing(); ApplicationManager.getApplication().runWriteAction(() -> {