vim.pack.add({ "https://github.com/nvim-mini/mini.nvim", "https://github.com/rafamadriz/friendly-snippets", { src = "https://github.com/nvim-treesitter/nvim-treesitter", branch = "main" }, "https://github.com/neovim/nvim-lspconfig", "https://github.com/mason-org/mason.nvim", "https://github.com/tpope/vim-fugitive", }) -- mini files ---- local MiniFiles = require("mini.files") MiniFiles.setup({ mappings = { go_in = "", go_in_plus = "L", go_out = "_", go_out_plus = "H", }, }) vim.keymap.set("n", "-", "lua MiniFiles.open()", { desc = "Toggle mini file explorer" }) vim.keymap.set("n", "-", function() MiniFiles.open(vim.api.nvim_buf_get_name(0), false) MiniFiles.reveal_cwd() end, { desc = "Toggle into currently opened file" }) ---- mini notify ---- require("mini.notify").setup({ -- only show messages content = { format = function(notif) return notif.msg end, }, }) --- mini cmdline completion --- require("mini.cmdline").setup({ autocorrect = { enable = false } }) --- mini surround --- require("mini.surround").setup() -- Default Keymaps -- | `sa` | Add surrounding or Direct with 'saiw' | -- | `sd` | Delete surrounding | -- | `sr` | Replace surrounding | -- | `sf` | Find surrounding (right) | -- | `sF` | Find surrounding (left) | -- | `sh` | Highlight surrounding | -- | `sn` | Update n_lines | -- | `l` / `n` | as suffix for prev/next | --- mini picker --- local MiniPick = require("mini.pick") local MiniExtra = require("mini.extra") MiniPick.setup() MiniExtra.setup() -- keymaps vim.keymap.set("n", "ff", function() MiniPick.builtin.files() end, { desc = "Mini File Picker" }) vim.keymap.set("n", "fw", function() MiniPick.builtin.grep({ pattern = vim.fn.expand("") }) end, { desc = "Grep word/Search word" }) vim.keymap.set("n", "vh", function() MiniPick.builtin.help() end, { desc = "Mini Help" }) vim.keymap.set("n", "ds", function() MiniExtra.pickers.diagnostic() end, { desc = "Mini Picker Diagnostics" }) vim.keymap.set("n", "sk", function() MiniExtra.pickers.keymaps() end, { desc = 'Search keymaps' }) --- mini completions --- require("mini.completion").setup({ lsp_completion = { auto_setup = true, } }) --- mini snippets --- local MiniSnippets = require("mini.snippets") MiniSnippets.setup({ snippets = { MiniSnippets.gen_loader.from_lang(), -- loads friendly-snippets }, }) MiniSnippets.start_lsp_server({ match = false }) --- mini diff and fugitive --- local MiniDiff = require("mini.diff") MiniDiff.setup({ source = MiniDiff.gen_source.git({ index = false }), }) vim.keymap.set("n", "gg", "tabnew | Git | only", { desc = "Fugitive Full Page New Tab" }) vim.keymap.set("n", "gd", "Gvdiffsplit", { desc = "Git diff split", })