Repository navigation
Conversation
thomasjm
force-pushed
the
inlay-hints-and-notebook-suffixes
branch
2 times, most recently
from
October 9, 2026 08:09
f242bb4 to
791c782
Compare
thomasjm
force-pushed
the
inlay-hints-and-notebook-suffixes
branch
from
October 9, 2026 09:25
791c782 to
5acbc63
Compare
thomasjm
force-pushed
the
inlay-hints-and-notebook-suffixes
branch
from
October 9, 2026 11:55
5acbc63 to
b32918a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
From
plans/inlay-hints-and-notebook-suffixes.md. Stacked on #115 because both regenerateOPTIONS.md; merge that one first.Issue 1. rust-analyzer ships
inlayHints.typeHints.enableoff and expects the editor to turn it on, which we don't, so it answers the request with no hints. Nowkernels.rust.lsp.rust-analyzer.typeHints, defaulting to true. Checked against a real cargo project: off gives[], on gives: i32and: String. LeftparameterHintsandchainingHintsalone.Issue 2 is wrong and isn't here. The plan asks for a
notebook_suffixon rust-analyzer and clangd. Doing that breaks both languages' notebooks.Every notebook proxy — rnls, hnls, cnls, gnls — decides whether a document is a notebook by testing whether its URI ends in
.ipynb, and then appends its own extension. Give clangdnotebook_suffix = ".cpp"and the document arrives asmain.ipynb.cpp,isNotebookis false, cnls skips the declaration sifter and the__notebook_execwrapping entirely, and cell statements go to clangd raw. I confirmed it:documentSymbolonint x = 1; x = 2;returns[]asprobe.ipynb(notebook path active) and twoxsymbols asprobe.ipynb.cpp(treated as an ordinary file). Same for rust — as.ipynba cell formats, as.ipynb.rsnothing comes back.So the empty
notebook_suffixon rust-analyzer, clangd, gopls and haskell-language-server is load-bearing, not an oversight. It's exactly the four servers that sit behind a proxy; the ones with a real suffix (jedi, tinymist, solargraph, …) have none.What the plan actually diagnosed for clangd — requests failing with "non-added document" — has the same cause as the Rust formatting bug: the proxy doesn't rewrite the URI for those methods. The fix belongs in the proxies: