[P2] The shared JavaScript highlights query guards its builtin captures (console, require, …) with `#is-not? local`, a PROPERTY predicate (`Query::property_predicates`) that needs a scope map from the grammar's LOCALS_QUERY — which pmacs does not run. `compute_highlight_spans` took every capture, so a locally-shadowed `console`/`require` still surfaced as `@variable.builtin`/`@function.builtin`; a theme distinguishing `.builtin` would mis-style the shadowed local. Full locals processing is substrate work; conservatively fail-closed instead: drop captures whose pattern carries an `#is?`/`#is-not? local` property predicate (the identifier falls back to its non-builtin capture). The text predicates (`#eq?`/`#match?`/`#any-of?`, already applied by the capture iterator) and `#set!` settings are untouched. This is a general engine fix — it corrects the same latent mis-styling for any grammar using the locals predicate, not just JS/TS. - javascript_shadowed_builtin_is_not_mislabeled: a local `const console` produces no `*.builtin` capture (directly observed to fail — two `variable.builtin` captures — before the fix). [P3] Comments this PR invalidated: `lsp.lua` no longer claims Python has no grammar; `syntax.lua`'s `_has_language` gate comment uses a still-grammarless example (an init.lua `shebangs.ruby`) instead of python/javascript; and the rewritten Ruby shebang test's doc no longer describes it as a Python test. Gates: fmt; clippy -D warnings; test --lib; --features crdt; m4_acceptance --skip basedpyright; GPU; full workspace sweep; git diff --check. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJ9FQ832QwftJXCD9LeFan |
||
|---|---|---|
| .. | ||
| async.lua | ||
| autosave.lua | ||
| comment.lua | ||
| compile.lua | ||
| completion.lua | ||
| desktop.lua | ||
| editops.lua | ||
| fs.lua | ||
| indent.lua | ||
| killring.lua | ||
| listview.lua | ||
| lsp.lua | ||
| mcp.lua | ||
| pair.lua | ||
| recentf.lua | ||
| saveplace.lua | ||
| syntax.lua | ||