mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
restore caret position and dispose rangemarker after rename performed
This commit is contained in:
+18
-5
@@ -206,10 +206,6 @@ public class MemberInplaceRenamer extends VariableInplaceRenamer {
|
||||
}
|
||||
finally {
|
||||
FinishMarkAction.finish(myProject, myEditor, markAction);
|
||||
if (myBeforeRevert != null) {
|
||||
myEditor.getCaretModel().moveToOffset(myBeforeRevert.getEndOffset());
|
||||
myBeforeRevert.dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -219,7 +215,17 @@ public class MemberInplaceRenamer extends VariableInplaceRenamer {
|
||||
final RenameProcessor
|
||||
renameProcessor = new RenameProcessor(myProject, element, newName,
|
||||
elementProcessor.isToSearchInComments(element),
|
||||
elementProcessor.isToSearchForTextOccurrences(element));
|
||||
elementProcessor.isToSearchForTextOccurrences(element)){
|
||||
@Override
|
||||
public void doRun() {
|
||||
try {
|
||||
super.doRun();
|
||||
}
|
||||
finally {
|
||||
restoreCaretOffsetAfterRename();
|
||||
}
|
||||
}
|
||||
};
|
||||
for (AutomaticRenamerFactory factory : Extensions.getExtensions(AutomaticRenamerFactory.EP_NAME)) {
|
||||
if (factory.getOptionName() != null && factory.isApplicable(element)) {
|
||||
renameProcessor.addRenamerFactory(factory);
|
||||
@@ -228,6 +234,13 @@ public class MemberInplaceRenamer extends VariableInplaceRenamer {
|
||||
renameProcessor.run();
|
||||
}
|
||||
|
||||
protected void restoreCaretOffsetAfterRename() {
|
||||
if (myBeforeRevert != null) {
|
||||
myEditor.getCaretModel().moveToOffset(myBeforeRevert.getEndOffset());
|
||||
myBeforeRevert.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void collectAdditionalElementsToRename(List<Pair<PsiElement, TextRange>> stringUsages) {
|
||||
//do not highlight non-code usages in file
|
||||
|
||||
Reference in New Issue
Block a user