after finishing the Elm-tree-sitter implementation in April
I set off to build a language server integration for the elm community based on that.
At the moment, there are instructions for:
More are hopefully coming, as soon as people think it’s useful.
So what can it do? (I’m using VSCode for this example)
Those are just some of the features, here is a list of most things that are implemented:
|codeLenses||Currently only shows if a type alias, custom type or function is exposed from that module|
|completions||Show completions for the current file and snippets|
|definitions||Enables you to jump to the definition of a type alias, module, custom type or function|
|documentSymbols||Identifies all symbols in a document.|
|folding||Let’s you fold the code on certain elm constructs|
|hover||Shows type annotations and documentation for a type alias, module, custom type or function|
|references||Lists all references to a type alias, module, custom type or function|
|rename||Enables you to rename a type alias, module, custom type or function|
|workspaceSymbols||Identifies all symbols in the current workspace|
So please see the project pages on github:
And feel free to test (it will need a lot of testing) and contribute in any way. That being code, issues or maybe graphics.
Or maybe join the #elm-language-server channel on the elm slack.
Let’s build on this and make it even better!