From 1a7e872a9307ccb192f53974da68c2d1cbfce256 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Tue, 7 Sep 2010 12:25:15 +0000 Subject: [PATCH] Follow-up fix for bug 323971 - don't remove whitespace inside string --- .../cdt/internal/ui/editor/CDocumentProvider.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java index d5be2d9827c..ecb595cba81 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java @@ -38,6 +38,7 @@ import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.IDocumentExtension3; import org.eclipse.jface.text.ILineTracker; import org.eclipse.jface.text.IRegion; +import org.eclipse.jface.text.ITypedRegion; import org.eclipse.jface.text.Position; import org.eclipse.jface.text.Region; import org.eclipse.jface.text.TextUtilities; @@ -1109,11 +1110,15 @@ public class CDocumentProvider extends TextFileDocumentProvider { charPos++; if (charPos < lineEnd) { - lastWhitespaceEdit= new DeleteEdit(charPos, lineEnd - charPos); - if (rootEdit == null) { - rootEdit = new MultiTextEdit(); + // check partition - don't remove whitespace inside strings + ITypedRegion partition = TextUtilities.getPartition(document, ICPartitions.C_PARTITIONING, charPos, false); + if (!ICPartitions.C_STRING.equals(partition.getType())) { + lastWhitespaceEdit= new DeleteEdit(charPos, lineEnd - charPos); + if (rootEdit == null) { + rootEdit = new MultiTextEdit(); + } + rootEdit.addChild(lastWhitespaceEdit); } - rootEdit.addChild(lastWhitespaceEdit); } } }