mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 19:19:19 +02:00
SynEdit, highlight word-brackets (begin/end): Fixed, invalidate, if highlight changed
git-svn-id: trunk@27709 -
This commit is contained in:
parent
02790b2ed8
commit
276625f65d
@ -46,6 +46,7 @@ type
|
|||||||
FHighlightPos3: TWordPoint;
|
FHighlightPos3: TWordPoint;
|
||||||
FHighlighter: TSynCustomHighlighter;
|
FHighlighter: TSynCustomHighlighter;
|
||||||
FNeedInvalidate: Boolean;
|
FNeedInvalidate: Boolean;
|
||||||
|
FForceInvalidate: Boolean;
|
||||||
procedure SetHighlighter(const AValue: TSynCustomHighlighter);
|
procedure SetHighlighter(const AValue: TSynCustomHighlighter);
|
||||||
protected
|
protected
|
||||||
procedure FindMatchingWords(PhysCaret: TPoint;
|
procedure FindMatchingWords(PhysCaret: TPoint;
|
||||||
@ -308,6 +309,7 @@ end;
|
|||||||
|
|
||||||
procedure TSynEditMarkupWordGroup.DoMarkupChanged(AMarkup: TSynSelectedColor);
|
procedure TSynEditMarkupWordGroup.DoMarkupChanged(AMarkup: TSynSelectedColor);
|
||||||
begin
|
begin
|
||||||
|
FForceInvalidate := True;
|
||||||
InvalidateCurrentHighlight;
|
InvalidateCurrentHighlight;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -324,20 +326,22 @@ begin
|
|||||||
|
|
||||||
// invalidate old highlighting, if changed
|
// invalidate old highlighting, if changed
|
||||||
if (FHighlightPos1.Y > 0)
|
if (FHighlightPos1.Y > 0)
|
||||||
and (CompareWordPoints(FHighlightPos1, NewPos) <> 0)
|
and ((CompareWordPoints(FHighlightPos1, NewPos) <> 0) or FForceInvalidate)
|
||||||
then
|
then
|
||||||
InvalidateSynLines(FHighlightPos1.Y,FHighlightPos1.Y);
|
InvalidateSynLines(FHighlightPos1.Y,FHighlightPos1.Y);
|
||||||
|
|
||||||
if (FHighlightPos2.Y > 0)
|
if (FHighlightPos2.Y > 0)
|
||||||
and (CompareWordPoints(FHighlightPos2, NewAntiPos) <> 0)
|
and ((CompareWordPoints(FHighlightPos2, NewAntiPos) <> 0) or FForceInvalidate)
|
||||||
then
|
then
|
||||||
InvalidateSynLines(FHighlightPos2.Y,FHighlightPos2.Y);
|
InvalidateSynLines(FHighlightPos2.Y,FHighlightPos2.Y);
|
||||||
|
|
||||||
if (FHighlightPos3.Y > 0)
|
if (FHighlightPos3.Y > 0)
|
||||||
and (CompareWordPoints(FHighlightPos3, NewMiddlePos) <> 0)
|
and ((CompareWordPoints(FHighlightPos3, NewMiddlePos) <> 0) or FForceInvalidate)
|
||||||
then
|
then
|
||||||
InvalidateSynLines(FHighlightPos3.Y,FHighlightPos3.Y);
|
InvalidateSynLines(FHighlightPos3.Y,FHighlightPos3.Y);
|
||||||
|
|
||||||
|
FForceInvalidate := False;
|
||||||
|
|
||||||
// invalidate new highlighting, if changed
|
// invalidate new highlighting, if changed
|
||||||
if (NewPos.Y>0)
|
if (NewPos.Y>0)
|
||||||
and (CompareWordPoints(FHighlightPos1, NewPos) <> 0) then
|
and (CompareWordPoints(FHighlightPos1, NewPos) <> 0) then
|
||||||
|
Loading…
Reference in New Issue
Block a user