Use MDN data to power auto completion in editors through Language Server Protocol
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 787
- Forks
- 216
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 6
Description
Hello, this is Pine from [VS Code](https://github.com/microsoft/vscode) team. We are looking into using MDN data to provide an always up-to-date auto completion in VS Code, for example:

The auto completion is generated by our [css language server](https://github.com/Microsoft/vscode/tree/master/extensions/css-language-features) and [css language service](https://github.com/Microsoft/vscode-css-languageservice) that uses [Language Server Protocol](https://microsoft.github.io/language-server-protocol/).
Here is a simple explanation: Language Server Protocol is a language & editor independent protocol for enhancing code editing experience. For example rust has https://github.com/rust-lang-nursery/rls which complies with this protocol and powers editor extensions that offers auto completion in VS Code, Visual Studio, Atom, [Neo]Vim, Emacs and any LSP-compliant editors.
We are starting from css but could look into html too. I have one question though:
Where is the data for item description (such as css properties)? mdn/data and mdn/browser-compat-data don't seem to contain them. From my understanding the "short description" seem to be a part of the wiki so maybe it's hard to put them into a JSON format, but I think having this data presented to the programmers right at their editor would offer them a great experience.
Here is issue tracking this in our side: https://github.com/Microsoft/vscode-css-languageservice/issues/68
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
Start by reviewing the mdn/data and mdn/browser-compat-data repositories, then read the linked vscode-css-languageservice issue 68 and the Language Server Protocol context. The work would be complete when the source and structure for CSS item descriptions are agreed and documented well enough for the language service to consume them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- css, javascript, vscode
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100