From aa15a0fe47418a2fe1354589a3dafd3ae8c3db42 Mon Sep 17 00:00:00 2001 From: Thomas Vanbesien Date: Fri, 12 Jun 2026 22:56:03 +0200 Subject: refactor(nvim): rename file --- .config/nvim/plugin/50-autocompletion.lua | 81 +++++++++++++++++++++++++++++++ .config/nvim/plugin/50-completion.lua | 81 ------------------------------- 2 files changed, 81 insertions(+), 81 deletions(-) create mode 100644 .config/nvim/plugin/50-autocompletion.lua delete mode 100644 .config/nvim/plugin/50-completion.lua (limited to '.config/nvim') diff --git a/.config/nvim/plugin/50-autocompletion.lua b/.config/nvim/plugin/50-autocompletion.lua new file mode 100644 index 0000000..caf749d --- /dev/null +++ b/.config/nvim/plugin/50-autocompletion.lua @@ -0,0 +1,81 @@ +-- +-- Completion configuration plugin +-- + +------------------------------------------------------------------------------------------------------------------------ +-- Insert mode completion +------------------------------------------------------------------------------------------------------------------------ +-- See `:help ins-completion-menu` + +vim.opt.autocomplete = true -- Show completion menu automatically +vim.opt.completeopt = { + "noselect", -- No item selected initially + "fuzzy", + "menuone", -- Show matches in a menu, even if there's only one match + "popup", -- Menu items show extra info in the popup window +} + +-- Completion sources (in order of priority) +vim.opt.complete = { + "o", -- 'omnifunc' +} +vim.opt.pumwidth = 25 +vim.keymap.set("i", "", function() + return vim.fn.pumvisible() == 1 and "" or "" +end, { expr = true }) +vim.keymap.set("i", "", function() + return vim.fn.pumvisible() == 1 and "" or "" +end, { expr = true }) + +-- Jump between snippet placeholders, falling back to native behavior when no snippet is active +vim.keymap.set({ "i", "s" }, "", function() + return vim.snippet.active({ direction = 1 }) and "lua vim.snippet.jump(1)" or "" +end, { expr = true }) +vim.keymap.set({ "i", "s" }, "", function() + return vim.snippet.active({ direction = -1 }) and "lua vim.snippet.jump(-1)" or "" +end, { expr = true }) + +------------------------------------------------------------------------------------------------------------------------ +-- Command-line mode completion +------------------------------------------------------------------------------------------------------------------------ +-- See `:help cmdline-completion` and `:help cmdline-autocompletion` + +-- Show completion menu automatically +vim.api.nvim_create_autocmd({ "CmdlineChanged", "CmdlineEnter" }, { + desc = "Autocompletion", + group = vim.g.dotfiles.augroup, + pattern = "[:\\/\\?]", + callback = function() + vim.fn.wildtrigger() + end, +}) +vim.opt.wildmenu = true -- Show completions in a menu +vim.opt.wildchar = 9 -- Char code assigned to command line wildcard expansion +vim.opt.pumborder = "rounded" +vim.opt.wildoptions = { + "exacttext", -- Discard regex artifacts when performing search pattern completion + "pum", -- Show completions in a popup menu + "tagfile", -- Show tag kind and file + "fuzzy", -- Fuzzy matching (doesn't work with files/dirs, see `:help 'wildoptions'`, but patterns do work!) +} +-- Completion modes triggered in order by `wildtrigger()` or 'wildchar' +vim.opt.wildmode = { + "noselect", -- List matches without inserting + "full", -- List matches and insert first full match +} +-- Insert unique match +vim.keymap.set("c", string.format("%c", vim.o.wildchar), function() + local complete_info = vim.fn.cmdcomplete_info() + if complete_info.pum_visible == 1 then + return #complete_info.matches == 1 and "" or "" + end + vim.fn.wildtrigger() +end, { expr = true, desc = "Command line wildcard expansion" }) +-- Show next completion choices after accepting an entry with `` +vim.keymap.set("c", "", function() + local complete_info = vim.fn.cmdcomplete_info() + if complete_info.pum_visible == 1 then + return complete_info.selected ~= -1 and "" or "" + end + return "" +end, { expr = true }) diff --git a/.config/nvim/plugin/50-completion.lua b/.config/nvim/plugin/50-completion.lua deleted file mode 100644 index caf749d..0000000 --- a/.config/nvim/plugin/50-completion.lua +++ /dev/null @@ -1,81 +0,0 @@ --- --- Completion configuration plugin --- - ------------------------------------------------------------------------------------------------------------------------- --- Insert mode completion ------------------------------------------------------------------------------------------------------------------------- --- See `:help ins-completion-menu` - -vim.opt.autocomplete = true -- Show completion menu automatically -vim.opt.completeopt = { - "noselect", -- No item selected initially - "fuzzy", - "menuone", -- Show matches in a menu, even if there's only one match - "popup", -- Menu items show extra info in the popup window -} - --- Completion sources (in order of priority) -vim.opt.complete = { - "o", -- 'omnifunc' -} -vim.opt.pumwidth = 25 -vim.keymap.set("i", "", function() - return vim.fn.pumvisible() == 1 and "" or "" -end, { expr = true }) -vim.keymap.set("i", "", function() - return vim.fn.pumvisible() == 1 and "" or "" -end, { expr = true }) - --- Jump between snippet placeholders, falling back to native behavior when no snippet is active -vim.keymap.set({ "i", "s" }, "", function() - return vim.snippet.active({ direction = 1 }) and "lua vim.snippet.jump(1)" or "" -end, { expr = true }) -vim.keymap.set({ "i", "s" }, "", function() - return vim.snippet.active({ direction = -1 }) and "lua vim.snippet.jump(-1)" or "" -end, { expr = true }) - ------------------------------------------------------------------------------------------------------------------------- --- Command-line mode completion ------------------------------------------------------------------------------------------------------------------------- --- See `:help cmdline-completion` and `:help cmdline-autocompletion` - --- Show completion menu automatically -vim.api.nvim_create_autocmd({ "CmdlineChanged", "CmdlineEnter" }, { - desc = "Autocompletion", - group = vim.g.dotfiles.augroup, - pattern = "[:\\/\\?]", - callback = function() - vim.fn.wildtrigger() - end, -}) -vim.opt.wildmenu = true -- Show completions in a menu -vim.opt.wildchar = 9 -- Char code assigned to command line wildcard expansion -vim.opt.pumborder = "rounded" -vim.opt.wildoptions = { - "exacttext", -- Discard regex artifacts when performing search pattern completion - "pum", -- Show completions in a popup menu - "tagfile", -- Show tag kind and file - "fuzzy", -- Fuzzy matching (doesn't work with files/dirs, see `:help 'wildoptions'`, but patterns do work!) -} --- Completion modes triggered in order by `wildtrigger()` or 'wildchar' -vim.opt.wildmode = { - "noselect", -- List matches without inserting - "full", -- List matches and insert first full match -} --- Insert unique match -vim.keymap.set("c", string.format("%c", vim.o.wildchar), function() - local complete_info = vim.fn.cmdcomplete_info() - if complete_info.pum_visible == 1 then - return #complete_info.matches == 1 and "" or "" - end - vim.fn.wildtrigger() -end, { expr = true, desc = "Command line wildcard expansion" }) --- Show next completion choices after accepting an entry with `` -vim.keymap.set("c", "", function() - local complete_info = vim.fn.cmdcomplete_info() - if complete_info.pum_visible == 1 then - return complete_info.selected ~= -1 and "" or "" - end - return "" -end, { expr = true }) -- cgit v1.3.1