mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2026-02-24 18:38:31 +01:00
SynEdit: update Highlighters to use new notifications.
This commit is contained in:
parent
d43ddf50f4
commit
7086675420
@ -2054,8 +2054,7 @@ end;
|
||||
|
||||
procedure TSynCustomFoldHighlighter.DoFoldConfigChanged(Sender: TObject);
|
||||
begin
|
||||
FAttributeChangeNeedScan := True;
|
||||
DefHighlightChange(self);
|
||||
SendRescanNeededNotification;
|
||||
end;
|
||||
|
||||
procedure TSynCustomFoldHighlighter.ClearFoldNodeList;
|
||||
|
||||
@ -2394,8 +2394,7 @@ procedure TSynHTMLSyn.SetMode(const AValue: TSynHTMLSynMode);
|
||||
begin
|
||||
if FMode = AValue then exit;
|
||||
FMode := AValue;
|
||||
FAttributeChangeNeedScan := True;
|
||||
DefHighlightChange(self);
|
||||
SendRescanNeededNotification;
|
||||
end;
|
||||
|
||||
procedure TSynHTMLSyn.BraceCloseProc;
|
||||
|
||||
@ -255,8 +255,7 @@ begin
|
||||
if FCommentTypes = AValue then Exit;
|
||||
FCommentTypes := AValue;
|
||||
MakeMethodTables;
|
||||
FAttributeChangeNeedScan := True;
|
||||
DefHighlightChange(self);
|
||||
SendRescanNeededNotification;
|
||||
end;
|
||||
|
||||
procedure TSynIniSyn.SetAttribute(AnIndex: TSynPasAttribute; AValue: TSynHighlighterAttributes);
|
||||
|
||||
@ -1744,8 +1744,10 @@ var
|
||||
i: Integer;
|
||||
begin
|
||||
if Schemes = nil then exit;
|
||||
FAttributeChangeNeedScan := (Item <> nil) and (TSynHighlighterMultiScheme(Item).NeedHLScan);
|
||||
DefHighlightChange( Item );
|
||||
if (Item <> nil) and (TSynHighlighterMultiScheme(Item).NeedHLScan) then begin
|
||||
SendAttributeChangeNotification;
|
||||
SendRescanNeededNotification;
|
||||
end;
|
||||
for i := 0 to AttachedLines.Count - 1 do
|
||||
KnownRanges[i].InvalidateAll;
|
||||
end;
|
||||
|
||||
@ -1604,21 +1604,21 @@ procedure TSynPasSyn.SetGenericConstraintAttributeMode(AValue: TSynPasTypeAttrib
|
||||
begin
|
||||
if FGenericConstraintAttributeMode = AValue then Exit;
|
||||
FGenericConstraintAttributeMode := AValue;
|
||||
DefHighlightChange(self);
|
||||
SendAttributeChangeNotification;
|
||||
end;
|
||||
|
||||
procedure TSynPasSyn.SetProcNameImplAttributeMode(AValue: TProcNameAttrbuteModes);
|
||||
begin
|
||||
if FProcNameImplAttributeMode = AValue then Exit;
|
||||
FProcNameImplAttributeMode := AValue;
|
||||
DefHighlightChange(self);
|
||||
SendAttributeChangeNotification;
|
||||
end;
|
||||
|
||||
procedure TSynPasSyn.SetProcNameIntfAttributeMode(AValue: TProcNameAttrbuteModes);
|
||||
begin
|
||||
if FProcNameIntfAttributeMode = AValue then Exit;
|
||||
FProcNameIntfAttributeMode := AValue;
|
||||
DefHighlightChange(self);
|
||||
SendAttributeChangeNotification;
|
||||
end;
|
||||
|
||||
procedure TSynPasSyn.SetModeSwitches(AValue: TPascalCompilerModeSwitches);
|
||||
@ -1633,32 +1633,28 @@ procedure TSynPasSyn.SetDeclaredTypeAttributeMode(AValue: TSynPasTypeAttributeMo
|
||||
begin
|
||||
if FDeclaredTypeAttributeMode = AValue then Exit;
|
||||
FDeclaredTypeAttributeMode := AValue;
|
||||
FAttributeChangeNeedScan := True;
|
||||
DefHighlightChange(self);
|
||||
SendAttributeChangeNotification;
|
||||
end;
|
||||
|
||||
procedure TSynPasSyn.SetDeclaredValueAttributeMachesStringNum(AValue: Boolean);
|
||||
begin
|
||||
if FDeclaredValueAttributeMachesStringNum = AValue then Exit;
|
||||
FDeclaredValueAttributeMachesStringNum := AValue;
|
||||
FAttributeChangeNeedScan := True;
|
||||
DefHighlightChange(self);
|
||||
SendAttributeChangeNotification;
|
||||
end;
|
||||
|
||||
procedure TSynPasSyn.SetDeclaredValueAttributeMode(AValue: TSynPasTypeAttributeMode);
|
||||
begin
|
||||
if FDeclaredValueAttributeMode = AValue then Exit;
|
||||
FDeclaredValueAttributeMode := AValue;
|
||||
FAttributeChangeNeedScan := True;
|
||||
DefHighlightChange(self);
|
||||
SendAttributeChangeNotification;
|
||||
end;
|
||||
|
||||
procedure TSynPasSyn.SetExtendedKeywordsMode(const AValue: Boolean);
|
||||
begin
|
||||
if FExtendedKeywordsMode = AValue then exit;
|
||||
FExtendedKeywordsMode := AValue;
|
||||
FAttributeChangeNeedScan := True;
|
||||
DefHighlightChange(self);
|
||||
SendAttributeChangeNotification;
|
||||
end;
|
||||
|
||||
procedure TSynPasSyn.SetNestedBracketAttribs(AValue: TLazEditTextAttributeModifierCollection);
|
||||
@ -1671,29 +1667,27 @@ procedure TSynPasSyn.SetSpecializeParamAttributeMode(AValue: TSynPasTypeAttribut
|
||||
begin
|
||||
if FSpecializeParamAttributeMode = AValue then Exit;
|
||||
FSpecializeParamAttributeMode := AValue;
|
||||
DefHighlightChange(self);
|
||||
SendAttributeChangeNotification;
|
||||
end;
|
||||
|
||||
procedure TSynPasSyn.SetStringKeywordMode(const AValue: TSynPasStringMode);
|
||||
begin
|
||||
if FStringKeywordMode = AValue then exit;
|
||||
FStringKeywordMode := AValue;
|
||||
FAttributeChangeNeedScan := True;
|
||||
DefHighlightChange(self);
|
||||
SendAttributeChangeNotification;
|
||||
end;
|
||||
|
||||
procedure TSynPasSyn.SetStringMultilineMode(const AValue: TSynPasMultilineStringModes);
|
||||
begin
|
||||
if FStringMultilineMode=AValue then Exit;
|
||||
FStringMultilineMode:=AValue;
|
||||
FAttributeChangeNeedScan := True;
|
||||
|
||||
if spmsmDoubleQuote in FStringMultilineMode then
|
||||
FPasAttributes[attribString].UpdateSupportedFeatures([lafPastEOL], [])
|
||||
else
|
||||
FPasAttributes[attribString].UpdateSupportedFeatures([], [lafPastEOL]);
|
||||
|
||||
DefHighlightChange(self);
|
||||
SendAttributeChangeNotification;
|
||||
end;
|
||||
|
||||
procedure TSynPasSyn.SetNestedComments(AValue: boolean);
|
||||
@ -8039,6 +8033,7 @@ end;
|
||||
procedure TSynPasSyn.SetD4syntax(const Value: boolean);
|
||||
begin
|
||||
FD4syntax := Value;
|
||||
SendRescanNeededNotification;
|
||||
end;
|
||||
|
||||
{ TSynFreePascalSyn }
|
||||
|
||||
@ -6735,30 +6735,35 @@ end;
|
||||
procedure TEditorOptions.GetHighlighterSettings(Syn: TSrcIDEHighlighter);
|
||||
// read highlight settings from config file
|
||||
begin
|
||||
ReadHighlighterSettings(Syn, '');
|
||||
ReadHighlighterFoldSettings(Syn);
|
||||
ReadHighlighterDivDrawSettings(Syn);
|
||||
if Syn is TSynPasSyn then begin
|
||||
TSynPasSyn(Syn).ExtendedKeywordsMode := PasExtendedKeywordsMode;
|
||||
TSynPasSyn(Syn).StringKeywordMode := PasStringKeywordMode;
|
||||
TSynPasSyn(Syn).CaseLabelAttriMatchesElseOtherwise := FCaseLabelAttriMatchesElseOtherwise;
|
||||
TSynPasSyn(Syn).DeclaredTypeAttributeMode := FDeclaredTypeAttributeMode;
|
||||
TSynPasSyn(Syn).DeclaredValueAttributeMode := FDeclaredValueAttributeMode;
|
||||
TSynPasSyn(Syn).DeclaredValueAttributeMachesStringNum := FDeclaredValueAttributeMachesStringNum;
|
||||
TSynPasSyn(Syn).GenericConstraintAttributeMode := FGenericParamAttrMode;
|
||||
TSynPasSyn(Syn).SpecializeParamAttributeMode := FGenericParamAttrMode;
|
||||
case FProcHeaderNameDeclMode of
|
||||
pnmGenericOnly: TSynPasSyn(Syn).ProcNameIntfAttributeMode := [pamDots];
|
||||
pnmGenericAndProcName: TSynPasSyn(Syn).ProcNameIntfAttributeMode := [pamDots, pamGenParamKeyword, pamGenParamSym, pamGenParamSeparator];
|
||||
pnmProcNameOnly: TSynPasSyn(Syn).ProcNameIntfAttributeMode := [pamSupressGenParamAttr, pamDots, pamGenParamKeyword, pamGenParamSym, pamGenParamSeparator];
|
||||
pnmPlain: TSynPasSyn(Syn).ProcNameIntfAttributeMode := [pamSupressGenParamAttr, pamDots];
|
||||
end;
|
||||
case FProcHeaderNameImplMode of
|
||||
pnmGenericOnly: TSynPasSyn(Syn).ProcNameImplAttributeMode := [pamDots];
|
||||
pnmGenericAndProcName: TSynPasSyn(Syn).ProcNameImplAttributeMode := [pamDots, pamGenParamKeyword, pamGenParamSym, pamGenParamSeparator];
|
||||
pnmProcNameOnly: TSynPasSyn(Syn).ProcNameImplAttributeMode := [pamSupressGenParamAttr, pamDots, pamGenParamKeyword, pamGenParamSym, pamGenParamSeparator];
|
||||
pnmPlain: TSynPasSyn(Syn).ProcNameImplAttributeMode := [pamSupressGenParamAttr, pamDots];
|
||||
syn.BeginUpdate;
|
||||
try
|
||||
ReadHighlighterSettings(Syn, '');
|
||||
ReadHighlighterFoldSettings(Syn);
|
||||
ReadHighlighterDivDrawSettings(Syn);
|
||||
if Syn is TSynPasSyn then begin
|
||||
TSynPasSyn(Syn).ExtendedKeywordsMode := PasExtendedKeywordsMode;
|
||||
TSynPasSyn(Syn).StringKeywordMode := PasStringKeywordMode;
|
||||
TSynPasSyn(Syn).CaseLabelAttriMatchesElseOtherwise := FCaseLabelAttriMatchesElseOtherwise;
|
||||
TSynPasSyn(Syn).DeclaredTypeAttributeMode := FDeclaredTypeAttributeMode;
|
||||
TSynPasSyn(Syn).DeclaredValueAttributeMode := FDeclaredValueAttributeMode;
|
||||
TSynPasSyn(Syn).DeclaredValueAttributeMachesStringNum := FDeclaredValueAttributeMachesStringNum;
|
||||
TSynPasSyn(Syn).GenericConstraintAttributeMode := FGenericParamAttrMode;
|
||||
TSynPasSyn(Syn).SpecializeParamAttributeMode := FGenericParamAttrMode;
|
||||
case FProcHeaderNameDeclMode of
|
||||
pnmGenericOnly: TSynPasSyn(Syn).ProcNameIntfAttributeMode := [pamDots];
|
||||
pnmGenericAndProcName: TSynPasSyn(Syn).ProcNameIntfAttributeMode := [pamDots, pamGenParamKeyword, pamGenParamSym, pamGenParamSeparator];
|
||||
pnmProcNameOnly: TSynPasSyn(Syn).ProcNameIntfAttributeMode := [pamSupressGenParamAttr, pamDots, pamGenParamKeyword, pamGenParamSym, pamGenParamSeparator];
|
||||
pnmPlain: TSynPasSyn(Syn).ProcNameIntfAttributeMode := [pamSupressGenParamAttr, pamDots];
|
||||
end;
|
||||
case FProcHeaderNameImplMode of
|
||||
pnmGenericOnly: TSynPasSyn(Syn).ProcNameImplAttributeMode := [pamDots];
|
||||
pnmGenericAndProcName: TSynPasSyn(Syn).ProcNameImplAttributeMode := [pamDots, pamGenParamKeyword, pamGenParamSym, pamGenParamSeparator];
|
||||
pnmProcNameOnly: TSynPasSyn(Syn).ProcNameImplAttributeMode := [pamSupressGenParamAttr, pamDots, pamGenParamKeyword, pamGenParamSym, pamGenParamSeparator];
|
||||
pnmPlain: TSynPasSyn(Syn).ProcNameImplAttributeMode := [pamSupressGenParamAttr, pamDots];
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
Syn.EndUpdate;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user