mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-21 05:19:10 +02:00
parent
65057a6460
commit
2e86dbcd0d
@ -8542,6 +8542,7 @@ var
|
|||||||
StartPt: TPoint;
|
StartPt: TPoint;
|
||||||
// for ContextMatch
|
// for ContextMatch
|
||||||
BracketKind, TmpStart: Integer;
|
BracketKind, TmpStart: Integer;
|
||||||
|
SearchingForward: Boolean;
|
||||||
TmpAttr : TSynHighlighterAttributes;
|
TmpAttr : TSynHighlighterAttributes;
|
||||||
// for IsContextBracket
|
// for IsContextBracket
|
||||||
MaxKnownTokenPos, LastUsedTokenIdx, TokenListCnt: Integer;
|
MaxKnownTokenPos, LastUsedTokenIdx, TokenListCnt: Integer;
|
||||||
@ -8603,7 +8604,8 @@ var
|
|||||||
while (i > 0) and (TokenPosList[i].X > PosX) do
|
while (i > 0) and (TokenPosList[i].X > PosX) do
|
||||||
dec(i);
|
dec(i);
|
||||||
Result := TokenPosList[i].Attr = BracketKind;
|
Result := TokenPosList[i].Attr = BracketKind;
|
||||||
LastUsedTokenIdx := i;
|
if not SearchingForward then
|
||||||
|
LastUsedTokenIdx := i;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure DoMatchingBracketFound;
|
procedure DoMatchingBracketFound;
|
||||||
@ -8652,7 +8654,8 @@ var
|
|||||||
PrevPosX := -1;
|
PrevPosX := -1;
|
||||||
PrevCnt := 0;
|
PrevCnt := 0;
|
||||||
// search until start of line
|
// search until start of line
|
||||||
while PosX > 1 do begin
|
SearchingForward := False;
|
||||||
|
while PosX > 1 do begin
|
||||||
Dec(PosX);
|
Dec(PosX);
|
||||||
Test := Line[PosX];
|
Test := Line[PosX];
|
||||||
if (Test = q) and IsContextBracket then begin
|
if (Test = q) and IsContextBracket then begin
|
||||||
@ -8669,6 +8672,8 @@ var
|
|||||||
|
|
||||||
PosX := Len;
|
PosX := Len;
|
||||||
Len := Length(Line);
|
Len := Length(Line);
|
||||||
|
SearchingForward := True;
|
||||||
|
LastUsedTokenIdx := TokenListCnt;
|
||||||
while PosX < Len do begin
|
while PosX < Len do begin
|
||||||
Inc(PosX);
|
Inc(PosX);
|
||||||
Test := Line[PosX];
|
Test := Line[PosX];
|
||||||
@ -8699,6 +8704,7 @@ var
|
|||||||
NumBrackets := 1;
|
NumBrackets := 1;
|
||||||
if Odd(i) then begin
|
if Odd(i) then begin
|
||||||
// closing bracket -> search opening bracket
|
// closing bracket -> search opening bracket
|
||||||
|
SearchingForward := False;
|
||||||
repeat
|
repeat
|
||||||
// search until start of line
|
// search until start of line
|
||||||
while PosX > 1 do begin
|
while PosX > 1 do begin
|
||||||
@ -8727,6 +8733,7 @@ var
|
|||||||
until FALSE;
|
until FALSE;
|
||||||
end else begin
|
end else begin
|
||||||
// opening bracket -> search closing bracket
|
// opening bracket -> search closing bracket
|
||||||
|
SearchingForward := True;
|
||||||
repeat
|
repeat
|
||||||
// search until end of line
|
// search until end of line
|
||||||
Len := Length(Line);
|
Len := Length(Line);
|
||||||
|
Loading…
Reference in New Issue
Block a user