SynEdit: FIxed "caret at ident" for end of word

git-svn-id: trunk@56696 -
This commit is contained in:
martin 2017-12-11 20:28:23 +00:00
parent ed82fc492a
commit 5693bb777a

View File

@ -8990,15 +8990,22 @@ begin
//TokenType := Highlighter.GetTokenKind;
Attri := Highlighter.GetTokenAttribute;
//DebugLn([' TCustomSynEdit.CaretAtIdentOrString: Start=', Start, ', Token=', Token]);
if (PosX >= Start) and (PosX < Start + Length(Token)) then
if (PosX = Start) then
begin
AtIdent := Attri = Highlighter.IdentifierAttribute;
AtIdent := (Attri = Highlighter.IdentifierAttribute)
or (PrevAttri = Highlighter.IdentifierAttribute);
NearString := (Attri = Highlighter.StringAttribute)
or (PrevAttri = Highlighter.StringAttribute); // If cursor is on end-quote.
//DebugLn([' TCustomSynEdit.CaretAtIdentOrString: Success! Attri=', Attri,
// ', AtIdent=', AtIdent, ', AtString=', AtString]);
exit;
end;
if (PosX >= Start) and (PosX < Start + Length(Token)) then
begin
AtIdent := Attri = Highlighter.IdentifierAttribute;
NearString := (Attri = Highlighter.StringAttribute);
exit;
end;
PrevAttri := Attri;
Highlighter.Next;
end;