microsoft / microsoft/language-server-protocol
Allow CompletionOptions to provide additional data
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13k
- Forks
- 1k
- Avg merge
- 6d 1h
- Merged PRs (30d)
- 10
Description
Currently server can specify trigger characters through CompletionOptions. The following additional data would also be helpful in creating a more desired IntelliSense experience:
- commit characters - i.e. aside from Enter, what characters when typed should commit the completion item selected. This could be the same as trigger character, a subset, or something completely different.
- dismiss characters - i.e. aside from Escape, what characters when typed should dismiss the completion session? An example of this would be semicolon.
Another idea @LukaszMendakiewicz had was that some of this data can be overridden for a given completion session. For example, a server can define default values for this during initialization, but each completion request could return different sets of commit and dismiss characters.
Contributor guide
No contributing guide indexed for this repository
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
Start by locating the CompletionOptions definition and the completion request and response structures in the protocol. Review how initialization-time options differ from per-completion data, then confirm the intended semantics for commit and dismiss characters. Done means the protocol can represent both character sets and any agreed session-specific overrides.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100