{"id":13599851,"url":"https://github.com/sile/erlls","last_synced_at":"2025-08-21T00:30:47.553Z","repository":{"id":184792283,"uuid":"660967920","full_name":"sile/erlls","owner":"sile","description":"Erlang language server","archived":false,"fork":false,"pushed_at":"2024-09-24T13:13:27.000Z","size":422,"stargazers_count":22,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-15T19:14:05.059Z","etag":null,"topics":["erlang","lsp-server","rust","vscode-extension"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sile.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-01T11:19:07.000Z","updated_at":"2024-10-03T20:44:46.000Z","dependencies_parsed_at":"2023-07-30T09:44:26.957Z","dependency_job_id":"4556426b-94fc-4167-bcd6-d8c8a49244dd","html_url":"https://github.com/sile/erlls","commit_stats":null,"previous_names":["sile/erlls"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sile%2Ferlls","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sile%2Ferlls/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sile%2Ferlls/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sile%2Ferlls/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sile","download_url":"https://codeload.github.com/sile/erlls/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230471175,"owners_count":18231193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["erlang","lsp-server","rust","vscode-extension"],"created_at":"2024-08-01T17:01:13.791Z","updated_at":"2025-08-21T00:30:47.545Z","avatar_url":"https://github.com/sile.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"ErlLS\n=====\n\n[![erlls](https://img.shields.io/crates/v/erlls.svg)](https://crates.io/crates/erlls)\n[![vscode version](https://img.shields.io/vscode-marketplace/v/sile.erlls.svg?label=vscode)](https://marketplace.visualstudio.com/items?itemName=sile.erlls)\n[![Actions Status](https://github.com/sile/erlls/workflows/CI/badge.svg)](https://github.com/sile/erlls/actions)\n![License](https://img.shields.io/crates/l/erlls)\n\nErlang language server.\n\nSupported LSP features\n----------------------\n\n- [ ] [textDocument/definition](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_definition)\n  - [x] Module\n  - [x] Function\n  - [x] Type\n  - [x] Record\n  - [x] Macro\n  - [ ] Variable\n  - [x] Include file\n- [x] [textDocument/formatting](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_formatting)\n  - [x] Formatting documents by using [efmt](https://github.com/sile/efmt)\n- [ ] [textDocument/completion](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_completion)\n  - [x] Fully qualified function name\n  - [x] Fully qualified type name\n  - [ ] Record name\n  - [ ] Record field name\n- [ ] [textDocument/publishDiagnostics](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_publishDiagnostics) (when received `textDocument/{didOpen,didSave}`)\n  - [x] Parse errors by [efmt](https://github.com/sile/efmt)\n  - [ ] Lint checks\n- [ ] [textDocument/rename](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_rename)\n- [x] [textDocument/semanticTokens/full](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens)\n- [x] [textDocument/semanticTokens/range](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens)\n- [ ] [textDocument/documentHighlight](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_documentHighlight)\n  - [ ] Variable\n- [x] [textDocument/hover](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_hover)\n  - NOTE: Only the `-doc` and `-moduledoc` attributes are supported (i.e., doc comments are not supported)\n\nEditor integrations\n-------------------\n\nErlLS can be used with any [LSP](https://microsoft.github.io/language-server-protocol/) clients.\nHere are a few examples.\n\n### Visual Studio Code / Visual Studio Code for the Web\n\nPlease install [erlls extension](https://marketplace.visualstudio.com/items?itemName=sile.erlls).\n\nThere is no need to install the `erlls` binary using the `$ cargo install` command as the extension already includes the WebAssembly build.\n\n#### Settings (`settings.json`)\n\nTo include the Erlang/OTP applications in the search target, please specify the directory as follows:\n\n```json\n{\n    \"erlls.erlLibs\": \"/usr/local/lib/erlang/lib/:_checkouts:_build/default/lib\"\n}\n```\n\nNOTE:\n- The actual path may vary depending on the environment.\n- In VSCode Web, it's not possible to search applications located outside of the workspace.\n\n### Emacs ([lsp-mode](https://github.com/emacs-lsp/lsp-mode))\n\n1. Install `erlls` command.\n\n```console\n$ cargo install erlls\n```\n\n2. Add the following code to your `.emacs` file.\n\n```emacs\n(with-eval-after-load 'lsp-mode\n  (add-to-list 'lsp-language-id-configuration\n               '(erlang-mode . \"erlang\")))\n\n(lsp-register-client\n (make-lsp-client :new-connection (lsp-stdio-connection \"erlls\")\n                  :activation-fn (lsp-activate-on \"erlang\")\n                  :priority -1\n                  :server-id 'erlls))\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsile%2Ferlls","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsile%2Ferlls","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsile%2Ferlls/lists"}