You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(lsp): only reuse cached completions when provably a candidate superset
The completion cache was keyed only by word context (file|line|word
start), so a list fetched at a bare position was refiltered client-side
for every later keystroke on the line. intelephense answers a bare
position with an empty list (cold index) or an arbitrary grab-bag of
symbols marked complete (warm index) - neither is a superset, so typing
is_ after a blank-line Ctrl-Space showed no completions, or is_int
vanished from its own hint list.
The cache now stores the query it was fetched with and is reused only
when the current query extends it, and the fetched query was non-empty
or anchored to a trigger char (member lists after . / -> / :: stay
cheaply cacheable; bare-position answers are never reused). Empty lists
are never cached.
Adds a PHP LSP regression spec (blank query then prefix on the same
line must surface is_int) and a test-only _getClient hook in PHPSupport.
0 commit comments