SIGN IN SIGN UP

refactor(web): detect hoverable symbols via Lezer highlight tags (#1194)

* refactor(web): detect hoverable symbols via Lezer highlight tags

Replaces the hand-maintained NODE_TYPES list in symbolHoverTargetsExtension
with a tag-based check that asks each node's highlight tag whether it descends
from `tags.name`. This is the same vocabulary every CodeMirror grammar already
uses for syntax highlighting, so identifier coverage now follows the grammar
authors' classification instead of a guess-driven cross-product of node names.

Side effects worth noting:
- Picks up C/C++ TypeIdentifier nodes that the old list missed (return types,
  parameter types, base classes).
- Picks up modifier-wrapped variants like `definition(variableName)` and
  `local(variableName)` automatically.
- Adds C/C++ aliasing to the language filter in codeNav api.ts so search-based
  goto-definition resolves across both.

Also adds vitest coverage exercising identifier detection in TypeScript+JSX,
Python, Go, Rust, Java, C++, and PHP with positive and negative assertions
(expected identifiers present, keywords/punctuation absent).

Fixes SOU-1077

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* update CHANGELOG

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
B
Brendan Kellam committed
f0066518c7bf427612823c693dd537aa38a9dbfb
Parent: 05c749e
Committed by GitHub <noreply@github.com> on 5/12/2026, 3:53:27 AM