mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-22 15:29:35 +01:00
SynEdit: Pascal Highlighter - only store property TypeHelpers if user changed, issue #0036969 . / fix incorrectly overwriting NestedComments when Loading.
git-svn-id: trunk@63122 -
This commit is contained in:
parent
2c7d4c9e91
commit
8f790c9d9e
@ -492,6 +492,7 @@ type
|
|||||||
procedure SpaceProc;
|
procedure SpaceProc;
|
||||||
procedure StringProc;
|
procedure StringProc;
|
||||||
procedure SymbolProc;
|
procedure SymbolProc;
|
||||||
|
function TypeHelpersIsStored: Boolean;
|
||||||
procedure UnknownProc;
|
procedure UnknownProc;
|
||||||
procedure SetD4syntax(const Value: boolean);
|
procedure SetD4syntax(const Value: boolean);
|
||||||
// Divider
|
// Divider
|
||||||
@ -558,6 +559,8 @@ type
|
|||||||
public
|
public
|
||||||
constructor Create(AOwner: TComponent); override;
|
constructor Create(AOwner: TComponent); override;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
|
procedure Loaded; override;
|
||||||
|
procedure Loading; override;
|
||||||
function GetDefaultAttribute(Index: integer): TSynHighlighterAttributes;
|
function GetDefaultAttribute(Index: integer): TSynHighlighterAttributes;
|
||||||
override;
|
override;
|
||||||
function GetEol: Boolean; override;
|
function GetEol: Boolean; override;
|
||||||
@ -620,7 +623,7 @@ type
|
|||||||
write fDirectiveAttri;
|
write fDirectiveAttri;
|
||||||
property CompilerMode: TPascalCompilerMode read FCompilerMode write SetCompilerMode;
|
property CompilerMode: TPascalCompilerMode read FCompilerMode write SetCompilerMode;
|
||||||
property NestedComments: boolean read FNestedComments write SetNestedComments;
|
property NestedComments: boolean read FNestedComments write SetNestedComments;
|
||||||
property TypeHelpers: boolean read FTypeHelpers write FTypeHelpers;
|
property TypeHelpers: boolean read FTypeHelpers write FTypeHelpers stored TypeHelpersIsStored;
|
||||||
property D4syntax: boolean read FD4syntax write SetD4syntax default true;
|
property D4syntax: boolean read FD4syntax write SetD4syntax default true;
|
||||||
property ExtendedKeywordsMode: Boolean
|
property ExtendedKeywordsMode: Boolean
|
||||||
read FExtendedKeywordsMode write SetExtendedKeywordsMode default False;
|
read FExtendedKeywordsMode write SetExtendedKeywordsMode default False;
|
||||||
@ -901,8 +904,10 @@ end;
|
|||||||
|
|
||||||
procedure TSynPasSyn.SetCompilerMode(const AValue: TPascalCompilerMode);
|
procedure TSynPasSyn.SetCompilerMode(const AValue: TPascalCompilerMode);
|
||||||
begin
|
begin
|
||||||
NestedComments:=AValue in [pcmFPC,pcmObjFPC]; // NestedComments has to be reset even if CompilerMode doesn't change
|
if not(csLoading in ComponentState) then begin
|
||||||
TypeHelpers := AValue in [pcmDelphi];
|
NestedComments:=AValue in [pcmFPC,pcmObjFPC]; // NestedComments has to be reset even if CompilerMode doesn't change
|
||||||
|
TypeHelpers := AValue in [pcmDelphi]; // keep in sync with TypeHelpersIsStored / Loaded
|
||||||
|
end;
|
||||||
if FCompilerMode=AValue then exit;
|
if FCompilerMode=AValue then exit;
|
||||||
FCompilerMode:=AValue;
|
FCompilerMode:=AValue;
|
||||||
PasCodeFoldRange.Mode:=FCompilerMode;
|
PasCodeFoldRange.Mode:=FCompilerMode;
|
||||||
@ -2485,6 +2490,19 @@ begin
|
|||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSynPasSyn.Loaded;
|
||||||
|
begin
|
||||||
|
if Byte(FTypeHelpers) = 99 then
|
||||||
|
FTypeHelpers := FCompilerMode in [pcmDelphi];
|
||||||
|
inherited Loaded;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TSynPasSyn.Loading;
|
||||||
|
begin
|
||||||
|
Byte(FTypeHelpers) := 99; // Help detecting, if changed while loading.
|
||||||
|
inherited Loading;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TSynPasSyn.SetLine(const NewValue: string; LineNumber:Integer);
|
procedure TSynPasSyn.SetLine(const NewValue: string; LineNumber:Integer);
|
||||||
begin
|
begin
|
||||||
//DebugLn(['TSynPasSyn.SetLine START LineNumber=',LineNumber,' Line="',NewValue,'"']);
|
//DebugLn(['TSynPasSyn.SetLine START LineNumber=',LineNumber,' Line="',NewValue,'"']);
|
||||||
@ -3175,6 +3193,11 @@ begin
|
|||||||
fTokenID := tkSymbol;
|
fTokenID := tkSymbol;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TSynPasSyn.TypeHelpersIsStored: Boolean;
|
||||||
|
begin
|
||||||
|
Result := FTypeHelpers = (FCompilerMode in [pcmDelphi]);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TSynPasSyn.UnknownProc;
|
procedure TSynPasSyn.UnknownProc;
|
||||||
begin
|
begin
|
||||||
inc(Run);
|
inc(Run);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user