mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-22 18:39:25 +02:00
SynEdit, pas-HL: clean up (remove workaround foldgroup=4)
git-svn-id: trunk@37892 -
This commit is contained in:
parent
37ea4a51d6
commit
3414a1253c
@ -245,7 +245,7 @@ type
|
|||||||
FNode: TSynTextFoldAVLNode; // AvlFoldNode
|
FNode: TSynTextFoldAVLNode; // AvlFoldNode
|
||||||
Text, Keyword: String;
|
Text, Keyword: String;
|
||||||
LineNum, ColIndex: Integer;
|
LineNum, ColIndex: Integer;
|
||||||
OpenCount: Integer;
|
OpenCount: Integer; // Highlighter-Nodes opening on this line (limited to the FoldGroup requested)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TSynEditFoldLineCapability = (
|
TSynEditFoldLineCapability = (
|
||||||
|
@ -155,12 +155,14 @@ type
|
|||||||
procedure DoFilter(MinIndex: Integer = -1);
|
procedure DoFilter(MinIndex: Integer = -1);
|
||||||
procedure SetLine(ALine: TLineIdx);
|
procedure SetLine(ALine: TLineIdx);
|
||||||
procedure SetLineClean(ALine: TLineIdx);
|
procedure SetLineClean(ALine: TLineIdx);
|
||||||
|
property HighLighter: TSynCustomFoldHighlighter read FHighLighter write FHighLighter;
|
||||||
|
public
|
||||||
|
// used by HighLighters to add data
|
||||||
procedure Add(const AnInfo: TSynFoldNodeInfo);
|
procedure Add(const AnInfo: TSynFoldNodeInfo);
|
||||||
procedure Delete(AnIndex: Integer = -1);
|
procedure Delete(AnIndex: Integer = -1);
|
||||||
function CountAll: Integer;
|
function CountAll: Integer;
|
||||||
property ItemPointer[AnIndex: Integer]: PSynFoldNodeInfo read GetItemPointer;
|
property ItemPointer[AnIndex: Integer]: PSynFoldNodeInfo read GetItemPointer;
|
||||||
property LastItemPointer: PSynFoldNodeInfo read GetLastItemPointer;
|
property LastItemPointer: PSynFoldNodeInfo read GetLastItemPointer;
|
||||||
property HighLighter: TSynCustomFoldHighlighter read FHighLighter write FHighLighter;
|
|
||||||
protected
|
protected
|
||||||
function DefaultGroup: Integer; virtual;
|
function DefaultGroup: Integer; virtual;
|
||||||
function MinCapacity: Integer; virtual;
|
function MinCapacity: Integer; virtual;
|
||||||
@ -651,7 +653,8 @@ end;
|
|||||||
function TLazSynFoldNodeInfoList.Match(const AnInfo: TSynFoldNodeInfo;
|
function TLazSynFoldNodeInfoList.Match(const AnInfo: TSynFoldNodeInfo;
|
||||||
AnActionFilter: TSynFoldActions; AGroupFilter: Integer): Boolean;
|
AnActionFilter: TSynFoldActions; AGroupFilter: Integer): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := (AnActionFilter = []) and (AGroupFilter = DefaultGroup);
|
Result := (AnInfo.FoldAction * AnActionFilter = AnActionFilter) and
|
||||||
|
( (AGroupFilter = 0) or (AnInfo.FoldGroup = AGroupFilter) );
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TLazSynFoldNodeInfoList.DefaultGroup: Integer;
|
function TLazSynFoldNodeInfoList.DefaultGroup: Integer;
|
||||||
|
@ -279,14 +279,6 @@ type
|
|||||||
// DecLastLineCodeFoldLevelFix <> DecLastLinePasFoldFix
|
// DecLastLineCodeFoldLevelFix <> DecLastLinePasFoldFix
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TLazSynPasFoldNodeInfoList }
|
|
||||||
|
|
||||||
TLazSynPasFoldNodeInfoList = class(TLazSynFoldNodeInfoList)
|
|
||||||
protected
|
|
||||||
function Match(const AnInfo: TSynFoldNodeInfo;
|
|
||||||
AnActionFilter: TSynFoldActions; AGroupFilter: Integer = 0): Boolean; override;
|
|
||||||
end;
|
|
||||||
|
|
||||||
TProcTableProc = procedure of object;
|
TProcTableProc = procedure of object;
|
||||||
|
|
||||||
PIdentFuncTableFunc = ^TIdentFuncTableFunc;
|
PIdentFuncTableFunc = ^TIdentFuncTableFunc;
|
||||||
@ -333,7 +325,7 @@ type
|
|||||||
FCompilerMode: TPascalCompilerMode;
|
FCompilerMode: TPascalCompilerMode;
|
||||||
fD4syntax: boolean;
|
fD4syntax: boolean;
|
||||||
FCatchNodeInfo: Boolean;
|
FCatchNodeInfo: Boolean;
|
||||||
FCatchNodeInfoList: TLazSynPasFoldNodeInfoList;
|
FCatchNodeInfoList: TLazSynFoldNodeInfoList;
|
||||||
// Divider
|
// Divider
|
||||||
FDividerDrawConfig: Array [TSynPasDividerDrawLocation] of TSynDividerDrawConfig;
|
FDividerDrawConfig: Array [TSynPasDividerDrawLocation] of TSynDividerDrawConfig;
|
||||||
|
|
||||||
@ -502,7 +494,8 @@ type
|
|||||||
procedure InitFoldNodeInfo(AList: TLazSynFoldNodeInfoList; Line: TLineIdx); override;
|
procedure InitFoldNodeInfo(AList: TLazSynFoldNodeInfoList; Line: TLineIdx); override;
|
||||||
|
|
||||||
protected
|
protected
|
||||||
function LastLinePasFoldLevelFix(Index: Integer; AType: Integer = 1): integer; // TODO deprecated; // foldable nodes
|
function LastLinePasFoldLevelFix(Index: Integer; AType: Integer = 1;
|
||||||
|
AIncludeDisabled: Boolean = False): integer; // TODO deprecated; // foldable nodes
|
||||||
|
|
||||||
// Divider
|
// Divider
|
||||||
function GetDrawDivider(Index: integer): TSynDividerDrawConfigSetting; override;
|
function GetDrawDivider(Index: integer): TSynDividerDrawConfigSetting; override;
|
||||||
@ -673,18 +666,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TLazSynPasFoldNodeInfoList }
|
|
||||||
|
|
||||||
function TLazSynPasFoldNodeInfoList.Match(const AnInfo: TSynFoldNodeInfo;
|
|
||||||
AnActionFilter: TSynFoldActions; AGroupFilter: Integer): Boolean;
|
|
||||||
begin
|
|
||||||
Result := (AnInfo.FoldAction * AnActionFilter = AnActionFilter) and
|
|
||||||
( (AGroupFilter = 0) or
|
|
||||||
( (AGroupFilter in [1..3]) and (AnInfo.FoldGroup = AGroupFilter) ) or
|
|
||||||
( (AGroupFilter = 4) and (AnInfo.FoldGroup in [1,4]) )
|
|
||||||
);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TSynPasSyn.InitIdent;
|
procedure TSynPasSyn.InitIdent;
|
||||||
var
|
var
|
||||||
I: Integer;
|
I: Integer;
|
||||||
@ -3384,30 +3365,26 @@ begin
|
|||||||
dec(Result);
|
dec(Result);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynPasSyn.LastLinePasFoldLevelFix(Index: Integer; AType: Integer = 1): integer;
|
function TSynPasSyn.LastLinePasFoldLevelFix(Index: Integer; AType: Integer;
|
||||||
|
AIncludeDisabled: Boolean): integer;
|
||||||
var
|
var
|
||||||
r: TSynPasSynRange;
|
r: TSynPasSynRange;
|
||||||
begin
|
begin
|
||||||
|
// AIncludeDisabled only works for Pascal Nodes
|
||||||
case AType of
|
case AType of
|
||||||
2: Result := 0;
|
2: Result := 0;
|
||||||
3: Result := 0;
|
3: Result := 0;
|
||||||
4: // all pascal nodes (incl. not folded)
|
|
||||||
begin
|
|
||||||
if (Index < 0) or (Index >= CurrentLines.Count) then
|
|
||||||
exit(0);
|
|
||||||
r := TSynPasSynRange(CurrentRanges[Index]);
|
|
||||||
if (r <> nil) and (Pointer(r) <> NullRange) then
|
|
||||||
Result := r.LastLineCodeFoldLevelFix
|
|
||||||
else
|
|
||||||
Result := 0;
|
|
||||||
end;
|
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
if (Index < 0) or (Index >= CurrentLines.Count) then
|
if (Index < 0) or (Index >= CurrentLines.Count) then
|
||||||
exit(0);
|
exit(0);
|
||||||
r := TSynPasSynRange(CurrentRanges[Index]);
|
r := TSynPasSynRange(CurrentRanges[Index]);
|
||||||
if (r <> nil) and (Pointer(r) <> NullRange) then
|
if (r <> nil) and (Pointer(r) <> NullRange) then begin
|
||||||
Result := r.PasFoldFixLevel
|
if AIncludeDisabled then
|
||||||
|
Result := r.LastLineCodeFoldLevelFix // all pascal nodes (incl. not folded)
|
||||||
|
else
|
||||||
|
Result := r.PasFoldFixLevel
|
||||||
|
end
|
||||||
else
|
else
|
||||||
Result := 0;
|
Result := 0;
|
||||||
end;
|
end;
|
||||||
@ -3542,7 +3519,7 @@ end;
|
|||||||
|
|
||||||
function TSynPasSyn.CreateFoldNodeInfoList: TLazSynFoldNodeInfoList;
|
function TSynPasSyn.CreateFoldNodeInfoList: TLazSynFoldNodeInfoList;
|
||||||
begin
|
begin
|
||||||
Result := TLazSynPasFoldNodeInfoList.Create;
|
Result := TLazSynFoldNodeInfoList.Create;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSynPasSyn.InitFoldNodeInfo(AList: TLazSynFoldNodeInfoList; Line: TLineIdx);
|
procedure TSynPasSyn.InitFoldNodeInfo(AList: TLazSynFoldNodeInfoList; Line: TLineIdx);
|
||||||
@ -3551,14 +3528,14 @@ var
|
|||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
FCatchNodeInfo := True;
|
FCatchNodeInfo := True;
|
||||||
FCatchNodeInfoList := TLazSynPasFoldNodeInfoList(AList);
|
FCatchNodeInfoList := TLazSynFoldNodeInfoList(AList);
|
||||||
|
|
||||||
StartAtLineIndex(Line);
|
StartAtLineIndex(Line);
|
||||||
fStringLen := 0;
|
fStringLen := 0;
|
||||||
NextToEol;
|
NextToEol;
|
||||||
|
|
||||||
fStringLen := 0;
|
fStringLen := 0;
|
||||||
i := LastLinePasFoldLevelFix(Line+1, 4);
|
i := LastLinePasFoldLevelFix(Line+1, FOLDGROUP_PASCAL, True); // all pascal nodes (incl. not folded)
|
||||||
while i < 0 do begin
|
while i < 0 do begin
|
||||||
EndPascalCodeFoldBlock;
|
EndPascalCodeFoldBlock;
|
||||||
inc(i);
|
inc(i);
|
||||||
@ -3737,10 +3714,10 @@ begin
|
|||||||
// SetRange[Index] has the folds at the start of this line
|
// SetRange[Index] has the folds at the start of this line
|
||||||
// ClosedByNextLine: Folds closed by the next lines LastLineFix
|
// ClosedByNextLine: Folds closed by the next lines LastLineFix
|
||||||
// must be taken from SetRange[Index+1] (end of this line)
|
// must be taken from SetRange[Index+1] (end of this line)
|
||||||
ClosedByNextLine := -LastLinePasFoldLevelFix(Index + 1, 4);
|
ClosedByNextLine := -LastLinePasFoldLevelFix(Index + 1, FOLDGROUP_PASCAL, True);
|
||||||
// ClosedInLastLine: Folds Closed by this lines LastLineFix
|
// ClosedInLastLine: Folds Closed by this lines LastLineFix
|
||||||
// must be ignored. (They are part of SetRange[Index] / this line)
|
// must be ignored. (They are part of SetRange[Index] / this line)
|
||||||
ClosedInLastLine := -LastLinePasFoldLevelFix(Index, 4);
|
ClosedInLastLine := -LastLinePasFoldLevelFix(Index, FOLDGROUP_PASCAL, True);
|
||||||
|
|
||||||
// Get the highest close-offset
|
// Get the highest close-offset
|
||||||
i := ClosedByNextLine - 1;
|
i := ClosedByNextLine - 1;
|
||||||
|
@ -1843,7 +1843,6 @@ begin
|
|||||||
TheList.Line := 2;
|
TheList.Line := 2;
|
||||||
TheList.FoldGroup := 0;
|
TheList.FoldGroup := 0;
|
||||||
TheList.FoldFlags := [];
|
TheList.FoldFlags := [];
|
||||||
TheList.Count; TheList.HLNode[0]; TheList.Debug;
|
|
||||||
AssertEquals(BaseTestName + 'Cnt', 3, TheList.Count);
|
AssertEquals(BaseTestName + 'Cnt', 3, TheList.Count);
|
||||||
CheckNode(TheList.HLNode[2], 2, 0, 0, 5, 2, 3, 2, 3, 1, 0, 1, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
CheckNode(TheList.HLNode[2], 2, 0, 0, 5, 2, 3, 2, 3, 1, 0, 1, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
||||||
CheckNode(TheList.HLNode[1], 1, 0, 0, 9, 1, 2, 1, 2, 3, 3, 1, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
CheckNode(TheList.HLNode[1], 1, 0, 0, 9, 1, 2, 1, 2, 3, 3, 1, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
||||||
@ -2143,7 +2142,6 @@ TheList.Count; TheList.HLNode[0]; TheList.Debug;
|
|||||||
TheList.IncludeOpeningOnLine := True;
|
TheList.IncludeOpeningOnLine := True;
|
||||||
TheList.FoldGroup := 0;
|
TheList.FoldGroup := 0;
|
||||||
TheList.FoldFlags := [];
|
TheList.FoldFlags := [];
|
||||||
TheList.Count; TheList.HLNode[0]; TheList.Debug;
|
|
||||||
AssertEquals(BaseTestName + 'Cnt', 3, TheList.Count);
|
AssertEquals(BaseTestName + 'Cnt', 3, TheList.Count);
|
||||||
CheckNode(TheList.HLNode[2], 4, 0, 14, 20, 0, 1, 0, 1, 18, 18, FOLDGROUP_IFDEF, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
CheckNode(TheList.HLNode[2], 4, 0, 14, 20, 0, 1, 0, 1, 18, 18, FOLDGROUP_IFDEF, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
||||||
CheckNode(TheList.HLNode[1], 3, 0, 1, 7, 0, 1, 0, 1, 18, 18, FOLDGROUP_IFDEF, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
CheckNode(TheList.HLNode[1], 3, 0, 1, 7, 0, 1, 0, 1, 18, 18, FOLDGROUP_IFDEF, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
||||||
@ -2155,7 +2153,6 @@ TheList.Count; TheList.HLNode[0]; TheList.Debug;
|
|||||||
TheList.IncludeOpeningOnLine := False;
|
TheList.IncludeOpeningOnLine := False;
|
||||||
TheList.FoldGroup := 0;
|
TheList.FoldGroup := 0;
|
||||||
TheList.FoldFlags := [];
|
TheList.FoldFlags := [];
|
||||||
TheList.Count; TheList.HLNode[0]; TheList.Debug;
|
|
||||||
AssertEquals(BaseTestName + 'Cnt', 2, TheList.Count);
|
AssertEquals(BaseTestName + 'Cnt', 2, TheList.Count);
|
||||||
CheckNode(TheList.HLNode[1], 3, 0, 1, 7, 0, 1, 0, 1, 18, 18, FOLDGROUP_IFDEF, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
CheckNode(TheList.HLNode[1], 3, 0, 1, 7, 0, 1, 0, 1, 18, 18, FOLDGROUP_IFDEF, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
||||||
CheckNode(TheList.HLNode[0], 0, 0, 0, 7, 0, 1, 0, 1, 10, 10, FOLDGROUP_PASCAL, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
CheckNode(TheList.HLNode[0], 0, 0, 0, 7, 0, 1, 0, 1, 10, 10, FOLDGROUP_PASCAL, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
||||||
@ -2167,7 +2164,6 @@ TheList.Count; TheList.HLNode[0]; TheList.Debug;
|
|||||||
TheList.IncludeOpeningOnLine := True;
|
TheList.IncludeOpeningOnLine := True;
|
||||||
TheList.FoldGroup := FOLDGROUP_IFDEF;
|
TheList.FoldGroup := FOLDGROUP_IFDEF;
|
||||||
TheList.FoldFlags := [];
|
TheList.FoldFlags := [];
|
||||||
TheList.Count; TheList.HLNode[0]; TheList.Debug;
|
|
||||||
AssertEquals(BaseTestName + 'Cnt', 2, TheList.Count);
|
AssertEquals(BaseTestName + 'Cnt', 2, TheList.Count);
|
||||||
CheckNode(TheList.HLNode[1], 4, 0, 14, 20, 0, 1, 0, 1, 18, 18, FOLDGROUP_IFDEF, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
CheckNode(TheList.HLNode[1], 4, 0, 14, 20, 0, 1, 0, 1, 18, 18, FOLDGROUP_IFDEF, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
||||||
CheckNode(TheList.HLNode[0], 3, 0, 1, 7, 0, 1, 0, 1, 18, 18, FOLDGROUP_IFDEF, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
CheckNode(TheList.HLNode[0], 3, 0, 1, 7, 0, 1, 0, 1, 18, 18, FOLDGROUP_IFDEF, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
||||||
@ -2178,7 +2174,7 @@ TheList.Count; TheList.HLNode[0]; TheList.Debug;
|
|||||||
TheList.IncludeOpeningOnLine := False;
|
TheList.IncludeOpeningOnLine := False;
|
||||||
TheList.FoldGroup := FOLDGROUP_IFDEF;
|
TheList.FoldGroup := FOLDGROUP_IFDEF;
|
||||||
TheList.FoldFlags := [];
|
TheList.FoldFlags := [];
|
||||||
TheList.Count; TheList.HLNode[0]; TheList.Debug;
|
//TheList.Count; TheList.HLNode[0]; TheList.Debug;
|
||||||
AssertEquals(BaseTestName + 'Cnt', 1, TheList.Count);
|
AssertEquals(BaseTestName + 'Cnt', 1, TheList.Count);
|
||||||
CheckNode(TheList.HLNode[0], 3, 0, 1, 7, 0, 1, 0, 1, 18, 18, FOLDGROUP_IFDEF, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
CheckNode(TheList.HLNode[0], 3, 0, 1, 7, 0, 1, 0, 1, 18, 18, FOLDGROUP_IFDEF, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]);
|
||||||
|
|
||||||
|
@ -1148,38 +1148,38 @@ begin
|
|||||||
CheckNode(11, [], 1, 1, 2, 2, 1, 0, 1, 0, 22, 22, 1, [sfaOneLineClose,sfaLastLineClose]);
|
CheckNode(11, [], 1, 1, 2, 2, 1, 0, 1, 0, 22, 22, 1, [sfaOneLineClose,sfaLastLineClose]);
|
||||||
{%endregion TEXT 1 -- [cfbtBeginEnd..cfbtNone], [] grp=1}
|
{%endregion TEXT 1 -- [cfbtBeginEnd..cfbtNone], [] grp=1}
|
||||||
|
|
||||||
{%region TEXT 1 -- [cfbtBeginEnd,cfbtIfDef], [] grp=4}
|
{%region TEXT 1 -- [cfbtBeginEnd,cfbtIfDef], [] grp=1}
|
||||||
PopPushBaseName('Text 1 -- [cfbtBeginEnd,cfbtIfDef], [], grp=4');
|
PopPushBaseName('Text 1 -- [cfbtBeginEnd,cfbtIfDef], [], grp=4');
|
||||||
SetLines(TestTextFoldInfo1);
|
SetLines(TestTextFoldInfo1);
|
||||||
EnableFolds([cfbtBeginEnd,cfbtIfDef], []);
|
EnableFolds([cfbtBeginEnd,cfbtIfDef], []);
|
||||||
//DebugFoldInfo([],4);
|
//DebugFoldInfo([],4);
|
||||||
|
|
||||||
CheckFoldInfoCounts('', [], 4, [1, 1, 0, 1, 0, 1, 0, 1, 2, 1, 2, 2]);
|
CheckFoldInfoCounts('', [], 1, [1, 1, 0, 1, 0, 1, 0, 1, 2, 1, 2, 2]);
|
||||||
|
|
||||||
//### Foldinfo Line: 0 PasMinLvl=0 EndLvl=0 : program Foo;
|
//### Foldinfo Line: 0 PasMinLvl=0 EndLvl=0 : program Foo;
|
||||||
CheckNode( 0, [], 4, 0, 0, 7, 0, 0, 0, 1, 10, 10, 1, [sfaOpen,sfaMarkup]); // program
|
CheckNode( 0, [], 1, 0, 0, 7, 0, 0, 0, 1, 10, 10, 1, [sfaOpen,sfaMarkup]); // program
|
||||||
//### Foldinfo Line: 1 PasMinLvl=0 EndLvl=0 : procedure a;
|
//### Foldinfo Line: 1 PasMinLvl=0 EndLvl=0 : procedure a;
|
||||||
CheckNode( 1, [], 4, 0, 0, 9, 1, 1, 1, 2, 3, 3, 1, [sfaOpen,sfaMarkup]); // procedure
|
CheckNode( 1, [], 1, 0, 0, 9, 1, 1, 1, 2, 3, 3, 1, [sfaOpen,sfaMarkup]); // procedure
|
||||||
//### Foldinfo Line: 2 PasMinLvl=0 EndLvl=0 : {$IFDEF A}
|
//### Foldinfo Line: 2 PasMinLvl=0 EndLvl=0 : {$IFDEF A}
|
||||||
//### Foldinfo Line: 3 PasMinLvl=0 EndLvl=0 : begin
|
//### Foldinfo Line: 3 PasMinLvl=0 EndLvl=0 : begin
|
||||||
CheckNode( 3, [], 4, 0, 0, 5, 2, 2, 2, 3, 1, 0, 1, [sfaOpen,sfaMarkup]); // begin
|
CheckNode( 3, [], 1, 0, 0, 5, 2, 2, 2, 3, 1, 0, 1, [sfaOpen,sfaMarkup]); // begin
|
||||||
//### Foldinfo Line: 4 PasMinLvl=0 EndLvl=0 : {$ENDIF}
|
//### Foldinfo Line: 4 PasMinLvl=0 EndLvl=0 : {$ENDIF}
|
||||||
//### Foldinfo Line: 5 PasMinLvl=0 EndLvl=1 : {$IFDEF B} if a then begin {$ENDIF}
|
//### Foldinfo Line: 5 PasMinLvl=0 EndLvl=1 : {$IFDEF B} if a then begin {$ENDIF}
|
||||||
CheckNode( 5, [], 4, 0, 23, 28, 0, 1, 3, 4, 0, 0, 1, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]); // begin
|
CheckNode( 5, [], 1, 0, 23, 28, 0, 1, 3, 4, 0, 0, 1, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]); // begin
|
||||||
//### Foldinfo Line: 6 PasMinLvl=1 EndLvl=1 : writeln()
|
//### Foldinfo Line: 6 PasMinLvl=1 EndLvl=1 : writeln()
|
||||||
//### Foldinfo Line: 7 PasMinLvl=0 EndLvl=0 : end;
|
//### Foldinfo Line: 7 PasMinLvl=0 EndLvl=0 : end;
|
||||||
CheckNode( 7, [], 4, 0, 2, 5, 1, 0, 4, 3, 0, 0, 1, [sfaClose,sfaMarkup,sfaFold]); // end
|
CheckNode( 7, [], 1, 0, 2, 5, 1, 0, 4, 3, 0, 0, 1, [sfaClose,sfaMarkup,sfaFold]); // end
|
||||||
//### Foldinfo Line: 8 PasMinLvl=0 EndLvl=0 : end;
|
//### Foldinfo Line: 8 PasMinLvl=0 EndLvl=0 : end;
|
||||||
CheckNode( 8, [], 4, 0, 0, 3, 3, 3, 3, 2, 1, 0, 1, [sfaClose,sfaMarkup]); // end;
|
CheckNode( 8, [], 1, 0, 0, 3, 3, 3, 3, 2, 1, 0, 1, [sfaClose,sfaMarkup]); // end;
|
||||||
CheckNode( 8, [], 4, 1, 0, 3, 2, 2, 2, 1, 3, 3, 1, [sfaClose,sfaMarkup]); // end;
|
CheckNode( 8, [], 1, 1, 0, 3, 2, 2, 2, 1, 3, 3, 1, [sfaClose,sfaMarkup]); // end;
|
||||||
//### Foldinfo Line: 9 PasMinLvl=0 EndLvl=1 : begin
|
//### Foldinfo Line: 9 PasMinLvl=0 EndLvl=1 : begin
|
||||||
CheckNode( 9, [], 4, 0, 0, 5, 0, 1, 1, 2, 0, 0, 1, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]); // begin
|
CheckNode( 9, [], 1, 0, 0, 5, 0, 1, 1, 2, 0, 0, 1, [sfaOpen,sfaMarkup,sfaFold,sfaFoldFold]); // begin
|
||||||
//### Foldinfo Line: 10 PasMinLvl=0 EndLvl=0 : end.
|
//### Foldinfo Line: 10 PasMinLvl=0 EndLvl=0 : end.
|
||||||
CheckNode(10, [], 4, 0, 0, 3, 1, 0, 2, 1, 0, 0, 1, [sfaClose,sfaMarkup,sfaFold]); // end.
|
CheckNode(10, [], 1, 0, 0, 3, 1, 0, 2, 1, 0, 0, 1, [sfaClose,sfaMarkup,sfaFold]); // end.
|
||||||
CheckNode(10, [], 4, 1, 0, 3, 1, 1, 1, 0, 10, 10, 1, [sfaClose,sfaMarkup]); // end.
|
CheckNode(10, [], 1, 1, 0, 3, 1, 1, 1, 0, 10, 10, 1, [sfaClose,sfaMarkup]); // end.
|
||||||
//### Foldinfo Line: 11 PasMinLvl=0 EndLvl=0 : //
|
//### Foldinfo Line: 11 PasMinLvl=0 EndLvl=0 : //
|
||||||
CheckNode(11, [], 4, 0, 0, 2, 0, 0, 0, 1, 22, 22, 1, [sfaOpen]); // //
|
CheckNode(11, [], 1, 0, 0, 2, 0, 0, 0, 1, 22, 22, 1, [sfaOpen]); // //
|
||||||
CheckNode(11, [], 4, 1, 2, 2, 1, 1, 1, 0, 22, 22, 1, [sfaClose,sfaLastLineClose]); // /
|
CheckNode(11, [], 1, 1, 2, 2, 1, 1, 1, 0, 22, 22, 1, [sfaClose,sfaLastLineClose]); // /
|
||||||
{%endregion TEXT 1 -- [cfbtBeginEnd..cfbtNone], [] grp=4}
|
{%endregion TEXT 1 -- [cfbtBeginEnd..cfbtNone], [] grp=4}
|
||||||
|
|
||||||
{%region TEXT 1 -- [cfbtBeginEnd..cfbtNone], [sfaFold]}
|
{%region TEXT 1 -- [cfbtBeginEnd..cfbtNone], [sfaFold]}
|
||||||
|
Loading…
Reference in New Issue
Block a user