• Stars
    star
    628
  • Rank 71,541 (Top 2 %)
  • Language
    Erlang
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Erlang Language Server

erlang_ls

erlang_ls

Build Coverage Status

An Erlang server implementing Microsoft's Language Server Protocol 3.15.

Documentation

Minimum Requirements

Supported OTP versions

  • 23, 24, 25, 26

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:

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]

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

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.