{"id":15674545,"url":"https://github.com/elisp-lsp/ellsp","last_synced_at":"2026-01-17T01:33:55.008Z","repository":{"id":206165417,"uuid":"715985696","full_name":"elisp-lsp/ellsp","owner":"elisp-lsp","description":"Elisp Language Server","archived":false,"fork":false,"pushed_at":"2025-04-22T22:45:20.000Z","size":50749,"stargazers_count":27,"open_issues_count":3,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-22T23:35:00.764Z","etag":null,"topics":["elisp","emacs","language-server","lsp"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elisp-lsp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2023-11-08T08:37:23.000Z","updated_at":"2025-04-22T22:45:23.000Z","dependencies_parsed_at":"2024-05-08T06:38:00.411Z","dependency_job_id":"53667a79-5ff4-44d1-ace4-ca848f149872","html_url":"https://github.com/elisp-lsp/ellsp","commit_stats":null,"previous_names":["jcs-elpa/ellsp","jcs090218/ellsp","elisp-lsp/ellsp"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elisp-lsp%2Fellsp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elisp-lsp%2Fellsp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elisp-lsp%2Fellsp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elisp-lsp%2Fellsp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elisp-lsp","download_url":"https://codeload.github.com/elisp-lsp/ellsp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252577020,"owners_count":21770721,"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":["elisp","emacs","language-server","lsp"],"created_at":"2024-10-03T15:46:33.733Z","updated_at":"2026-01-17T01:33:54.999Z","avatar_url":"https://github.com/elisp-lsp.png","language":"Emacs Lisp","funding_links":["https://www.paypal.me/jcs090218","https://www.patreon.com/jcs090218"],"categories":[],"sub_categories":[],"readme":"[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![Release](https://img.shields.io/github/release/elisp-lsp/ellsp.svg?logo=github)](https://github.com/elisp-lsp/ellsp/releases/latest)\n[![JCS-ELPA](https://raw.githubusercontent.com/jcs-emacs/badges/master/elpa/v/ellsp.svg)](https://jcs-emacs.github.io/jcs-elpa/#/ellsp)\n\n# Ellsp\n\u003e Elisp Language Server\n\n[![CI Elisp](https://github.com/elisp-lsp/ellsp/actions/workflows/test-elisp.yml/badge.svg)](https://github.com/elisp-lsp/ellsp/actions/workflows/test-elisp.yml)\n[![Build Proxy](https://github.com/elisp-lsp/ellsp/actions/workflows/build-proxy.yml/badge.svg)](https://github.com/elisp-lsp/ellsp/actions/workflows/build-proxy.yml)\n\nThis software is intended for use with editors other than Emacs.\nIf you're already an Emacs user, we recommend using Emacs directly.\n\nHere is the list of currently supported editors:\n\n- [Emacs]() (`M-x ellsp-register`)\n- [VSCode](https://marketplace.visualstudio.com/items?itemName=jcs090218.Ellsp)\n\n## ✒️ Rationale\n\nThis software is intended to support editors beyond Emacs, targeting users who\nwish to work with Emacs Lisp in a more performant and responsive environment.\nDue to its single-threaded architecture, Emacs can become unresponsive when\nexecuting computationally intensive tasks.\n\nA strong reference implementation is Emacs [Elsa][], which utilizes the Language\nServer Protocol (LSP) to delegate static analysis and other heavy operations\nto a separate Emacs process. This decoupling not only improves responsiveness\nin the primary editor but also enables parallelism, making large-scale analysis\nmore practical.\n\n## 🖼️ Gallery\n\n### Completion\n\n\u003cimg src=\"./etc/completion.png\"/\u003e\n\n### Hover\n\n\u003cimg src=\"./etc/hover.png\"/\u003e\n\n### Signature Help\n\n\u003cimg src=\"./etc/signature.png\"/\u003e\n\n## 🔧 Prerequisites\n\nBefore installation, make sure you have all the following software installed!\n\n- [Emacs](https://www.gnu.org/software/emacs/)\n- [Eask](https://github.com/emacs-eask/cli)\n\n## 💾 Installation\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e Ellsp can only be used with projects that utilize Eask as their package manager.\n\u003e Ensure your project is properly set up with Eask before using Ellsp.\n\nAdd these lines to your `Eask`-file:\n\n```elisp\n(source 'gnu)\n(source 'melpa)\n(source 'jcs-elpa)\n\n(development\n (depends-on \"ellsp\"))\n```\n\nThen install the language server:\n\n```sh\n# Install ellsp package.\neask install-deps --dev\n\n# Install the proxy server.\neask exec install-ellsp\n```\n\nTo test to see if the server installed successfully, execute the following command:\n\n```sh\neask exec ellsp\n```\n\nIf you see the following screen (no error), you successfully installed the language server! 🎉🥳\n\n```sh\nUpdating environment variables... done v\nExporting environment variables... done v\n18:45:59 [INFO ] Starting the language server...\n```\n\n*🔊 P.S. Nothing output afterward because the language server is waiting for the\nlanguage client to connect!*\n\n## 🔬 Development\n\nTo test the language server locally:\n\n```sh\n# Add link to current package\neask link add ellsp ./\n```\n\nThen follow the same steps as installation:\n\n```sh\n# Install the proxy server.\neask exec install-ellsp\n\n# Test the language server.\neask exec ellsp\n```\n\n## 🔗 References\n\n- [Language Server Protocol Specification][LSP Specification]\n- [Elsa][]\n\n## Contribute\n\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)\n[![Elisp styleguide](https://img.shields.io/badge/elisp-style%20guide-purple?logo=gnuemacs\u0026logoColor=white)](https://github.com/bbatsov/emacs-lisp-style-guide)\n[![Donate on paypal](https://img.shields.io/badge/paypal-donate-1?logo=paypal\u0026color=blue)](https://www.paypal.me/jcs090218)\n[![Become a patron](https://img.shields.io/badge/patreon-become%20a%20patron-orange.svg?logo=patreon)](https://www.patreon.com/jcs090218)\n\nIf you would like to contribute to this project, you may either\nclone or make pull requests to this repository. Or you can\nclone the project and establish your branch of this tool.\nAny methods are welcome!\n\n## ⚜️ License\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n\nSee [`LICENSE`](./LICENSE) for details.\n\n\n\u003c!-- Links --\u003e\n\n[LSP Specification]: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/\n[Elsa]: https://github.com/emacs-elsa/Elsa\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felisp-lsp%2Fellsp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felisp-lsp%2Fellsp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felisp-lsp%2Fellsp/lists"}