From 063dd74efc0ffe43a7b1ecbc9bd91d00dc8c5217 Mon Sep 17 00:00:00 2001 From: martin Date: Mon, 22 Jun 2009 01:43:25 +0000 Subject: [PATCH] SynEdit, beautifier: fixed in indent, in cases where newline was inserted at pos 1 git-svn-id: trunk@20700 - --- components/synedit/synbeautifier.pas | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/components/synedit/synbeautifier.pas b/components/synedit/synbeautifier.pas index 2eddc948d5..2168b5810d 100644 --- a/components/synedit/synbeautifier.pas +++ b/components/synedit/synbeautifier.pas @@ -248,11 +248,18 @@ begin else y := ACaret.LinePos + 1; - Indent := GetIntend(y, b); - s := GetCharMix(y, Indent, '', b); - if (FIndentType = sbitPositionCaret) and (FCurrentLines[y] = '') then - s := ''; - FCurrentLines.EditInsert(1, y, s); + if (Command = ecLineBreak) and + (FCurrentLines[y-2] = '') and (FCurrentLines[y-1] <> '') + then + Indent := 0 + else + Indent := GetIntend(y, b); + if Indent > 0 then begin + s := GetCharMix(y, Indent, '', b); + if (FIndentType = sbitPositionCaret) and (FCurrentLines[y-1] = '') then + s := ''; + FCurrentLines.EditInsert(1, y, s); + end; if (Command = ecLineBreak) then begin ACaret.IncForcePastEOL;