mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-15 17:59:26 +02:00
SynEdit: fixed highlight of "shortstring" depending on options. issue #0018971
git-svn-id: trunk@30004 -
This commit is contained in:
parent
e99faf3fd1
commit
c55776f210
@ -2113,7 +2113,10 @@ end;
|
|||||||
|
|
||||||
function TSynPasSyn.Func167: TtkTokenKind;
|
function TSynPasSyn.Func167: TtkTokenKind;
|
||||||
begin
|
begin
|
||||||
if KeyComp('Shortstring') then Result := tkKey else Result := tkIdentifier;
|
if (FStringKeywordMode in [spsmDefault]) and KeyComp('Shortstring') then
|
||||||
|
Result := tkKey
|
||||||
|
else
|
||||||
|
Result := tkIdentifier;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSynPasSyn.Func168: TtkTokenKind;
|
function TSynPasSyn.Func168: TtkTokenKind;
|
||||||
|
@ -396,10 +396,11 @@ begin
|
|||||||
SetLines
|
SetLines
|
||||||
([ 'Program A;',
|
([ 'Program A;',
|
||||||
'var',
|
'var',
|
||||||
' Foo1: String',
|
' Foo1: String;',
|
||||||
' Foo2: AnsiString',
|
' Foo2: AnsiString;',
|
||||||
' Foo3: WideString',
|
' Foo3: WideString;',
|
||||||
' Foo4: Integer',
|
' Foo4: Shortstring;',
|
||||||
|
' Foo5: Integer;',
|
||||||
'',
|
'',
|
||||||
'Procedure b;',
|
'Procedure b;',
|
||||||
'begin',
|
'begin',
|
||||||
@ -415,35 +416,38 @@ begin
|
|||||||
|
|
||||||
PushBaseName('spsmDefault');
|
PushBaseName('spsmDefault');
|
||||||
PasHighLighter.StringKeywordMode := spsmDefault;
|
PasHighLighter.StringKeywordMode := spsmDefault;
|
||||||
CheckTokensForLine('String', 2, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkKey ]);
|
CheckTokensForLine('String', 2, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkKey, tkSymbol ]);
|
||||||
CheckTokensForLine('ansi', 3, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkKey ]);
|
CheckTokensForLine('ansi', 3, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkKey, tkSymbol ]);
|
||||||
CheckTokensForLine('wide', 4, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkKey ]);
|
CheckTokensForLine('wide', 4, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkKey, tkSymbol ]);
|
||||||
CheckTokensForLine('int', 5, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier ]); // selftest
|
CheckTokensForLine('short', 5, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkKey, tkSymbol ]);
|
||||||
|
CheckTokensForLine('int', 6, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier, tkSymbol ]); // selftest
|
||||||
|
|
||||||
PopPushBaseName('spsmStringOnly');
|
PopPushBaseName('spsmStringOnly');
|
||||||
PasHighLighter.StringKeywordMode := spsmStringOnly;
|
PasHighLighter.StringKeywordMode := spsmStringOnly;
|
||||||
CheckTokensForLine('String', 2, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkKey ]);
|
CheckTokensForLine('String', 2, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkKey, tkSymbol ]);
|
||||||
CheckTokensForLine('ansi', 3, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier ]);
|
CheckTokensForLine('ansi', 3, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier, tkSymbol ]);
|
||||||
CheckTokensForLine('wide', 4, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier ]);
|
CheckTokensForLine('wide', 4, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier, tkSymbol ]);
|
||||||
CheckTokensForLine('int', 5, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier ]); // selftest
|
CheckTokensForLine('short', 5, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier, tkSymbol ]);
|
||||||
|
CheckTokensForLine('int', 6, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier, tkSymbol ]); // selftest
|
||||||
|
|
||||||
PopPushBaseName('spsmNone');
|
PopPushBaseName('spsmNone');
|
||||||
PasHighLighter.StringKeywordMode := spsmNone;
|
PasHighLighter.StringKeywordMode := spsmNone;
|
||||||
CheckTokensForLine('String', 2, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier ]);
|
CheckTokensForLine('String', 2, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier, tkSymbol ]);
|
||||||
CheckTokensForLine('ansi', 3, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier ]);
|
CheckTokensForLine('ansi', 3, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier, tkSymbol ]);
|
||||||
CheckTokensForLine('wide', 4, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier ]);
|
CheckTokensForLine('wide', 4, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier, tkSymbol ]);
|
||||||
CheckTokensForLine('int', 5, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier ]); // selftest
|
CheckTokensForLine('short', 5, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier, tkSymbol ]);
|
||||||
|
CheckTokensForLine('int', 6, [tkSpace, tkIdentifier, tkSymbol, tkSpace, tkIdentifier, tkSymbol ]); // selftest
|
||||||
|
|
||||||
|
|
||||||
PopPushBaseName('False');
|
PopPushBaseName('False');
|
||||||
PasHighLighter.ExtendedKeywordsMode := False;
|
PasHighLighter.ExtendedKeywordsMode := False;
|
||||||
CheckTokensForLine('wide', 10, [tkSpace, tkIdentifier, tkSymbol ]);
|
CheckTokensForLine('continue', 11, [tkSpace, tkIdentifier, tkSymbol ]);
|
||||||
CheckTokensForLine('wide', 11, [tkSpace, tkIdentifier, tkSymbol ]);
|
CheckTokensForLine('exit', 12, [tkSpace, tkIdentifier, tkSymbol ]);
|
||||||
|
|
||||||
PopPushBaseName('True');
|
PopPushBaseName('True');
|
||||||
PasHighLighter.ExtendedKeywordsMode := True;
|
PasHighLighter.ExtendedKeywordsMode := True;
|
||||||
CheckTokensForLine('wide', 10, [tkSpace, tkKey, tkSymbol ]);
|
CheckTokensForLine('continue', 11, [tkSpace, tkKey, tkSymbol ]);
|
||||||
CheckTokensForLine('wide', 11, [tkSpace, tkKey, tkSymbol ]);
|
CheckTokensForLine('exit', 12, [tkSpace, tkKey, tkSymbol ]);
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user