From 404e31b20ad7269b39ae7d1039cfea3af138c1ee Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Mon, 3 May 2010 05:48:29 +0000 Subject: [PATCH] Sort Lines command. --- .../cdt/internal/ui/editor/SortLinesAction.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SortLinesAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SortLinesAction.java index db12b664fd4..2a1ffd0c651 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SortLinesAction.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SortLinesAction.java @@ -78,8 +78,6 @@ public final class SortLinesAction extends TextEditorAction { CodeFormatterUtil.getTabWidth(cProject)); if (elements.length <= 1) return; - if (!validateEditorInputState()) - return; Arrays.sort(elements); StringBuilder buf = new StringBuilder(); @@ -89,7 +87,13 @@ public final class SortLinesAction extends TextEditorAction { buf.append(TextUtilities.getDefaultLineDelimiter(document)); } } - ReplaceEdit edit = new ReplaceEdit(block.getOffset(), block.getLength(), buf.toString()); + String replacement = buf.toString(); + if (replacement.equals(document.get(block.getOffset(), block.getLength()))) + return; + if (!validateEditorInputState()) + return; + + ReplaceEdit edit = new ReplaceEdit(block.getOffset(), block.getLength(), replacement); IDocumentUndoManager manager= DocumentUndoManagerRegistry.getDocumentUndoManager(document); manager.beginCompoundChange(); edit.apply(document);