From c32d895f9b2b2e7c187c107681fd45fb07cb1eb7 Mon Sep 17 00:00:00 2001 From: sevi-kun Date: Sat, 18 May 2024 00:37:07 +0200 Subject: [PATCH] New mini.nvim plugins and cleanup --- after/plugin/autoclose.lua | 31 ++++--------- after/plugin/barbecue.lua | 2 +- after/plugin/lsp.lua | 6 +-- after/plugin/mini.lua | 54 ++++++++++++++++++++++ after/plugin/oil.lua | 26 ++--------- after/plugin/sessions.lua | 6 +-- after/plugin/telescope.lua | 8 ++-- after/plugin/treesitter.lua | 41 +++++++++++------ lua/sevi-kun/plugins.lua | 91 ++++++++++++++++++++++++++++--------- lua/sevi-kun/remap.lua | 4 +- 10 files changed, 177 insertions(+), 92 deletions(-) create mode 100644 after/plugin/mini.lua diff --git a/after/plugin/autoclose.lua b/after/plugin/autoclose.lua index 7e8ceb3..99b3797 100644 --- a/after/plugin/autoclose.lua +++ b/after/plugin/autoclose.lua @@ -1,23 +1,12 @@ --- Close brackets -local config = { - keys = { - ["("] = { escape = false, close = true, pair = "()", disabled_filetypes = {} }, - ["["] = { escape = false, close = true, pair = "[]", disabled_filetypes = {} }, - ["{"] = { escape = false, close = true, pair = "{}", disabled_filetypes = {} }, +local autoclose = require("autoclose") - [">"] = { escape = true, close = false, pair = "<>", disabled_filetypes = {} }, - [")"] = { escape = true, close = false, pair = "()", disabled_filetypes = {} }, - ["]"] = { escape = true, close = false, pair = "[]", disabled_filetypes = {} }, - ["}"] = { escape = true, close = false, pair = "{}", disabled_filetypes = {} }, +autoclose.setup({ + options = { + disabled_filetypes = { "text", "markdown", "neogit", }, + disable_when_touch = true, + pair_spaces = true, + auto_indent = true, + disable_command_mode = true, + }, +}) - ['"'] = { escape = true, close = true, pair = '""', disabled_filetypes = {} }, - ["'"] = { escape = true, close = true, pair = "''", disabled_filetypes = {} }, - ["`"] = { escape = true, close = true, pair = "``", disabled_filetypes = {} }, - }, - options = { - disabled_filetypes = { "text", "markdown", "norg" }, - disable_when_touch = false, - pair_spaces = false, - auto_indent = true, - }, -} diff --git a/after/plugin/barbecue.lua b/after/plugin/barbecue.lua index 7ed335b..21ea9c1 100644 --- a/after/plugin/barbecue.lua +++ b/after/plugin/barbecue.lua @@ -19,7 +19,7 @@ require("barbecue").setup({ ---modified. --- ---@type boolean - show_modified = false, + show_modified = true, ---Get modified status of file. --- diff --git a/after/plugin/lsp.lua b/after/plugin/lsp.lua index 47f7fb7..a33c4c1 100644 --- a/after/plugin/lsp.lua +++ b/after/plugin/lsp.lua @@ -1,4 +1,4 @@ -local lsp_zero = require('lsp-zero') +local lsp_zero = require("lsp-zero") lsp_zero.on_attach(function(client, bufnr) -- see :help lsp-zero-keybindings @@ -6,8 +6,8 @@ lsp_zero.on_attach(function(client, bufnr) lsp_zero.default_keymaps({buffer = bufnr}) end) -require('mason').setup({}) -require('mason-lspconfig').setup({ +require("mason").setup({}) +require("mason-lspconfig").setup({ ensure_installed = {}, handlers = { lsp_zero.default_setup, diff --git a/after/plugin/mini.lua b/after/plugin/mini.lua new file mode 100644 index 0000000..47af15d --- /dev/null +++ b/after/plugin/mini.lua @@ -0,0 +1,54 @@ +-- Configuration of mini.nvim plugins + +-- mini.map + +local map = require("mini.map") +map.setup({ + symbols = { + encode = map.gen_encode_symbols.dot("3x2") + }, + window = { + width = 16, + show_integration_count = false + }, + integrations = { + map.gen_integration.diagnostic({ + error = "DiagnosticFloatingError", + warn = "DiagnosticFloatingWarn", + info = "DiagnosticFloatingInfo", + hint = "DiagnosticFloatingHint", + }), + map.gen_integration.builtin_search(), + }, +}) + + +local animate = require("mini.animate") +animate.setup({ + cursor = { + timing = animate.gen_timing.linear({ duration = 150, unit = "total" }) + }, + scroll = { + timing = animate.gen_timing.linear({ duration = 150, unit = "total" }) + }, + resize = { + timing = animate.gen_timing.linear({ duration = 150, unit = "total" }) + }, + open = { + timing = animate.gen_timing.linear({ duration = 150, unit = "total" }) + }, + close = { + timing = animate.gen_timing.linear({ duration = 150, unit = "total" }) + }, +}) + + + + + +vim.keymap.set("n", "mc", map.close) +vim.keymap.set("n", "mf", map.toggle_focus) +vim.keymap.set("n", "mo", map.open) +vim.keymap.set("n", "mr", map.refresh) +vim.keymap.set("n", "ms", map.toggle_side) +vim.keymap.set("n", "mt", map.toggle) diff --git a/after/plugin/oil.lua b/after/plugin/oil.lua index 5800ec1..d4856ff 100644 --- a/after/plugin/oil.lua +++ b/after/plugin/oil.lua @@ -1,4 +1,4 @@ -require('oil').setup({ +require("oil").setup({ default_file_explorer = false, columns = { @@ -10,8 +10,8 @@ require('oil').setup({ float = { -- Padding around the floating window - padding = 8, - max_width = 80, + padding = 12, + max_width = 120, max_height = 64, border = "rounded", win_options = { @@ -22,23 +22,7 @@ require('oil').setup({ override = function(conf) return conf end, - }, - - keymaps = { - ["g?"] = "actions.show_help", - [""] = "actions.select", - [""] = "actions.select_vsplit", - [""] = "actions.select_split", - [""] = "actions.select_tab", - [""] = "actions.preview", - [""] = "actions.close", - [""] = "actions.refresh", - ["-"] = "actions.parent", - ["_"] = "actions.open_cwd", - ["`"] = "actions.cd", - ["~"] = "actions.tcd", - ["g."] = "actions.toggle_hidden", - }, + } }) -vim.keymap.set('n', '-', ":Oil --float ") +vim.keymap.set("n", "-", ":Oil --float ") diff --git a/after/plugin/sessions.lua b/after/plugin/sessions.lua index 12bd07e..9cc8968 100644 --- a/after/plugin/sessions.lua +++ b/after/plugin/sessions.lua @@ -3,11 +3,11 @@ require("auto-session").setup { auto_session_suppress_dirs = { "~/", "~/Projects", "~/Downloads", "/"}, } -require('session-lens').setup({ - path_display = {'shorten'}, +require("session-lens").setup({ + path_display = {"shorten"}, theme_conf = { border = true }, previewer = false, }) -vim.keymap.set('n', 'ss', ":SearchSession") +vim.keymap.set("n", "ss", ":SearchSession") diff --git a/after/plugin/telescope.lua b/after/plugin/telescope.lua index 606f49b..327df9d 100644 --- a/after/plugin/telescope.lua +++ b/after/plugin/telescope.lua @@ -1,7 +1,7 @@ -- finding files in working dir and repo -local builtin = require('telescope.builtin') -vim.keymap.set('n', 'ff', builtin.find_files, {}) -vim.keymap.set('n', 'pf', builtin.git_files, {}) -vim.keymap.set('n', 'ps', function() +local builtin = require("telescope.builtin") +vim.keymap.set("n", "ff", builtin.find_files, {}) +vim.keymap.set("n", "pf", builtin.git_files, {}) +vim.keymap.set("n", "ps", function() builtin.grep_string({ search = vim.fn.input("Grep > ") }); end) diff --git a/after/plugin/treesitter.lua b/after/plugin/treesitter.lua index 717b1e1..d84675c 100644 --- a/after/plugin/treesitter.lua +++ b/after/plugin/treesitter.lua @@ -1,21 +1,32 @@ -- parsing and highlighting -require'nvim-treesitter.configs'.setup { - -- A list of parser names, or "all" (the five listed parsers should always be installed) +require"nvim-treesitter.configs".setup { + -- A list of parser names, or "all" (the five listed parsers should always be installed) - ensure_installed = 'all', - -- Install parsers synchronously (only applied to `ensure_installed`) - sync_install = false, + ensure_installed = "all", + -- Install parsers synchronously (only applied to `ensure_installed`) + sync_install = false, - -- Automatically install missing parsers when entering buffer - -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally - auto_install = true, + -- Automatically install missing parsers when entering buffer + -- Recommendation: set to false if you don"t have `tree-sitter` CLI installed locally + auto_install = true, - highlight = { - enable = true, - }, - -- Needed because treesitter highlight turns off autoindent for php files - indent = { - enable = true, - }, + incremental_selection = { + enable = true, + keymaps = { + init_selection = "gnn", + node_incremental = "grn", + scope_incremental = "grc", + node_decremental = "grm", + }, + }, + + highlight = { + enable = true, + }, + + -- Needed because treesitter highlight turns off autoindent for php files + indent = { + enable = true, + }, } diff --git a/lua/sevi-kun/plugins.lua b/lua/sevi-kun/plugins.lua index d98edd2..57fcde0 100644 --- a/lua/sevi-kun/plugins.lua +++ b/lua/sevi-kun/plugins.lua @@ -10,6 +10,9 @@ return { -- useful + + { dir = "/mnt/nas_belar/code/vim-plugins/narrator.nvim" }, + { "rmagatti/session-lens", dependencies = { "rmagatti/auto-session", @@ -23,7 +26,7 @@ return { }, { "ThePrimeagen/harpoon", - branch = "harpoon2", + branch = "harpoon2", dependencies = { "nvim-lua/plenary.nvim" }, }, @@ -48,20 +51,9 @@ return { end }, - { "numToStr/Comment.nvim", - lazy = false, - config = function() - require("Comment").setup() - end - }, - { "mbbill/undotree" }, - { "m4xshen/autoclose.nvim", - config = function () - require("autoclose").setup() - end - }, + { "m4xshen/autoclose.nvim" }, -- pretty @@ -94,23 +86,78 @@ return { }, + -- mini + + { "echasnovski/mini.basics", + version = false, + config = function() + require("mini.basics").setup() + end + }, + + { "echasnovski/mini.ai", + version = false, + config = function() + require("mini.ai").setup() + end + }, + + { "echasnovski/mini.comment", + version = false, + config = function() + require("mini.comment").setup() + end + }, + + { "echasnovski/mini.map", + version = false, + }, + + { "echasnovski/mini.statusline", + version = false, + config = function() + require("mini.statusline").setup() + end + }, + + { "echasnovski/mini.animate", + version = false, + config = function() + require("mini.animate").setup() + end + }, + + { "echasnovski/mini.fuzzy", + version = false, + config = function() + require("mini.fuzzy").setup() + end + }, + + { "echasnovski/mini.splitjoin", + version = false, + config = function() + require("mini.splitjoin").setup() + end + }, + + -- lsp - { - "Exafunction/codeium.vim", + { "Exafunction/codeium.vim", event = "BufEnter" }, - {"williamboman/mason.nvim", + { "williamboman/mason.nvim", config = function() require("mason").setup({}) end }, - {"williamboman/mason-lspconfig.nvim"}, + { "williamboman/mason-lspconfig.nvim" }, - {"VonHeikemen/lsp-zero.nvim", branch = "v3.x"}, - {"neovim/nvim-lspconfig"}, - {"hrsh7th/cmp-nvim-lsp"}, - {"hrsh7th/nvim-cmp"}, - {"L3MON4D3/LuaSnip"}, + { "VonHeikemen/lsp-zero.nvim", branch = "v3.x" }, + { "neovim/nvim-lspconfig" }, + { "hrsh7th/cmp-nvim-lsp" }, + { "hrsh7th/nvim-cmp" }, + { "L3MON4D3/LuaSnip" }, } diff --git a/lua/sevi-kun/remap.lua b/lua/sevi-kun/remap.lua index a58d062..f8714d0 100644 --- a/lua/sevi-kun/remap.lua +++ b/lua/sevi-kun/remap.lua @@ -5,8 +5,6 @@ vim.keymap.set("n", ".", vim.cmd.Ex) vim.keymap.set("n", "", ":e #") -vim.keymap.set("n", "w", ":wq") - vim.keymap.set("v", "J", ":m '>+1gv=gv") vim.keymap.set("v", "K", ":m '<-2gv=gv") @@ -22,3 +20,5 @@ vim.keymap.set("v", "y", "\"+y") vim.keymap.set("n", "Y", "\"+Y") vim.keymap.set("n", "", ":make") + +vim.keymap.set("n", "l", ":noh")