Skip to content

erlang-ls/erlang_ls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b8724fb · Oct 12, 2024
Oct 9, 2024
Oct 12, 2024
Jul 27, 2019
Sep 13, 2020
May 5, 2024
Jul 8, 2023
Aug 14, 2023
May 18, 2022
Nov 7, 2022
Jun 16, 2021
Jun 12, 2020
May 15, 2020
Oct 21, 2019
Dec 22, 2023
Jun 13, 2018
Jan 17, 2024
Sep 18, 2024
Jan 14, 2022
Oct 12, 2024
Dec 21, 2023
Sep 18, 2024
Apr 5, 2021
Sep 18, 2024

Repository files navigation

erlang_ls

erlang_ls

Build Coverage Status

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

Documentation

Minimum Requirements

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:

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.