https://github.com/jaredramirez/elm-language-server
Language Server for Elm
https://github.com/jaredramirez/elm-language-server
Last synced: about 1 year ago
JSON representation
Language Server for Elm
- Host: GitHub
- URL: https://github.com/jaredramirez/elm-language-server
- Owner: jaredramirez
- License: bsd-3-clause
- Created: 2018-08-25T22:23:51.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-04-01T00:10:24.000Z (about 7 years ago)
- Last Synced: 2025-04-06T06:34:27.426Z (about 1 year ago)
- Language: Haskell
- Homepage:
- Size: 14.5 MB
- Stars: 16
- Watchers: 7
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# elm-language-server
This project implements the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) for Elm.
## Notice
This project is on pause while I'm working on [an error tolerent parser and type solver](https://github.com/jaredramirez/elm-grammar). This will allow for much better diagnostics, type inference, and completion.
This was shift if focus was inspired by the comments made [here](https://elmtown.simplecast.fm/it-just-goes-on-and-on).
## Platforms
Currently this project only supports MacOS. I'm fairly certain that it works on most linux distros, but I have not tested on it. This is mostly beacuse I'm not an expert on how cross-compiling works with GHC and haven't tackled the problem yet. I'm not sure how it will work on windows at this point.
## Installation
First, download the latest binary from the releases page.
### Neovim
* Make sure the elm-language-server binary is either a) available on your path, or b) have an absolute path to wherever the binary is stored
* Install and setup [neovim](https://neovim.io/)
* Install [neovim language client](https://github.com/autozimu/LanguageClient-neovim)
* Append your config with the following:
```
set hidden
let g:LanguageClient_serverCommands = {
\ 'elm': ['elm-language-server-exe'],
" OR
\ 'elm': ['/path/to/elm-language-server-exe'],
\ }
```
## Features
This project is still in pretty early development, so the feature set is currently limited.
* As-you-type diagnostics (compiler errors, etc)
* Find and use either global or local (node_modules) elm installations to get diagnostics
## Contributing
Check out [`CONTRIBUTING.md`](CONTRIBUTING.md).