From abdb63531f0cc2fc27ddcf15bbbf1ae922f7df99 Mon Sep 17 00:00:00 2001 From: Anna Bulenkova Date: Tue, 9 Dec 2014 18:04:47 +0100 Subject: [PATCH] [code] Editor - actionPerformed() --- .../editor/basics/EditorIllustration.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/editor_basics/src/org/jetbrains/plugins/editor/basics/EditorIllustration.java b/editor_basics/src/org/jetbrains/plugins/editor/basics/EditorIllustration.java index 0dddd47ef..77b56c73c 100644 --- a/editor_basics/src/org/jetbrains/plugins/editor/basics/EditorIllustration.java +++ b/editor_basics/src/org/jetbrains/plugins/editor/basics/EditorIllustration.java @@ -3,7 +3,10 @@ package org.jetbrains.plugins.editor.basics; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CommonDataKeys; +import com.intellij.openapi.command.WriteCommandAction; +import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; +import com.intellij.openapi.editor.SelectionModel; import com.intellij.openapi.project.Project; /** @@ -12,7 +15,25 @@ import com.intellij.openapi.project.Project; public class EditorIllustration extends AnAction { @Override public void actionPerformed(final AnActionEvent anActionEvent) { + //Get all the required data from data keys + final Editor editor = anActionEvent.getRequiredData(CommonDataKeys.EDITOR); + final Project project = anActionEvent.getRequiredData(CommonDataKeys.PROJECT); + //Access document, caret, and selection + final Document document = editor.getDocument(); + final SelectionModel selectionModel = editor.getSelectionModel(); + final int start = selectionModel.getSelectionStart(); + final int end = selectionModel.getSelectionEnd(); + //New instance of Runnable to make a replacement + Runnable runnable = new Runnable() { + @Override + public void run() { + document.replaceString(start, end, "Replacement"); + } + }; + //Making the replacement + WriteCommandAction.runWriteCommandAction(project, runnable); + selectionModel.removeSelection(); } @Override public void update(final AnActionEvent e) {