elm-tooling/elm-language-server-haskell

Elm language server written in haskell (archived). Use https://github.com/elm-tooling/elm-language-server instead.

Haskell

52

46 commits

updated Jun 20, 2019

See the code

README

elm-language-server-haskell (archived)

NOTE: The repository elm-language-server is actively maintained. This repository is currently not maintained.


First attempt to write a language server for Elm.

See https://microsoft.github.io/language-server-protocol/specification for a description of the protocol.

Features

  • Diagnostics

If you want to work on more, please reach out and create an issue, before you start working on it.

Conceptual workings of the language server

The editor should start one language server for each Elm project (there may be multiple). rootPath should be set to the location of the elm.json file.

  • On the initialize notification, the language server will copy all files in the project to a temporary directory. This is so that we can handle open files by saving them there. It will then compile all files in the project, to get diagnostics. It will then send diagnostics for all files to the editor.
  • When a file is changed in the editor, we change it in our copy, and recompile everything to get new diagnostics.

Libraries used

  • haskell-lsp
  • json-rpc-server
  • elm-compiler-library (which is a version of elm-compiler)

Notes

  • Code formatted using hlint

Building

Clone the repository and its subrepositories:

  • git clone https://github.com/elm-tooling/elm-language-server
  • git submodule update --init --recursive Install ghc and dependencies. You need to have stack installed
  • stack setup
  • stack install

Contributing

Contributors

matheus23

29 commits

razzeee

8 commits

andys8

4 commits

norpan

4 commits

elm-tooling/elm-language-server-haskell

Elm language server written in haskell (archived). Use https://github.com/elm-tooling/elm-language-server instead.

Haskell

52

46 commits

updated Jun 20, 2019

See the code

README

elm-language-server-haskell (archived)

NOTE: The repository elm-language-server is actively maintained. This repository is currently not maintained.


First attempt to write a language server for Elm.

See https://microsoft.github.io/language-server-protocol/specification for a description of the protocol.

Features

  • Diagnostics

If you want to work on more, please reach out and create an issue, before you start working on it.

Conceptual workings of the language server

The editor should start one language server for each Elm project (there may be multiple). rootPath should be set to the location of the elm.json file.

  • On the initialize notification, the language server will copy all files in the project to a temporary directory. This is so that we can handle open files by saving them there. It will then compile all files in the project, to get diagnostics. It will then send diagnostics for all files to the editor.
  • When a file is changed in the editor, we change it in our copy, and recompile everything to get new diagnostics.

Libraries used

  • haskell-lsp
  • json-rpc-server
  • elm-compiler-library (which is a version of elm-compiler)

Notes

  • Code formatted using hlint

Building

Clone the repository and its subrepositories:

  • git clone https://github.com/elm-tooling/elm-language-server
  • git submodule update --init --recursive Install ghc and dependencies. You need to have stack installed
  • stack setup
  • stack install

Contributing

Contributors

matheus23

29 commits

razzeee

8 commits

andys8

4 commits

norpan

4 commits

Languages

Haskell

100.0%