mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-23 00:45:28 +02:00
Atomic undo of save actions.
This commit is contained in:
parent
80abc8bf47
commit
ed7fb8c287
1 changed files with 5 additions and 0 deletions
|
@ -55,6 +55,8 @@ import org.eclipse.text.edits.InsertEdit;
|
||||||
import org.eclipse.text.edits.MalformedTreeException;
|
import org.eclipse.text.edits.MalformedTreeException;
|
||||||
import org.eclipse.text.edits.MultiTextEdit;
|
import org.eclipse.text.edits.MultiTextEdit;
|
||||||
import org.eclipse.text.edits.TextEdit;
|
import org.eclipse.text.edits.TextEdit;
|
||||||
|
import org.eclipse.text.undo.DocumentUndoManagerRegistry;
|
||||||
|
import org.eclipse.text.undo.IDocumentUndoManager;
|
||||||
import org.eclipse.ui.IEditorInput;
|
import org.eclipse.ui.IEditorInput;
|
||||||
import org.eclipse.ui.IFileEditorInput;
|
import org.eclipse.ui.IFileEditorInput;
|
||||||
import org.eclipse.ui.editors.text.ForwardingDocumentProvider;
|
import org.eclipse.ui.editors.text.ForwardingDocumentProvider;
|
||||||
|
@ -1048,7 +1050,10 @@ public class CDocumentProvider extends TextFileDocumentProvider {
|
||||||
TextEdit edit = createSaveActionEdit(document, changedRegions);
|
TextEdit edit = createSaveActionEdit(document, changedRegions);
|
||||||
if (edit != null) {
|
if (edit != null) {
|
||||||
try {
|
try {
|
||||||
|
IDocumentUndoManager manager= DocumentUndoManagerRegistry.getDocumentUndoManager(document);
|
||||||
|
manager.beginCompoundChange();
|
||||||
edit.apply(document);
|
edit.apply(document);
|
||||||
|
manager.endCompoundChange();
|
||||||
} catch (MalformedTreeException e) {
|
} catch (MalformedTreeException e) {
|
||||||
String message= e.getMessage();
|
String message= e.getMessage();
|
||||||
if (message == null)
|
if (message == null)
|
||||||
|
|
Loading…
Add table
Reference in a new issue