Auto completion `textEdit`.
Nobody has claimed this yet.
- Dominant language
- Lean
- Stars
- 9.2k
- Forks
- 990
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 175
Description
We are currently returning atomic labels only because the clients are only taking the last part of a composite name into account.
@Kha pointed out that the LSP spec contains a discussion that is likely relevant
/**
* A string that should be inserted into a document when selecting
* this completion. When `falsy` the label is used as the insert text
* for this item.
*
* The `insertText` is subject to interpretation by the client side.
* Some tools might not take the string literally. For example
* VS Code when code complete is requested in this example
* `con<cursor position>` and a completion item with an `insertText` of
* `console` is provided it will only insert `sole`. Therefore it is
* recommended to use `textEdit` instead since it avoids additional client
* side interpretation.
*/
insertText?: string;
We're not even using insertText?, but this suggests that we should "upgrade" straight to textEdit if we want to make depth > 1 work.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no repository files, tests, or entry points; start by locating where completion items are assembled and compare the current atomic-label behavior with the LSP specification's textEdit discussion. Done means completion for names with depth greater than one inserts the intended composite text rather than only its final part.
Written by the indexing model from the issue text.
Assessment
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100