mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-23 02:19:09 +02:00
IDE: codetools word beautifier: clean up
git-svn-id: trunk@34634 -
This commit is contained in:
parent
18106c64f2
commit
e62d7530b7
@ -92,13 +92,13 @@ const
|
|||||||
DefaultUsesInsertPolicy = uipBehindRelated;
|
DefaultUsesInsertPolicy = uipBehindRelated;
|
||||||
|
|
||||||
type
|
type
|
||||||
TWordException = class
|
TWordPolicyException = class
|
||||||
Word: string;
|
Word: string;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TWordExceptions }
|
{ TWordPolicyExceptions }
|
||||||
|
|
||||||
TWordExceptions = class
|
TWordPolicyExceptions = class
|
||||||
private
|
private
|
||||||
FWords: TAVLTree;
|
FWords: TAVLTree;
|
||||||
public
|
public
|
||||||
@ -133,7 +133,7 @@ type
|
|||||||
TabWidth: integer;
|
TabWidth: integer;
|
||||||
KeyWordPolicy: TWordPolicy;
|
KeyWordPolicy: TWordPolicy;
|
||||||
IdentifierPolicy: TWordPolicy;
|
IdentifierPolicy: TWordPolicy;
|
||||||
WordExceptions: TWordExceptions;
|
WordExceptions: TWordPolicyExceptions;
|
||||||
DoNotSplitLineInFront: TAtomTypes;
|
DoNotSplitLineInFront: TAtomTypes;
|
||||||
DoNotSplitLineAfter: TAtomTypes;
|
DoNotSplitLineAfter: TAtomTypes;
|
||||||
DoInsertSpaceInFront: TAtomTypes;
|
DoInsertSpaceInFront: TAtomTypes;
|
||||||
@ -160,7 +160,7 @@ type
|
|||||||
|
|
||||||
NestedComments: boolean;
|
NestedComments: boolean;
|
||||||
|
|
||||||
procedure SetupWordExceptions(ws: TStrings);
|
procedure SetupWordPolicyExceptions(ws: TStrings);
|
||||||
function BeautifyProc(const AProcCode: string; IndentSize: integer;
|
function BeautifyProc(const AProcCode: string; IndentSize: integer;
|
||||||
AddBeginEnd: boolean): string;
|
AddBeginEnd: boolean): string;
|
||||||
function BeautifyStatement(const AStatement: string; IndentSize: integer
|
function BeautifyStatement(const AStatement: string; IndentSize: integer
|
||||||
@ -448,23 +448,23 @@ end;
|
|||||||
function CompareWordExceptions(p1, p2: Pointer): Integer;
|
function CompareWordExceptions(p1, p2: Pointer): Integer;
|
||||||
var w1, w2: string;
|
var w1, w2: string;
|
||||||
begin
|
begin
|
||||||
w1 := TWordException(p1).Word;
|
w1 := TWordPolicyException(p1).Word;
|
||||||
w2 := TWordException(p2).Word;
|
w2 := TWordPolicyException(p2).Word;
|
||||||
Result := CompareIdentifiers(PChar(w1), PChar(w2));
|
Result := CompareIdentifiers(PChar(w1), PChar(w2));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function CompareKeyWordExceptions(Item1, Item2: Pointer): Integer;
|
function CompareKeyWordExceptions(Item1, Item2: Pointer): Integer;
|
||||||
begin
|
begin
|
||||||
Result := CompareIdentifiers(PChar(Item1), PChar(TWordException(Item2).Word));
|
Result := CompareIdentifiers(PChar(Item1), PChar(TWordPolicyException(Item2).Word));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TWordExceptions }
|
{ TWordPolicyExceptions }
|
||||||
|
|
||||||
constructor TWordExceptions.Create(AWords: TStrings);
|
constructor TWordPolicyExceptions.Create(AWords: TStrings);
|
||||||
var
|
var
|
||||||
i, j: Integer;
|
i, j: Integer;
|
||||||
s1, s2: string;
|
s1, s2: string;
|
||||||
we: TWordException;
|
we: TWordPolicyException;
|
||||||
begin
|
begin
|
||||||
FWords := TAVLTree.Create(@CompareWordExceptions);
|
FWords := TAVLTree.Create(@CompareWordExceptions);
|
||||||
for i := 0 to AWords.Count - 1 do
|
for i := 0 to AWords.Count - 1 do
|
||||||
@ -481,7 +481,7 @@ begin
|
|||||||
Delete(s1, 1, Pos(' ', s1));
|
Delete(s1, 1, Pos(' ', s1));
|
||||||
if s2 <> '' then
|
if s2 <> '' then
|
||||||
begin
|
begin
|
||||||
we := TWordException.Create;
|
we := TWordPolicyException.Create;
|
||||||
we.Word := s2;
|
we.Word := s2;
|
||||||
FWords.Add(we);
|
FWords.Add(we);
|
||||||
end;
|
end;
|
||||||
@ -489,19 +489,19 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TWordExceptions.Destroy;
|
destructor TWordPolicyExceptions.Destroy;
|
||||||
begin
|
begin
|
||||||
FWords.FreeAndClear;
|
FWords.FreeAndClear;
|
||||||
FWords.Free;
|
FWords.Free;
|
||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TWordExceptions.CheckExceptions(var AWord: string): Boolean;
|
function TWordPolicyExceptions.CheckExceptions(var AWord: string): Boolean;
|
||||||
var n: TAVLTreeNode;
|
var n: TAVLTreeNode;
|
||||||
begin
|
begin
|
||||||
n := FWords.FindKey(PChar(AWord), @CompareKeyWordExceptions);
|
n := FWords.FindKey(PChar(AWord), @CompareKeyWordExceptions);
|
||||||
Result := Assigned(n);
|
Result := Assigned(n);
|
||||||
if Result then AWord := TWordException(n.Data).Word;
|
if Result then AWord := TWordPolicyException(n.Data).Word;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TSourceChangeCacheEntry }
|
{ TSourceChangeCacheEntry }
|
||||||
@ -1593,10 +1593,10 @@ begin
|
|||||||
Result:=false;
|
Result:=false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TBeautifyCodeOptions.SetupWordExceptions(ws: TStrings);
|
procedure TBeautifyCodeOptions.SetupWordPolicyExceptions(ws: TStrings);
|
||||||
begin
|
begin
|
||||||
if Assigned(WordExceptions) then WordExceptions.Free;
|
if Assigned(WordExceptions) then WordExceptions.Free;
|
||||||
WordExceptions := TWordExceptions.Create(ws);
|
WordExceptions := TWordPolicyExceptions.Create(ws);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TBeautifyCodeOptions.BeautifyProc(const AProcCode: string;
|
function TBeautifyCodeOptions.BeautifyProc(const AProcCode: string;
|
||||||
|
@ -80,7 +80,7 @@ type
|
|||||||
FMethodInsertPolicy: TMethodInsertPolicy;
|
FMethodInsertPolicy: TMethodInsertPolicy;
|
||||||
FKeyWordPolicy : TWordPolicy;
|
FKeyWordPolicy : TWordPolicy;
|
||||||
FIdentifierPolicy: TWordPolicy;
|
FIdentifierPolicy: TWordPolicy;
|
||||||
FWordExceptions: TStringList;
|
FWordPolicyExceptions: TStringList;
|
||||||
FDoNotSplitLineInFront: TAtomTypes;
|
FDoNotSplitLineInFront: TAtomTypes;
|
||||||
FDoNotSplitLineAfter: TAtomTypes;
|
FDoNotSplitLineAfter: TAtomTypes;
|
||||||
FDoInsertSpaceInFront: TAtomTypes;
|
FDoInsertSpaceInFront: TAtomTypes;
|
||||||
@ -167,8 +167,8 @@ type
|
|||||||
read FKeyWordPolicy write FKeyWordPolicy;
|
read FKeyWordPolicy write FKeyWordPolicy;
|
||||||
property IdentifierPolicy: TWordPolicy
|
property IdentifierPolicy: TWordPolicy
|
||||||
read FIdentifierPolicy write FIdentifierPolicy;
|
read FIdentifierPolicy write FIdentifierPolicy;
|
||||||
property WordExceptions: TStringList
|
property WordPolicyExceptions: TStringList
|
||||||
read FWordExceptions write FWordExceptions;
|
read FWordPolicyExceptions write FWordPolicyExceptions;
|
||||||
property DoNotSplitLineInFront: TAtomTypes
|
property DoNotSplitLineInFront: TAtomTypes
|
||||||
read FDoNotSplitLineInFront write FDoNotSplitLineInFront;
|
read FDoNotSplitLineInFront write FDoNotSplitLineInFront;
|
||||||
property DoNotSplitLineAfter: TAtomTypes
|
property DoNotSplitLineAfter: TAtomTypes
|
||||||
@ -307,14 +307,14 @@ constructor TCodeToolsOptions.Create;
|
|||||||
begin
|
begin
|
||||||
inherited Create;
|
inherited Create;
|
||||||
FFilename:='';
|
FFilename:='';
|
||||||
FWordExceptions := TStringList.Create;
|
FWordPolicyExceptions := TStringList.Create;
|
||||||
Clear;
|
Clear;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TCodeToolsOptions.Destroy;
|
destructor TCodeToolsOptions.Destroy;
|
||||||
begin
|
begin
|
||||||
ClearGlobalDefineTemplates;
|
ClearGlobalDefineTemplates;
|
||||||
FWordExceptions.Free;
|
FWordPolicyExceptions.Free;
|
||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -417,8 +417,8 @@ begin
|
|||||||
FIdentifierPolicy:=WordPolicyNameToPolicy(XMLConfig.GetValue(
|
FIdentifierPolicy:=WordPolicyNameToPolicy(XMLConfig.GetValue(
|
||||||
'CodeToolsOptions/IdentifierPolicy/Value',
|
'CodeToolsOptions/IdentifierPolicy/Value',
|
||||||
WordPolicyNames[wpNone]));
|
WordPolicyNames[wpNone]));
|
||||||
WordExceptions.Text:=LineBreaksToSystemLineBreaks(XMLConfig.GetValue(
|
WordPolicyExceptions.Text:=LineBreaksToSystemLineBreaks(XMLConfig.GetValue(
|
||||||
'CodeToolsOptions/WordExceptions/Value', ''));
|
'CodeToolsOptions/WordPolicyExceptions/Value', ''));
|
||||||
FDoNotSplitLineInFront:=ReadAtomTypesFromXML(XMLConfig,
|
FDoNotSplitLineInFront:=ReadAtomTypesFromXML(XMLConfig,
|
||||||
'CodeToolsOptions/DoNotSplitLineInFront/',DefaultDoNotSplitLineInFront);
|
'CodeToolsOptions/DoNotSplitLineInFront/',DefaultDoNotSplitLineInFront);
|
||||||
FDoNotSplitLineAfter:=ReadAtomTypesFromXML(XMLConfig,
|
FDoNotSplitLineAfter:=ReadAtomTypesFromXML(XMLConfig,
|
||||||
@ -545,9 +545,8 @@ begin
|
|||||||
XMLConfig.SetDeleteValue('CodeToolsOptions/IdentifierPolicy/Value',
|
XMLConfig.SetDeleteValue('CodeToolsOptions/IdentifierPolicy/Value',
|
||||||
WordPolicyNames[FIdentifierPolicy],
|
WordPolicyNames[FIdentifierPolicy],
|
||||||
WordPolicyNames[wpNone]);
|
WordPolicyNames[wpNone]);
|
||||||
XMLConfig.SetDeleteValue('CodeToolsOptions/WordExceptions/Value',
|
XMLConfig.SetDeleteValue('CodeToolsOptions/WordPolicyExceptions/Value',
|
||||||
LineBreaksToSystemLineBreaks(WordExceptions.Text),
|
Trim(LineBreaksToSystemLineBreaks(WordPolicyExceptions.Text)),'');
|
||||||
'');
|
|
||||||
WriteAtomTypesToXML(XMLConfig,'CodeToolsOptions/DoNotSplitLineInFront/',
|
WriteAtomTypesToXML(XMLConfig,'CodeToolsOptions/DoNotSplitLineInFront/',
|
||||||
FDoNotSplitLineInFront,DefaultDoNotSplitLineInFront);
|
FDoNotSplitLineInFront,DefaultDoNotSplitLineInFront);
|
||||||
WriteAtomTypesToXML(XMLConfig,'CodeToolsOptions/DoNotSplitLineAfter/',
|
WriteAtomTypesToXML(XMLConfig,'CodeToolsOptions/DoNotSplitLineAfter/',
|
||||||
@ -876,7 +875,7 @@ begin
|
|||||||
BeautifyCodeOptions.MethodInsertPolicy:=MethodInsertPolicy;
|
BeautifyCodeOptions.MethodInsertPolicy:=MethodInsertPolicy;
|
||||||
BeautifyCodeOptions.KeyWordPolicy:=KeyWordPolicy;
|
BeautifyCodeOptions.KeyWordPolicy:=KeyWordPolicy;
|
||||||
BeautifyCodeOptions.IdentifierPolicy:=IdentifierPolicy;
|
BeautifyCodeOptions.IdentifierPolicy:=IdentifierPolicy;
|
||||||
BeautifyCodeOptions.SetupWordExceptions(WordExceptions);
|
BeautifyCodeOptions.SetupWordPolicyExceptions(WordPolicyExceptions);
|
||||||
BeautifyCodeOptions.DoNotSplitLineInFront:=DoNotSplitLineInFront;
|
BeautifyCodeOptions.DoNotSplitLineInFront:=DoNotSplitLineInFront;
|
||||||
BeautifyCodeOptions.DoNotSplitLineAfter:=DoNotSplitLineAfter;
|
BeautifyCodeOptions.DoNotSplitLineAfter:=DoNotSplitLineAfter;
|
||||||
BeautifyCodeOptions.DoInsertSpaceInFront:=DoInsertSpaceInFront;
|
BeautifyCodeOptions.DoInsertSpaceInFront:=DoInsertSpaceInFront;
|
||||||
|
@ -115,7 +115,7 @@ begin
|
|||||||
// wpNone
|
// wpNone
|
||||||
IdentifierPolicyRadioGroup.ItemIndex:=0;
|
IdentifierPolicyRadioGroup.ItemIndex:=0;
|
||||||
end;
|
end;
|
||||||
WordExceptionsMemo.Lines.Assign(WordExceptions);
|
WordExceptionsMemo.Lines.Assign(WordPolicyExceptions);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ begin
|
|||||||
2: IdentifierPolicy:=wpUpperCase;
|
2: IdentifierPolicy:=wpUpperCase;
|
||||||
3: IdentifierPolicy:=wpLowerCaseFirstLetterUp;
|
3: IdentifierPolicy:=wpLowerCaseFirstLetterUp;
|
||||||
end;
|
end;
|
||||||
WordExceptions.Assign(WordExceptionsMemo.Lines);
|
WordPolicyExceptions.Assign(WordExceptionsMemo.Lines);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user