feat: inlay hints for auto-implicits #6768
Merged
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.
This PR adds preliminary support for inlay hints, as well as support for inlay hints that denote the auto-implicits of a function. Hovering over an auto-implicit displays its type and double-clicking the auto-implicit inserts it into the text document.
This PR is an extension of #3910.
Known issues
textDocument/inlayHint/resolve
request yet. Implementing support for this request is future work.Other changes
textDocument/didChange
), so this PR introduces the notion of a stateful LSP request handler.example
had the full declaration as its (non-canonical synthetic) range. Since we need a reasonable position for the identifier to insert an inlay hint for the auto-implicits of anexample
, we change the (canonical synthetic) range of the synthetic identifier to that of theexample
keyword.Breaking changes
chainLspRequestHandler
function must now use thechainStatefulLspRequestHandler
function instead.