A Neovim plugin that automatically stops inactive LSP clients to free up RAM.
garbage-day.nvim is a Neovim plugin that acts as a garbage collector for Language Server Protocol (LSP) clients. It automatically stops inactive LSP clients to free up RAM, preventing them from accumulating and consuming several gigabytes of memory in the background. This helps maintain Neovim's performance during extended coding sessions.
Neovim users who work with multiple LSP clients across different file types and experience high RAM usage from background LSP processes. It's particularly useful for developers using Neovim distributions like NormalNvim or those managing long-running editor instances.
Developers choose garbage-day.nvim because it provides automated, configurable RAM management specifically for LSP clients, with features like aggressive mode for maximum savings and exclusion lists for problematic clients. It's a lightweight solution that integrates seamlessly with existing Neovim setups without requiring manual intervention.
Garbage collector that stops inactive LSP clients to free RAM
Stops inactive LSP clients after a configurable grace period when Neovim loses focus, preventing background memory bloat as highlighted in the 'Why' section to free up gigabytes of RAM.
Offers options like aggressive mode, grace periods, and exclusion lists, allowing fine-tuning to balance performance and workflow, detailed in the 'Available options' table with sensible defaults.
Provides utility functions to manually stop and start LSP clients, giving developers direct oversight when needed, as shown in the FAQ with example Lua code.
Simple setup with lazy plugin manager and event-driven loading, making it easy to add to existing Neovim configurations, as demonstrated in the 'How to setup' section with minimal code.
Only tested for Neovim 0.10 and 0.11; users on other versions may encounter issues and need to rely on the author to fix them, as admitted in the FAQ, which limits its use in diverse environments.
Aggressive mode can stop all LSP clients except the current buffer on entry, which might cause delays or interruptions if LSP clients take time to restart, especially with misbehaving clients noted in the exclusion lists.
Requires careful tuning of options like grace_period and timeout to avoid overlaps, as warned in the 'IMPORTANT' note, which can be error-prone for users without deep understanding of LSP behavior.
Quickstart configs for Nvim LSP
improve neovim lsp experience
null-ls.nvim reloaded / Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
🦀 Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.