From 0a7aa13d9e8a0e526353c6538d8cf2d365ade86b Mon Sep 17 00:00:00 2001 From: triethyl Date: Wed, 5 Nov 2025 20:38:53 -0500 Subject: neovim: lots of new mini plugins and configs --- .../config/lua/plugins/mini-completion.lua | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 pkgs/custom-neovim/config/lua/plugins/mini-completion.lua (limited to 'pkgs/custom-neovim/config/lua/plugins/mini-completion.lua') diff --git a/pkgs/custom-neovim/config/lua/plugins/mini-completion.lua b/pkgs/custom-neovim/config/lua/plugins/mini-completion.lua new file mode 100644 index 0000000..7cc0fa6 --- /dev/null +++ b/pkgs/custom-neovim/config/lua/plugins/mini-completion.lua @@ -0,0 +1,39 @@ +return { + "mini.completion", + enabled = true, + lazy = true, + event = "InsertEnter", + after = function() + require("mini.completion").setup { + window = { + info = { + border = "rounded", + }, + signature = { + border = "rounded", + }, + }, + } + local imap_expr = function(lhs, rhs) + vim.keymap.set('i', lhs, rhs, { expr = true }) + end + imap_expr('', [[pumvisible() ? "\" : "\"]]) + imap_expr('', [[pumvisible() ? "\" : "\"]]) + + -- Disable arrow keys from navigating completion window. + -- I like to navigate inside insert mode and the window prevents that. + + vim.keymap.set('i', '', function() + -- cancel completion popup + vim.fn.complete(vim.fn.col('.'), {}) + + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes('', true, false, true), 'n', true) + end, { noremap = true, desc = 'Cancel completion and move cursor up' }) + + vim.keymap.set('i', '', function() + vim.fn.complete(vim.fn.col('.'), {}) + + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes('', true, false, true), 'n', true) + end, { noremap = true, desc = 'Cancel completion and move cursor down' }) + end +} -- cgit v1.2.3