mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-17 17:10:15 +02:00
SynEdit, pas highlighter: fixed "packed class"
git-svn-id: trunk@42193 -
This commit is contained in:
parent
bbabe5442e
commit
34e144634c
@ -294,6 +294,7 @@ type
|
||||
FStartCodeFoldBlockLevel: integer;
|
||||
FPasStartLevel: Smallint;
|
||||
fRange: TRangeStates;
|
||||
FOldRange: TRangeStates;
|
||||
FStringKeywordMode: TSynPasStringMode;
|
||||
FSynPasRangeInfo: TSynPasRangeInfo;
|
||||
FAtLineStart: Boolean; // Line had only spaces or comments sofar
|
||||
@ -1081,7 +1082,15 @@ end;
|
||||
|
||||
function TSynPasSyn.Func40: TtkTokenKind;
|
||||
begin
|
||||
if KeyComp('Packed') then Result := tkKey else Result := tkIdentifier;
|
||||
if KeyComp('Packed') then begin
|
||||
Result := tkKey;
|
||||
if (fRange * [rsProperty, rsAfterEqualOrColon] = [rsAfterEqualOrColon]) and
|
||||
(PasCodeFoldRange.BracketNestLevel = 0)
|
||||
then
|
||||
FOldRange := FOldRange - [rsAfterEqualOrColon]; // Keep flag in FRange
|
||||
end
|
||||
else
|
||||
Result := tkIdentifier;
|
||||
end;
|
||||
|
||||
function TSynPasSyn.Func41: TtkTokenKind;
|
||||
@ -2926,7 +2935,6 @@ end;
|
||||
procedure TSynPasSyn.Next;
|
||||
var
|
||||
IsAtCaseLabel: Boolean;
|
||||
OldRange: TRangeStates;
|
||||
begin
|
||||
fAsmStart := False;
|
||||
fTokenPos := Run;
|
||||
@ -2949,7 +2957,7 @@ begin
|
||||
else if rsSlash in fRange then
|
||||
SlashContinueProc
|
||||
else begin
|
||||
OldRange := fRange;
|
||||
FOldRange := fRange;
|
||||
//if rsAtEqual in fRange then
|
||||
// fRange := fRange + [rsAfterEqualOrColon] - [rsAtEqual]
|
||||
//else
|
||||
@ -2968,15 +2976,15 @@ begin
|
||||
not(rsAtClosingBracket in fRange)
|
||||
then
|
||||
fRange := fRange - [rsAfterClass];
|
||||
if rsAfterEqualOrColon in OldRange then
|
||||
if rsAfterEqualOrColon in FOldRange then
|
||||
fRange := fRange - [rsAfterEqualOrColon];
|
||||
if rsAtPropertyOrReadWrite in OldRange then
|
||||
if rsAtPropertyOrReadWrite in FOldRange then
|
||||
fRange := fRange - [rsAtPropertyOrReadWrite];
|
||||
fRange := fRange - [rsAtClosingBracket];
|
||||
if rsAfterClassField in OldRange then
|
||||
if rsAfterClassField in FOldRange then
|
||||
fRange := fRange - [rsAfterClassField];
|
||||
if rsAtClass in fRange then begin
|
||||
if OldRange * [rsAtClass, rsAfterClass] <> [] then
|
||||
if FOldRange * [rsAtClass, rsAfterClass] <> [] then
|
||||
fRange := fRange + [rsAfterClass] - [rsAtClass]
|
||||
else
|
||||
fRange := fRange + [rsAfterClass];
|
||||
|
Loading…
Reference in New Issue
Block a user