diff --git a/components/synedit/synedit.pp b/components/synedit/synedit.pp index 4df59f9e9c..16a91a3eb5 100644 --- a/components/synedit/synedit.pp +++ b/components/synedit/synedit.pp @@ -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;