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