diff options
Diffstat (limited to 'platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java')
-rw-r--r-- | platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java index 376561535a1e..6fa0ed27d8c8 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java @@ -38,6 +38,8 @@ import com.intellij.psi.util.PsiUtilCore; import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.listeners.RefactoringElementListener; +import com.intellij.refactoring.listeners.RefactoringEventData; +import com.intellij.refactoring.listeners.RefactoringEventListener; import com.intellij.refactoring.rename.*; import com.intellij.refactoring.rename.naming.AutomaticRenamer; import com.intellij.refactoring.rename.naming.AutomaticRenamerFactory; @@ -137,6 +139,10 @@ public class VariableInplaceRenamer extends InplaceRefactoring { protected boolean shouldCreateSnapshot() { return true; } + + protected String getRefactoringId() { + return "refactoring.rename"; + } @Override protected void beforeTemplateStart() { @@ -204,11 +210,18 @@ public class VariableInplaceRenamer extends InplaceRefactoring { protected void performRefactoringRename(final String newName, final StartMarkAction markAction) { + final String refactoringId = getRefactoringId(); try { + PsiNamedElement elementToRename = getVariable(); + if (refactoringId != null) { + final RefactoringEventData beforeData = new RefactoringEventData(); + beforeData.addElement(elementToRename); + myProject.getMessageBus() + .syncPublisher(RefactoringEventListener.REFACTORING_EVENT_TOPIC).refactoringStarted(refactoringId, beforeData); + } if (!isIdentifier(newName, myLanguage)) { return; } - PsiNamedElement elementToRename = getVariable(); if (elementToRename != null) { new WriteCommandAction(myProject, getCommandName()) { @Override @@ -278,6 +291,14 @@ public class VariableInplaceRenamer extends InplaceRefactoring { } } finally { + + if (refactoringId != null) { + final RefactoringEventData afterData = new RefactoringEventData(); + afterData.addElement(getVariable()); + myProject.getMessageBus() + .syncPublisher(RefactoringEventListener.REFACTORING_EVENT_TOPIC).refactoringDone(refactoringId, afterData); + } + try { ((EditorImpl)InjectedLanguageUtil.getTopLevelEditor(myEditor)).stopDumbLater(); } |