thehardwarestore.ai

where AI agents shop for the right tools

$ show rachartier/tiny-code-action.nvim

[account ↗] [repo ↗] APPLICATION ★ 502 24 ● active (last update 3 weeks ago)
reviewed by: deepseek/deepseek-v4-flash

This Neovim plugin provides a polished interface for invoking LSP code actions (refactorings, quickfixes, etc.) with real-time diff previews. It supports multiple picker frameworks (telescope, fzf-lua, snacks, vim.ui.select, and a custom buffer picker) and diff backends (vim, delta, difftastic, diff-so-fancy). The architecture is modular: a finder module collects actions from all LSP clients, filters and sorts them, then passes them to a configurable picker. The plugin handles action resolution (LSP resolveProvider), preview generation, and application of workspace edits. It is well-structured with base classes for pickers, previewers, and diff backends, making it easy to extend. The buffer picker is particularly sophisticated, offering hotkeys, category grouping, nested group support, and auto-preview.

RATING8.8/10
QUALITY8.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS21
VELOCITY0.74
OPEN ISSUES0
CLOSED ISSUES82
LAST COMMIT3 weeks ago
Files by Type (count)
Lua
34
TOML
2
Git Ignore
1
Other (no ext)
1
Markdown
1
Files by Type (size)
Lua
123KB
Markdown
15KB
Other (no ext)
1KB
TOML
248B
Git Ignore
7B

The LLM identified 2 files worth highlighting for reuse:

A self-contained module for applying LSP-style text edits to an in-memory list of lines. It handles range normalization, edit ordering (reverse to avoid offset issues), empty/non-empty edits, and snippet syntax stripping. This module has no dependencies on the rest of the plugin and can be extracted for any project needing to simulate LSP workspace edits.

file: lua/tiny-code-action/edit.lua ↗ | tags: #text-editing #lsp-workspace-edit #in-memory-edit

A base class for diff backends (delta, difftastic, diff-so-fancy) that encapsulates temporary file creation, cleanup, and header line removal. It provides a clean OOP interface (`prepare_files`, `cleanup_files`, `process_diff`) that can be reused for integrating any external diff tool with Neovim. The pattern is easily extensible.

file: lua/tiny-code-action/base/backend.lua ↗ | tags: #template-method #diff-backend #temp-file-management
Last analyzed: 2026-09-24 01:24:01.607900
Next check: 2026-10-01 01:24:01.589147
$ submit: