{"id":21291681,"url":"https://github.com/jdtsmith/eglot-booster","last_synced_at":"2025-03-15T16:34:26.333Z","repository":{"id":216390257,"uuid":"741191246","full_name":"jdtsmith/eglot-booster","owner":"jdtsmith","description":"Boost eglot using lsp-booster","archived":false,"fork":false,"pushed_at":"2024-10-29T07:42:14.000Z","size":34,"stargazers_count":182,"open_issues_count":1,"forks_count":4,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-01-22T06:24:16.754Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/jdtsmith.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2024-01-09T22:10:36.000Z","updated_at":"2025-01-20T02:25:14.000Z","dependencies_parsed_at":"2024-04-11T13:58:31.593Z","dependency_job_id":"c9e37272-31df-4080-8a78-ed190326ba60","html_url":"https://github.com/jdtsmith/eglot-booster","commit_stats":null,"previous_names":["jdtsmith/eglot-booster"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdtsmith%2Feglot-booster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdtsmith%2Feglot-booster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdtsmith%2Feglot-booster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdtsmith%2Feglot-booster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jdtsmith","download_url":"https://codeload.github.com/jdtsmith/eglot-booster/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243760572,"owners_count":20343654,"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":[],"created_at":"2024-11-21T13:39:10.598Z","updated_at":"2025-03-15T16:34:26.304Z","avatar_url":"https://github.com/jdtsmith.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eglot-booster: Boost eglot using lsp-booster\n\nThe [emacs-lsp-booster](https://github.com/blahgeek/emacs-lsp-booster) project provides a rust-based wrapper program which substantially speeds up emacs' interactions with lsp servers.   This small package enables [eglot](https://github.com/joaotavora/eglot) to use it.\n\n## Install/Usage\n\nInstall directly from this repo via `M-x package-vc-install` (pasting in this URL), or using, e.g. `straight`.  Then, in your init, simply \n\n```elisp\n(use-package eglot-booster\n\t:after eglot\n\t:config\t(eglot-booster-mode))\n```\n\nThen just use eglot as normal.  You should notice no differences other than speedier performance and less I/O blocking.\n\nTo verify that the wrapper is functioning, `M-x eglot-events-buffer` and look at the beginning for `emacs_lsp_booster::app` notices.  If you'd like to avoid boosting remote servers (those run over TRAMP), set `eglot-booster-no-remote-boost` to `t`. \n\n\u003e [!IMPORTANT]\n\u003e At present only local or remote (tramp-based) lsp server programs which communicate by standard input/output can be wrapped, not lsp servers communicating over network ports (local or remote).  Using remote servers over tramp requires installing `emacs-lsp-booster` on the remote server.\n\n## Testing\n\nMaybe you don't even need this.  You can `M-x eglot-booster` to disable the boost at any time.  Then `M-x eglot-shutdown-all`, restart eglot (`M-x eglot` is usually enough) in a large/heavy-weight file, and compare performance before and after.\n\n## I/O Only\n\n`emacs-lsp-booster` offers the option `--disable-bytecode`.  Setting `eglot-booster-io-only=t` will use this option, processing JSON as normal.  This way you still get the benefit of I/O buffering, but can use Emacs' native JSON parser (which was substantially sped-up in v30).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdtsmith%2Feglot-booster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdtsmith%2Feglot-booster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdtsmith%2Feglot-booster/lists"}