An Erlang server implementing Microsoft's Language Server Protocol 3.15.
- Erlang OTP 21+
- rebar3 3.9.1+
Compile the project:
make
These are the command-line arguments that can be provided to the
erlang_ls
escript:
Usage: Erlang LS [-v] [-t [<transport>]] [-p [<port>]] [-d [<log_dir>]]
[-l [<log_level>]]
-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]
It is possible to customize the behaviour of the erlang_ls
server
via a configuration file, named erlang_ls.config
. The
erlang_ls.config
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 section of the documentation to learn how to configure Erlang LS for a specific project.
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://microsoft.github.io/language-server-protocol/
The erlang_ls
project is licensed under the Apache License 2.0. Please refer
to the LICENSE
file for details.