Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. zeioth/garbage-day.nvim

zeioth/garbage-day.nvim

GPL-3.0Luav1.4.0

A Neovim plugin that automatically stops inactive LSP clients to free up RAM.

GitHubGitHub
516 stars7 forks0 contributors

What is zeioth/garbage-day.nvim?

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.

Target Audience

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.

Value Proposition

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.

Overview

Garbage collector that stops inactive LSP clients to free RAM

Use Cases

Best For

  • Reducing RAM usage in Neovim when working with multiple LSP clients
  • Preventing memory bloat from background LSP processes in long coding sessions
  • Optimizing performance in Neovim distributions like NormalNvim
  • Managing LSP clients across different file types efficiently
  • Automating resource cleanup without manual configuration
  • Balancing LSP responsiveness with system resource consumption

Not Ideal For

  • Users running Neovim versions earlier than 0.10, as compatibility is only assured for 0.10 and 0.11
  • Developers who need all LSP clients to remain active continuously, such as when using real-time analysis tools or servers with slow startup times
  • Users who prefer minimal plugins and manual resource management, as this automation might add complexity for light LSP usage

Pros & Cons

Pros

Automatic RAM Reclamation

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.

Flexible Configuration

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.

Manual Control Functions

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.

Easy Integration

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.

Cons

Limited Version Support

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.

Potential Workflow Disruption

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.

Configuration Sensitivity

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.

Frequently Asked Questions

Quick Stats

Stars516
Forks7
Contributors0
Open Issues1
Last commit2 months ago
CreatedSince 2023

Tags

#resource-cleanup#developer-tools#memory-management#performance-optimization#nvim-lsp#nvim-plugins#neovim-plugin#lsp-client#neovim-plugins#language-server-protocol#nvim-plugin

Built With

N
Neovim
L
Lua

Included in

Neovim20.6k
Auto-fetched 19 hours ago

Related Projects

nvim-lspconfignvim-lspconfig

Quickstart configs for Nvim LSP

Stars13,647
Forks2,449
Last commit1 day ago
lspsaga.nvimlspsaga.nvim

improve neovim lsp experience

Stars3,788
Forks302
Last commit3 days ago
none-ls.nvimnone-ls.nvim

null-ls.nvim reloaded / Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.

Stars3,240
Forks119
Last commit5 days ago
rustaceanvimrustaceanvim

🦀 Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim

Stars2,974
Forks134
Last commit22 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub