auto-dark-mode.nvim is a Neovim plugin that automatically switches the editor's background between dark and light mode based on the host operating system's appearance setting. It supports macOS (via `defaults read`), Linux (via `dbus-send` with optional `dbus-monitor` for event-driven updates), Windows (via `reg.exe`), and WSL/OrbStack. The plugin polls the system at a configurable interval (default 3000ms) or uses D-Bus monitoring on Linux for immediate updates. It provides user-definable callback functions (`set_dark_mode` and `set_light_mode`) that default to changing Neovim's `background` option. The architecture is modular: `init.lua` handles OS detection and setup, `interval.lua` manages polling/monitoring and theme synchronization, `health.lua` provides a `:checkhealth` diagnostic with benchmarking, and `types.lua` defines type annotations. The code is well-structured with graceful fallbacks for older Neovim versions (0.7.x) and comprehensive error handling for edge cases like running as root or missing system utilities. It is a focused, single-purpose plugin with clean separation of concerns.
quicker.nvim is a Neovim plugin that replaces the default quickfix and location list windows with an enhanced, feature-rich interface. It provides improved styling with syntax highlighting (treesitter and LSP), context line expansion around matched results, and an editable quickfix buffer that allows applying bulk text changes across multiple source files on save. The plugin is implemented as a single modular Lua library using Neovim's `quickfixtextfunc` hook for rendering and leverages async processing for highlighting performance. It includes a suite of helper APIs for toggling, opening, closing, refreshing, and configuring the quickfix window. The codebase is well-structured, thoroughly tested, and actively maintained by a prolific Neovim plugin author.
This is a Neovim plugin written in Lua that wraps PlatformIO CLI commands for embedded development. It provides user-friendly Neovim commands (e.g., :Pioinit, :Piorun, :Piomon) to initialize projects, build/upload firmware, monitor serial ports, manage libraries, and generate LSP configurations. The architecture is modular: each command resides in its own file under lua/platformio/, with a shared utils module for terminal management and a picker abstraction layer that supports telescope and vim.ui.select backends. The plugin is well-structured, with clear separation of concerns, validation of user configuration, and a health check. It is a solid implementation of a typical Neovim plugin, but not exceptional. The picker abstraction is the most reusable component.
nvim-test is a Neovim plugin that provides a unified interface for running tests across multiple programming languages. It integrates with Neovim's terminal system to execute test commands (like jest, pytest, etc.) and displays results in a split window. The plugin features language-specific runners that use tree-sitter queries to identify test functions and navigate to the nearest test from the cursor. Key components include a base Runner class for abstraction, utility functions for file path resolution, and terminal adapters for both built-in and toggleterm implementations. The plugin is actively maintained with recent commits and CI workflows, showing low technical debt as it relies on Neovim's stable APIs and external test runners without complex dependencies.
colorful-menu.nvim is a Neovim plugin that enhances completion menus by providing Tree-sitter based syntax highlighting for completion items. It reconstructs context-aware code snippets from LSP completion data (e.g., turning a variable completion into 'var name Type') and applies semantic highlighting. The plugin integrates with nvim-cmp, blink.cmp, and Neovim's native LSP completion through well-defined entry points. Its architecture separates concerns: utility functions handle Tree-sitter parsing and text manipulation, language-specific modules implement reconstruction logic for various LSPs (gopls, rust-analyzer, etc.), and the core module coordinates these components. The plugin demonstrates strong text processing capabilities, particularly in its highlight range adjustment and truncation logic that preserves semantic highlighting during text modifications.
This Neovim plugin provides a floating window for entering ex-commands, featuring tab completion, history navigation (with optional smart history), and customizable keybindings. It is built on top of the nui.nvim library and offers a clean API for configuration and extension via hooks. The plugin handles compatibility across different Neovim versions (pre and post 0.7) for keymap settings. The implementation is focused and modular, separating concerns between UI setup, state management, and user interaction.
coc-snippets is a Neovim/Vim plugin that provides snippet completion and expansion for the coc.nvim completion framework. It supports multiple snippet formats including UltiSnips, snipmate, and VSCode snippets, allowing users to load snippets from various sources and use them as completion items in their code editing workflow. The extension follows a modular architecture where each snippet format is handled by a dedicated provider (e.g., UltiSnipsProvider, SnipmateProvider, TextmateProvider). A provider manager aggregates results from all active providers, filters and sorts them, and presents them as completion options. When a snippet is selected, it is expanded in the buffer with support for placeholders and tab stops. Key features include asynchronous loading of snippets to avoid blocking the UI, support for snippet context conditions (via UltiSnips context), and integration with coc.nvim's completion system. The extension also provides commands for editing snippets and listing available snippets. While the core functionality is well-implemented, the extension is tightly coupled to the coc.nvim API, which limits the reusability of individual components outside of the Neovim/Vim ecosystem. However, the utility module (src/util.ts) contains a collection of reusable functions for string manipulation, collections, and cryptographic operations that can be extracted with minimal modification.
SQLua.nvim is a Neovim plugin that transforms the editor into a SQL IDE. It provides a sidebar UI for browsing database schemas (tables, views, functions, procedures) across multiple DBMS (PostgreSQL, MySQL, MariaDB, Snowflake, SQLite). Connections are configured via a JSON file with JDBC-like URLs. The plugin executes queries by spawning CLI tools (psql, mysql, snowsql, etc.) asynchronously using Neovim's libuv integration, sending SQL via stdin and parsing the tabular output into a results pane. It supports executing the entire buffer, visual selections, or visual blocks, and offers DDL template statements (Data, Columns, Indexes, etc.) that generate queries on click. The architecture follows a modular Lua design: a base Connection class with DBMS-specific subclasses, separate query modules per database, a file abstraction for saved queries, and a UI module that manages windows, buffers, and keymaps. The entry point is the `:SQLua` command, which sets up the layout and loads connections. The plugin relies solely on Neovim 0.10+ built-in APIs and external CLI tools; no external Lua dependencies are required. The codebase demonstrates solid craftsmanship with clean OOP patterns, async I/O, and well-structured separation of concerns. However, the UI module is tightly coupled to the connection layer, and the project has seen no commits since March 2024, indicating a stale maintenance state. The core utility functions, particularly the JDBC URL parser in utils.lua, are self-contained and could be reused in other Lua projects.