diff --git a/.config/nvim/lua/core/keymaps.lua b/.config/nvim/lua/core/keymaps.lua index 6ff4c31..da4a524 100644 --- a/.config/nvim/lua/core/keymaps.lua +++ b/.config/nvim/lua/core/keymaps.lua @@ -135,6 +135,8 @@ keymap({ "n", "v" }, "lf", function() require("conform").format({ async = true, lsp_fallback = true }) end, vim.tbl_extend("force", opts, { desc = "Format the current buffer or selection" })) +keymap({ "n", "v" }, "o", "Outline", vim.tbl_extend("force", opts, { desc = "Toogle Outline" })) + -- Neotest keymap( "n", @@ -216,20 +218,6 @@ keymap( vim.tbl_extend("force", opts, { desc = "Open a Telescope prompt to show all commands" }) ) --- Comment -keymap( - "n", - "/", - "lua require'Comment.api'.toggle.linewise.current()", - vim.tbl_extend("force", opts, { desc = "Comment/Uncomment code lines" }) -) -keymap( - "x", - "/", - "lua require'Comment.api'.toggle.linewise(vim.fn.visualmode())", - vim.tbl_extend("force", opts, { desc = "Comment/Uncomment code lines on visual block mode" }) -) - -- Gitdiff keymap( "n", diff --git a/.config/nvim/lua/core/lazy.lua b/.config/nvim/lua/core/lazy.lua index d656bc1..6cd9867 100644 --- a/.config/nvim/lua/core/lazy.lua +++ b/.config/nvim/lua/core/lazy.lua @@ -87,11 +87,13 @@ require("lazy").setup({ -- Plugins { "nvim-lua/plenary.nvim", lazy = true }, + { "echasnovski/mini.animate", event = "VeryLazy", version = "*" }, + { "echasnovski/mini.comment", event = "VeryLazy", version = "*" }, + { "echasnovski/mini.pairs", event = "VeryLazy", version = "*" }, { "echasnovski/mini.starter", lazy = "VimEnter", version = "*" }, - { "echasnovski/mini.animate", version = "*" }, - { "windwp/nvim-autopairs" }, - { "numToStr/Comment.nvim" }, - { "JoosepAlviste/nvim-ts-context-commentstring" }, + { "JoosepAlviste/nvim-ts-context-commentstring", lazy = true, opts = { + enable_autocmd = false, + } }, { "nvim-tree/nvim-web-devicons", lazy = true }, { "akinsho/bufferline.nvim", event = "VeryLazy", version = "v4.*" }, { "moll/vim-bbye" }, @@ -161,6 +163,7 @@ require("lazy").setup({ event = { "BufWritePre" }, cmd = { "ConformInfo" }, }, + { "hedyhli/outline.nvim", opts = {} }, -- Telescope { "nvim-telescope/telescope.nvim", cmd = "Telescope" }, diff --git a/.config/nvim/lua/plugins/animate.lua b/.config/nvim/lua/plugins/animate.lua deleted file mode 100644 index ddb5be8..0000000 --- a/.config/nvim/lua/plugins/animate.lua +++ /dev/null @@ -1 +0,0 @@ -require("mini.animate").setup() diff --git a/.config/nvim/lua/plugins/autopairs.lua b/.config/nvim/lua/plugins/autopairs.lua deleted file mode 100644 index f4233b5..0000000 --- a/.config/nvim/lua/plugins/autopairs.lua +++ /dev/null @@ -1,18 +0,0 @@ -require("nvim-autopairs").setup({ - check_ts = true, - disable_filetype = { "TelescopePrompt", "neo-tree" }, - ts_config = { - lua = { "string", "source" }, - }, - fast_wrap = { - map = "", - chars = { "{", "[", "(", '"', "'" }, - pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""), - offset = 0, - end_key = "$", - keys = "qwertyuiopzxcvbnmasdfghjkl", - check_comma = true, - highlight = "PmenuSel", - highlight_grey = "LineNr", - }, -}) diff --git a/.config/nvim/lua/plugins/comment.lua b/.config/nvim/lua/plugins/comment.lua deleted file mode 100644 index 8d24574..0000000 --- a/.config/nvim/lua/plugins/comment.lua +++ /dev/null @@ -1,9 +0,0 @@ -require("ts_context_commentstring").setup({ - enable_autocmd = false, -}) - -require("Comment").setup({ - pre_hook = require("ts_context_commentstring.integrations.comment_nvim").create_pre_hook(), -}) - -vim.g.skip_ts_context_commentstring_module = true diff --git a/.config/nvim/lua/plugins/init.lua b/.config/nvim/lua/plugins/init.lua index b6e9bc8..239746e 100644 --- a/.config/nvim/lua/plugins/init.lua +++ b/.config/nvim/lua/plugins/init.lua @@ -2,10 +2,11 @@ require("plugins.blink") require("plugins.copilot") require("plugins.avante") require("plugins.telescope") -require("plugins.starter") +require("plugins.mini-animate") +require("plugins.mini-comment") +require("plugins.mini-pairs") +require("plugins.mini-starter") require("plugins.treesitter") -require("plugins.autopairs") -require("plugins.comment") require("plugins.gitsigns") require("plugins.neo-tree") require("plugins.illuminate") diff --git a/.config/nvim/lua/plugins/mini-animate.lua b/.config/nvim/lua/plugins/mini-animate.lua new file mode 100644 index 0000000..6697a2f --- /dev/null +++ b/.config/nvim/lua/plugins/mini-animate.lua @@ -0,0 +1,34 @@ +local mouse_scrolled = false +for _, scroll in ipairs({ "Up", "Down" }) do + local key = "" + vim.keymap.set({ "", "i" }, key, function() + mouse_scrolled = true + return key + end, { expr = true }) +end + +vim.api.nvim_create_autocmd({ "FileType" }, { + pattern = { "grug-far", "ministarter" }, + callback = function() + vim.b.minianimate_disable = true + end, +}) + +local animate = require("mini.animate") +animate.setup({ + resize = { + timing = animate.gen_timing.linear({ duration = 50, unit = "total" }), + }, + scroll = { + timing = animate.gen_timing.linear({ duration = 150, unit = "total" }), + subscroll = animate.gen_subscroll.equal({ + predicate = function(total_scroll) + if mouse_scrolled then + mouse_scrolled = false + return false + end + return total_scroll > 1 + end, + }), + }, +}) diff --git a/.config/nvim/lua/plugins/mini-comment.lua b/.config/nvim/lua/plugins/mini-comment.lua new file mode 100644 index 0000000..81530ca --- /dev/null +++ b/.config/nvim/lua/plugins/mini-comment.lua @@ -0,0 +1,14 @@ +require("mini.comment").setup({ + options = { + custom_commentstring = function() + return require("ts_context_commentstring.internal").calculate_commentstring() or vim.bo.commentstring + end, + }, + + mappings = { + comment = "/", + comment_line = "/", + comment_visual = "/", + textobject = "/", + }, +}) diff --git a/.config/nvim/lua/plugins/mini-pairs.lua b/.config/nvim/lua/plugins/mini-pairs.lua new file mode 100644 index 0000000..3ec3282 --- /dev/null +++ b/.config/nvim/lua/plugins/mini-pairs.lua @@ -0,0 +1,3 @@ +require("mini.pairs").setup({ + modes = { insert = true, command = true, terminal = false }, +}) diff --git a/.config/nvim/lua/plugins/starter.lua b/.config/nvim/lua/plugins/mini-starter.lua similarity index 100% rename from .config/nvim/lua/plugins/starter.lua rename to .config/nvim/lua/plugins/mini-starter.lua diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index e62b3c7..dac242b 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -1,9 +1,11 @@ require("nvim-treesitter.configs").setup({ ensure_installed = { "bash", + "comment", "diff", "go", "gomod", + "gosum", "gowork", "java", "javascript",