Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/erlang-ls/erlang_ls
The Erlang Language Server
https://github.com/erlang-ls/erlang_ls
erlang erlang-ls ide language-server language-server-protocol lsp
Last synced: 28 days ago
JSON representation
The Erlang Language Server
- Host: GitHub
- URL: https://github.com/erlang-ls/erlang_ls
- Owner: erlang-ls
- License: apache-2.0
- Created: 2018-06-03T09:49:11.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-09-27T13:07:21.000Z (about 1 month ago)
- Last Synced: 2024-09-30T03:42:01.995Z (about 1 month ago)
- Topics: erlang, erlang-ls, ide, language-server, language-server-protocol, lsp
- Language: Erlang
- Homepage: https://erlang-ls.github.io/
- Size: 3.58 MB
- Stars: 626
- Watchers: 23
- Forks: 136
- Open Issues: 173
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Support: .github/SUPPORT.md
Awesome Lists containing this project
README
# erlang_ls
![erlang_ls](images/erlang-ls-logo-small.png?raw=true "Erlang LS")
![Build](https://github.com/erlang-ls/erlang_ls/workflows/Build/badge.svg)
[![Coverage Status](https://coveralls.io/repos/github/erlang-ls/erlang_ls/badge.svg?branch=main)](https://coveralls.io/github/erlang-ls/erlang_ls?branch=main)An Erlang server implementing Microsoft's Language Server Protocol 3.17.
[Documentation](https://erlang-ls.github.io/)
## Minimum Requirements
* [Erlang OTP 24+](https://github.com/erlang/otp)
* [rebar3 3.9.1+](https://github.com/erlang/rebar3)## Supported OTP versions
* 24, 25, 26, 27
## Quickstart
Compile the project:
make
To install the produced `erlang_ls` escript in `/usr/local/bin`:
make install
To install to a different directory set the `PREFIX` environment variable:
PREFIX=/path/to/directory make install
## Command-line Arguments
These are the command-line arguments that can be provided to the
`erlang_ls` escript:``` shell
Usage: Erlang LS [-v] [-t []] [-p []] [-d []]
[-l []]-v, --version Print the current version of Erlang LS
-t, --transport Specifies the transport the server will use for the
connection with the client, either "tcp" or "stdio".
[default: tcp]
-p, --port Used when the transport is tcp. [default: 10000]
-d, --log-dir Directory where logs will be written.
[default: filename:basedir(user_log, "erlang_ls")]
-l, --log-level The log level that should be used. [default: info]
```## Configuration
It is possible to customize the behaviour of the `erlang_ls` server
via a configuration file, named `erlang_ls.config` or `erlang_ls.yaml`.
That file should be placed in the root directory of a
given project to store the configuration for that project. It is also
possible to store a system-wide default configuration, which is shared
across multiple projects.Please refer to the
[configuration](https://erlang-ls.github.io/configuration) section of
the documentation to learn how to configure Erlang LS for a specific
project.## Getting in Touch
If you have any questions about the project, feel free to open a new
issue. You can also join the `#erlang-ls` channel in the
_Erlanger_ Slack if you would like to get involved or if you prefer a
more informal mean of communication.All contributions are welcome, be them in the form of a bug report, a
question, feedback, or code.I occasionally blog about the project on
[Medium](https://medium.com/about-erlang).## References
https://microsoft.github.io/language-server-protocol/
## License
The `erlang_ls` project is licensed under the Apache License 2.0. Please refer
to the `LICENSE` file for details.