From 3dd8de39eb62cb738c319d70899f84cde958f2bd Mon Sep 17 00:00:00 2001 From: juha Date: Sun, 30 Nov 2014 10:58:07 +0000 Subject: [PATCH] IDE: Handle Caret (^) separately from symbols (CodeBeautifier): Issue #22514, patch from Anton. git-svn-id: trunk@47037 - --- components/codetools/sourcechanger.pas | 6 ++++-- ide/codetoolsoptions.pas | 1 + ide/frames/codetools_space_options.pas | 3 ++- ide/lazarusidestrconsts.pas | 1 + 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/components/codetools/sourcechanger.pas b/components/codetools/sourcechanger.pas index 75265daea3..25142df92e 100644 --- a/components/codetools/sourcechanger.pas +++ b/components/codetools/sourcechanger.pas @@ -78,7 +78,7 @@ type TAtomType = (atNone, atKeyword, atIdentifier, atColon, atSemicolon, atComma, atPoint, atAt, atNumber, atStringConstant, atNewLine, atSpace, atCommentStart, atDirectiveStart, atCommentEnd, - atSymbol, atBracket); + atSymbol, atBracket, atCaret); TAtomTypes = set of TAtomType; TBeautifyCodeFlag = ( @@ -312,7 +312,8 @@ const 'DirectiveStart', 'CommentEnd', 'Symbol', - 'Bracket' + 'Bracket', + 'Caret' ); WordPolicyNames: array[TWordPolicy] of shortstring = ( @@ -1594,6 +1595,7 @@ begin ':': CurAtomType:=atColon; ';': CurAtomType:=atSemicolon; '@': CurAtomType:=atAt; + '^': CurAtomType:=atCaret; end; end; end; diff --git a/ide/codetoolsoptions.pas b/ide/codetoolsoptions.pas index e758383ee2..007128db06 100644 --- a/ide/codetoolsoptions.pas +++ b/ide/codetoolsoptions.pas @@ -272,6 +272,7 @@ begin atSpace: Result:=lisCodeToolsOptsSpace; atSymbol: Result:=lisCodeToolsOptsSymbol; atBracket: Result:=lisCodeToolsOptsBracket; + atCaret: Result:=lisCodeToolsOptsCaret; else Result:='???'; end; diff --git a/ide/frames/codetools_space_options.pas b/ide/frames/codetools_space_options.pas index f40b63e684..3c7d671b13 100644 --- a/ide/frames/codetools_space_options.pas +++ b/ide/frames/codetools_space_options.pas @@ -79,6 +79,7 @@ const 'const i=1+2+3;'#13 + 'begin'#13 + ' A:=@B.C;D:=3;E:=X[5];'#13 + + ' PRec^.F:=PArr^[5];'#13 + ' {$I unit1.lrs}'#13 + ' {$R-}{$R+}'#13 + ' // ąčęęėįšųūž'#13+ @@ -147,7 +148,7 @@ procedure TCodetoolsSpaceOptionsFrame.Setup( const DoInsertSpaceAtoms = [ atKeyword, atIdentifier, atColon, atSemicolon, atComma, - atPoint, atAt, atNumber, atStringConstant, atSymbol, atBracket]; + atPoint, atAt, atNumber, atStringConstant, atSymbol, atBracket, atCaret]; begin with DoInsertSpaceInFrontGroupBox do begin Caption:=dlgInsSpaceFront; diff --git a/ide/lazarusidestrconsts.pas b/ide/lazarusidestrconsts.pas index 895e8e9332..490d0b8530 100644 --- a/ide/lazarusidestrconsts.pas +++ b/ide/lazarusidestrconsts.pas @@ -3298,6 +3298,7 @@ resourcestring lisCodeToolsOptsSpace = 'Space'; lisCodeToolsOptsSymbol = 'Symbol'; lisCodeToolsOptsBracket = 'Bracket'; + lisCodeToolsOptsCaret = 'Caret (^)'; // codetools defines lisCodeToolsDefsWriteError = 'Write error';