diff options
Diffstat (limited to 'platform/lang-impl/src/com/intellij/codeInsight/editorActions')
9 files changed, 37 insertions, 31 deletions
diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockEndAction.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockEndAction.java index e7c723c17f8b..28b733cb1d5c 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockEndAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockEndAction.java @@ -26,10 +26,12 @@ package com.intellij.codeInsight.editorActions; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.openapi.editor.Caret; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.actionSystem.EditorAction; import com.intellij.openapi.editor.actionSystem.EditorActionHandler; import com.intellij.openapi.project.Project; +import org.jetbrains.annotations.Nullable; public class CodeBlockEndAction extends EditorAction { public CodeBlockEndAction() { @@ -43,7 +45,7 @@ public class CodeBlockEndAction extends EditorAction { } @Override - public void execute(Editor editor, DataContext dataContext) { + public void doExecute(Editor editor, @Nullable Caret caret, DataContext dataContext) { Project project = CommonDataKeys.PROJECT.getData(dataContext); if (project != null) { CodeBlockUtil.moveCaretToCodeBlockEnd(project, editor, false); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockEndWithSelectionAction.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockEndWithSelectionAction.java index 9431da1fc4d7..10a71a5edc86 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockEndWithSelectionAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockEndWithSelectionAction.java @@ -26,10 +26,12 @@ package com.intellij.codeInsight.editorActions; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.openapi.editor.Caret; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.actionSystem.EditorAction; import com.intellij.openapi.editor.actionSystem.EditorActionHandler; import com.intellij.openapi.project.Project; +import org.jetbrains.annotations.Nullable; public class CodeBlockEndWithSelectionAction extends EditorAction { public CodeBlockEndWithSelectionAction() { @@ -43,7 +45,7 @@ public class CodeBlockEndWithSelectionAction extends EditorAction { } @Override - public void execute(Editor editor, DataContext dataContext) { + public void doExecute(Editor editor, @Nullable Caret caret, DataContext dataContext) { Project project = CommonDataKeys.PROJECT.getData(dataContext); if (project != null) { CodeBlockUtil.moveCaretToCodeBlockEnd(project, editor, true); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockStartAction.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockStartAction.java index 690efff63d16..fc8ac9cf119a 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockStartAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockStartAction.java @@ -26,10 +26,12 @@ package com.intellij.codeInsight.editorActions; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.openapi.editor.Caret; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.actionSystem.EditorAction; import com.intellij.openapi.editor.actionSystem.EditorActionHandler; import com.intellij.openapi.project.Project; +import org.jetbrains.annotations.Nullable; public class CodeBlockStartAction extends EditorAction { public CodeBlockStartAction() { @@ -43,7 +45,7 @@ public class CodeBlockStartAction extends EditorAction { } @Override - public void execute(Editor editor, DataContext dataContext) { + public void doExecute(Editor editor, @Nullable Caret caret, DataContext dataContext) { Project project = CommonDataKeys.PROJECT.getData(dataContext); if (project != null) { CodeBlockUtil.moveCaretToCodeBlockStart(project, editor, false); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockStartWithSelectionAction.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockStartWithSelectionAction.java index 9819efcdc439..fcae25ac1a2b 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockStartWithSelectionAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/CodeBlockStartWithSelectionAction.java @@ -26,10 +26,12 @@ package com.intellij.codeInsight.editorActions; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.openapi.editor.Caret; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.actionSystem.EditorAction; import com.intellij.openapi.editor.actionSystem.EditorActionHandler; import com.intellij.openapi.project.Project; +import org.jetbrains.annotations.Nullable; public class CodeBlockStartWithSelectionAction extends EditorAction { public CodeBlockStartWithSelectionAction() { @@ -43,7 +45,7 @@ public class CodeBlockStartWithSelectionAction extends EditorAction { } @Override - public void execute(Editor editor, DataContext dataContext) { + public void doExecute(Editor editor, @Nullable Caret caret, DataContext dataContext) { Project project = CommonDataKeys.PROJECT.getData(dataContext); if (project != null) { CodeBlockUtil.moveCaretToCodeBlockStart(project, editor, true); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/EnterHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/EnterHandler.java index c8a1ab3b7730..5db0a1a7e93b 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/EnterHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/EnterHandler.java @@ -61,8 +61,8 @@ public class EnterHandler extends BaseEnterHandler { } @Override - public boolean isEnabled(Editor editor, DataContext dataContext) { - return myOriginalHandler.isEnabled(editor, dataContext); + public boolean isEnabledForCaret(@NotNull Editor editor, @NotNull Caret caret, DataContext dataContext) { + return myOriginalHandler.isEnabled(editor, caret, dataContext); } @Override diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/JoinLinesHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/JoinLinesHandler.java index eebdb50ea2ee..5f416dd307c4 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/JoinLinesHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/JoinLinesHandler.java @@ -239,7 +239,7 @@ public class JoinLinesHandler extends EditorWriteActionHandler { docManager.commitDocument(doc); try { - CodeStyleManager.getInstance(project).reformatText(psiFile, start + 1, end); + CodeStyleManager.getInstance(project).reformatRange(psiFile, start + 1, end, true); } catch (IncorrectOperationException e) { LOG.error(e); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/SelectWordHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/SelectWordHandler.java index 8edbb3f5f11d..bfddf17054b5 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/SelectWordHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/SelectWordHandler.java @@ -25,6 +25,7 @@ import com.intellij.lang.injection.InjectedLanguageManager; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.editor.Caret; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.actionSystem.EditorActionHandler; @@ -51,14 +52,14 @@ public class SelectWordHandler extends EditorActionHandler { } @Override - public void execute(@NotNull Editor editor, DataContext dataContext) { + public void doExecute(@NotNull Editor editor, @Nullable Caret caret, DataContext dataContext) { if (LOG.isDebugEnabled()) { LOG.debug("enter: execute(editor='" + editor + "')"); } Project project = CommonDataKeys.PROJECT.getData(DataManager.getInstance().getDataContext(editor.getComponent())); if (project == null) { if (myOriginalHandler != null) { - myOriginalHandler.execute(editor, dataContext); + myOriginalHandler.execute(editor, caret, dataContext); } return; } @@ -74,7 +75,7 @@ public class SelectWordHandler extends EditorActionHandler { } if (range == null) { if (myOriginalHandler != null) { - myOriginalHandler.execute(editor, dataContext); + myOriginalHandler.execute(editor, caret, dataContext); } } else { diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/UnSelectWordHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/UnSelectWordHandler.java index cb1d0a6f2be9..de59e9e8fa6b 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/UnSelectWordHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/UnSelectWordHandler.java @@ -19,6 +19,7 @@ package com.intellij.codeInsight.editorActions; import com.intellij.ide.DataManager; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.openapi.editor.Caret; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.FoldRegion; @@ -28,6 +29,7 @@ import com.intellij.openapi.util.Ref; import com.intellij.openapi.util.TextRange; import com.intellij.psi.*; import com.intellij.util.Processor; +import org.jetbrains.annotations.Nullable; public class UnSelectWordHandler extends EditorActionHandler { private final EditorActionHandler myOriginalHandler; @@ -38,14 +40,17 @@ public class UnSelectWordHandler extends EditorActionHandler { } @Override - public void execute(Editor editor, DataContext dataContext) { + public void doExecute(Editor editor, @Nullable Caret caret, DataContext dataContext) { Project project = CommonDataKeys.PROJECT.getData(DataManager.getInstance().getDataContext(editor.getComponent())); + if (project == null) { + return; + } Document document = editor.getDocument(); final PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(document); if (file == null) { if (myOriginalHandler != null) { - myOriginalHandler.execute(editor, dataContext); + myOriginalHandler.execute(editor, caret, dataContext); } return; } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/smartEnter/SmartEnterAction.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/smartEnter/SmartEnterAction.java index bbb1e163729e..19fb28086099 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/smartEnter/SmartEnterAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/smartEnter/SmartEnterAction.java @@ -16,13 +16,13 @@ package com.intellij.codeInsight.editorActions.smartEnter; -import com.intellij.codeInsight.actions.BaseCodeInsightAction; import com.intellij.codeInsight.editorActions.enter.EnterAfterUnmatchedBraceHandler; import com.intellij.codeInsight.lookup.LookupManager; import com.intellij.lang.Language; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.actionSystem.IdeActions; +import com.intellij.openapi.editor.Caret; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.actionSystem.EditorAction; import com.intellij.openapi.editor.actionSystem.EditorActionHandler; @@ -41,15 +41,7 @@ import java.util.List; public class SmartEnterAction extends EditorAction { public SmartEnterAction() { super(new Handler()); - } - - @Override - protected Editor getEditor(@NotNull final DataContext dataContext) { - final Editor editor = CommonDataKeys.EDITOR.getData(dataContext); - if (editor == null) return null; - Project project = editor.getProject(); - if (project == null) project = CommonDataKeys.PROJECT.getData(dataContext); - return project == null ? null : BaseCodeInsightAction.getInjectedEditor(project, editor); + setInjectedContext(true); } private static class Handler extends EditorWriteActionHandler { @@ -58,15 +50,15 @@ public class SmartEnterAction extends EditorAction { } @Override - public boolean isEnabled(Editor editor, DataContext dataContext) { - return getEnterHandler().isEnabled(editor, dataContext); + public boolean isEnabledForCaret(@NotNull Editor editor, @NotNull Caret caret, DataContext dataContext) { + return getEnterHandler().isEnabled(editor, caret, dataContext); } @Override - public void executeWriteAction(Editor editor, DataContext dataContext) { + public void executeWriteAction(Editor editor, Caret caret, DataContext dataContext) { Project project = CommonDataKeys.PROJECT.getData(dataContext); if (project == null || editor.isOneLineMode()) { - plainEnter(editor, dataContext); + plainEnter(editor, caret, dataContext); return; } @@ -76,13 +68,13 @@ public class SmartEnterAction extends EditorAction { PsiFile psiFile = PsiUtilBase.getPsiFileInEditor(editor, project); if (psiFile == null) { - plainEnter(editor, dataContext); + plainEnter(editor, caret, dataContext); return; } if (EnterAfterUnmatchedBraceHandler.isAfterUnmatchedLBrace(editor, caretOffset, psiFile.getFileType())) { EditorActionHandler enterHandler = EditorActionManager.getInstance().getActionHandler(IdeActions.ACTION_EDITOR_ENTER); - enterHandler.execute(editor, dataContext); + enterHandler.execute(editor, caret, dataContext); return; } @@ -100,13 +92,13 @@ public class SmartEnterAction extends EditorAction { } } if (!processed) { - plainEnter(editor, dataContext); + plainEnter(editor, caret, dataContext); } } } - public static void plainEnter(Editor editor, DataContext dataContext) { - getEnterHandler().execute(editor, dataContext); + public static void plainEnter(Editor editor, Caret caret, DataContext dataContext) { + getEnterHandler().execute(editor, caret, dataContext); } private static EditorActionHandler getEnterHandler() { |