From 6efcc23361a1e2c7fafa781801880a4dc1eadcf7 Mon Sep 17 00:00:00 2001 From: Alexandr Evstigneev Date: Fri, 17 Mar 2017 16:09:12 +0300 Subject: [PATCH] adjusted shiftIndentInside method to avoid appending whitespaces after tailing newline --- .../psi/formatter/DocumentBasedFormattingModel.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/psi/formatter/DocumentBasedFormattingModel.java b/platform/lang-impl/src/com/intellij/psi/formatter/DocumentBasedFormattingModel.java index 2fa65d513eeb..87eb1f063156 100644 --- a/platform/lang-impl/src/com/intellij/psi/formatter/DocumentBasedFormattingModel.java +++ b/platform/lang-impl/src/com/intellij/psi/formatter/DocumentBasedFormattingModel.java @@ -16,11 +16,7 @@ package com.intellij.psi.formatter; -import com.intellij.formatting.Block; -import com.intellij.formatting.FormattingDocumentModel; -import com.intellij.formatting.FormattingModel; -import com.intellij.formatting.FormattingModelEx; -import com.intellij.formatting.FormattingModelWithShiftIndentInsideDocumentRange; +import com.intellij.formatting.*; import com.intellij.lang.ASTNode; import com.intellij.openapi.editor.Document; import com.intellij.openapi.fileTypes.FileType; @@ -237,10 +233,10 @@ public class DocumentBasedFormattingModel implements FormattingModelEx { afterWhiteSpace.append(c); } } - if (line > 0) { + if (line > 0 && afterWhiteSpace.length() > 0 ) { createWhiteSpace(whiteSpaceLength + shift, buffer); + buffer.append(afterWhiteSpace.toString()); } - buffer.append(afterWhiteSpace.toString()); myDocument.replaceString(elementRange.getStartOffset(), elementRange.getEndOffset(), buffer.toString()); return buffer.length(); }