Skip to content

[plugins] New plugin suggestions for current workflow #31

@stanfish06

Description

@stanfish06

Five plugin suggestions that complement the existing setup without overlap or bloat. Inferred from the installed LSPs (lua, python, c/cpp, ts/js, rust, go, swift), the sneak + fzf-lua navigation style, the conform formatting workflow, and the custom statusline + scopeline.


1. blink.cmp — automatic LSP completion popup

Repo: https://github.com/Saghen/blink.cmp

The config currently uses only native omnifunc (<C-Space> triggers <C-x><C-o>). blink.cmp provides an always-on popup that sources completions from all attached LSP clients automatically, with fuzzy matching, signature help, and snippet support. It is written in Rust for performance and has become the de-facto modern replacement for nvim-cmp. The existing vim.opt.completeopt = { "menu", "menuone", "noinsert", "fuzzy" } setting shows an interest in completion UX — blink.cmp takes that further without requiring any LSP config changes.


2. mini.comment — single-key code commenting

Repo: https://github.com/echasnovski/mini.comment (part of mini.nvim)

There is no commenting plugin in this config. mini.comment adds gc{motion} and gcc (toggle current line) using Treesitter to detect the correct comment style per language. It is zero-config, has no dependencies, and is one file. Given the multi-language LSP setup (Lua, Python, C, TypeScript, Rust, Go, Swift), correct comment strings per filetype is a real quality-of-life win.


3. nvim-dap + nvim-dap-ui — debugging

Repos: https://github.com/mfussenegger/nvim-dap / https://github.com/rcarriga/nvim-dap-ui

The config has LSP for six compiled/typed languages (C, Rust, Go, TypeScript, Python, Swift) but no debugger. nvim-dap implements the Debug Adapter Protocol so the same key bindings work across all these languages. nvim-dap-ui provides a floating panel with breakpoints, call stack, and variable inspection. This is the natural next step for a config that already invests in per-language LSP and formatting.


4. vim-repeat — make . work with vim-sneak

Repo: https://github.com/tpope/vim-repeat

vim-sneak (sneaks.vim) is installed. Without vim-repeat, pressing . after a sneak motion does not repeat the motion — it repeats the last native change instead. vim-repeat is a one-file plugin that hooks into Neovim's repeat mechanism and is explicitly supported by vim-sneak. Zero configuration needed.


5. mini.surround — add/change/delete surrounding pairs

Repo: https://github.com/echasnovski/mini.surround (part of mini.nvim)

The custom <CR> handler in options.lua (auto-expanding {} and ()) shows interest in bracket-pair ergonomics. mini.surround extends that with sa{motion}{char} (add surround), sd{char} (delete surround), and sr{from}{to} (replace surround). Works with Treesitter for smart pair detection. No dependencies; pairs naturally with vim-sneak's motion-first style.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions