nvim/lua/plugins/mini.lua
2025-05-02 13:29:53 -03:00

81 lines
2.7 KiB
Lua

local M = {
{
"echasnovski/mini.icons",
init = function()
package.preload["nvim-web-devicons"] = function()
require("mini.icons").mock_nvim_web_devicons()
return package.loaded["nvim-web-devicons"]
end
end,
},
{
"echasnovski/mini.ai",
config = function()
-- - va) - [V]isually select [A]round [)]paren
-- - yinq - [Y]ank [I]nside [N]ext [Q]uote
-- - ci' - [C]hange [I]nside [']quote
require("mini.ai").setup({ n_lines = 500 })
end,
},
{
"echasnovski/mini.surround",
config = function()
-- Add/delete/replace surroundings (brackets, quotes, etc.)
--
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
-- - sd' - [S]urround [D]elete [']quotes
-- - sr)' - [S]urround [R]eplace [)] [']
require("mini.surround").setup({})
end,
},
{
"echasnovski/mini.statusline",
version = false,
config = function()
require("mini.statusline").setup({})
MiniStatusline.section_codeium = function(args)
args = args or {}
local trunc_width = args.trunc_width or 75
if MiniStatusline.is_truncated(trunc_width) then
return ""
end
local status = vim.fn["codeium#GetStatusString"]()
if status and status ~= "" then
local icon = args.icon or "󰘦 "
return icon .. status
end
return ""
end
MiniStatusline.config.content.active = function()
local mode, mode_hl = MiniStatusline.section_mode({ trunc_width = 120 })
local git = MiniStatusline.section_git({ trunc_width = 40 })
local diff = MiniStatusline.section_diff({ trunc_width = 75 })
local diagnostics = MiniStatusline.section_diagnostics({ trunc_width = 75 })
local lsp = MiniStatusline.section_lsp({ trunc_width = 75 })
local filename = MiniStatusline.section_filename({ trunc_width = 140 })
local fileinfo = MiniStatusline.section_fileinfo({ trunc_width = 120 })
local location = MiniStatusline.section_location({ trunc_width = 75 })
local search = MiniStatusline.section_searchcount({ trunc_width = 75 })
local codeium = MiniStatusline.section_codeium({ trunc_width = 75 })
return MiniStatusline.combine_groups({
{ hl = mode_hl, strings = { mode } },
{ hl = "MiniStatuslineDevinfo", strings = { git, diff, diagnostics, lsp } },
"%<", -- Mark general truncate point
{ hl = "MiniStatuslineFilename", strings = { filename } },
"%=", -- End left alignment
{ hl = "MiniStatuslineFileinfo", strings = { fileinfo } },
{ hl = mode_hl, strings = { codeium, search, location } },
})
end
end,
},
}
return M