The text-based quote detection used by % treats any two quote characters
on a line as a string. In languages where quotes can be part of other
tokens (e.g., identifiers with primes like `f'` in Haskell-like languages),
brackets between such quotes were skipped, and % jumped to a wrong
bracket or did not move at all.
If PSI is available, check that the opening quote starts a token and the
closing quote ends a token. Plain text and comments keep the text-based
behaviour.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>