First real language on the now-correct async + UTF-16 substrate. - pmacs.lsp.config.python → `basedpyright-langserver --stdio`. basedpyright (MIT fork of pyright) re-enables inlay hints / semantic tokens in the OSS server that upstream pyright withholds for Pylance — matches the deferred-feature roadmap. No init_options: strictness is project config (pyrightconfig.json / [tool.pyright]); pmacs does not yet advertise workspace/configuration, so an editor-side typeCheckingMode would not be honoured regardless (documented in-line, with the upstream-pyright one-field override). - LSP language detection separated from tree-sitter. pmacs.parse's extension registry is grammar-gated (rejects "python" — no bundled grammar). New user-extensible pmacs.lsp.filetypes map (py/pyi → python); active_buffer_language() tries grammar-backed parse first (rust/.rs etc. unchanged) then falls back to the map, so a language with a server but no grammar still auto-attaches. - PATH-gated acceptance test mirroring m4_5_rust_analyzer_initializes; unique assertion: a real basedpyright must negotiate a positionEncoding pmacs can encode — validates Option B against a real strict server, not just the fake. Skips when absent. Gate: fmt clean; clippy --all-targets -D warnings clean; lib 1229/0; m4_acceptance 61/0; m9_1 18/0; m8_1/m8_9/m8_10 green. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| api | ||
| commands | ||
| hooks | ||
| keymaps | ||
| packages/repl | ||
| runtime | ||