An open API service indexing awesome lists of open source software.

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

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).