Skip to content

[plugins] mini.comment, mini.splitjoin, mini.move — zero-cost additions from installed mini.nvim #294

Description

@stanfish06

What

mini.nvim is already installed and carries 45+ independent modules; only mini.icons and mini.pairs are currently enabled. Three more modules directly complement the existing coding workflow with no new git clone, no build step, and no added dependencies.


1. mini.comment — language-agnostic commenting

Adds gc (comment operator) and gcc (comment current line). Treesitter picks the correct comment syntax per language automatically. Covers every language already in the config (Lua, Python, Rust, Go, C/C++, JS/TS, Swift). No competitor exists in the current setup — there is no commenting plugin at all today.

require("mini.comment").setup()

2. mini.splitjoin — split/join structured arguments

gS splits a single-line construct (function args, table literals, arrays) to multi-line; gJ joins them back. Complements refactoring.nvim and the <CR> auto-indent keymap in options.lua.

require("mini.splitjoin").setup()

3. mini.move — move lines and selections in any direction

<M-h/j/k/l> moves the current line or a visual selection without cut-paste gymnastics. Complements the >/< visual indent keymaps in options.lua.

require("mini.move").setup()

Why it matters

All three modules are already on disk inside the installed mini.nvim pack. A single setup() call each is all that's needed; zero new network traffic or compilation. mini.comment is especially impactful since there is currently no commenting workflow at all.

Recommended action

Add to lua/config/plugin_config.lua after the existing mini_pairs block:

local mini_comment_ok, mini_comment = pcall(require, "mini.comment")
if mini_comment_ok and not is_vscode then mini_comment.setup() end

local mini_splitjoin_ok, mini_splitjoin = pcall(require, "mini.splitjoin")
if mini_splitjoin_ok and not is_vscode then mini_splitjoin.setup() end

local mini_move_ok, mini_move = pcall(require, "mini.move")
if mini_move_ok and not is_vscode then mini_move.setup() end

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions