From 1c2b5f8a0e013bc99e85ee47053716363d24731c Mon Sep 17 00:00:00 2001 From: Roman Date: Fri, 3 Jul 2026 14:41:01 +0200 Subject: [PATCH] transition to mini-completion --- nvim/.config/nvim/README.md | 3 +- nvim/.config/nvim/lua/romanzy/options.lua | 1 + nvim/.config/nvim/lua/romanzy/plugins.lua | 1 - .../nvim/lua/romanzy/plugins/blink-cmp.lua | 39 ------------------ nvim/.config/nvim/lua/romanzy/plugins/lsp.lua | 2 +- .../.config/nvim/lua/romanzy/plugins/mini.lua | 41 ++++++++++++++----- nvim/.config/nvim/nvim-pack-lock.json | 8 ---- 7 files changed, 35 insertions(+), 60 deletions(-) delete mode 100644 nvim/.config/nvim/lua/romanzy/plugins/blink-cmp.lua diff --git a/nvim/.config/nvim/README.md b/nvim/.config/nvim/README.md index 687d555..ec8e8ca 100644 --- a/nvim/.config/nvim/README.md +++ b/nvim/.config/nvim/README.md @@ -5,6 +5,8 @@ Inspirations: - [nolan](https://github.com/Hrumble/sneaky-nvim-config) - [mats](https://github.com/BeerB34r/dotfiles) +[Great guide on vim.pack](https://echasnovski.com/blog/2026-03-13-a-guide-to-vim-pack#delete) + # Neovim Notes See custom keymaps with short descriptions with `h`. @@ -96,7 +98,6 @@ Useful LSP commands: - `ca` show code actions - `cf` apply quick fixes - `cs` show source actions -- `` trigger completion Diagnostics: diff --git a/nvim/.config/nvim/lua/romanzy/options.lua b/nvim/.config/nvim/lua/romanzy/options.lua index 879b4b0..256c478 100644 --- a/nvim/.config/nvim/lua/romanzy/options.lua +++ b/nvim/.config/nvim/lua/romanzy/options.lua @@ -30,6 +30,7 @@ o.expandtab = true -- Inserts spaces when indenting by default. o.smartindent = true -- Adds indentation automatically on new lines. o.swapfile = false -- Disables swapfile creation. o.incsearch = true -- Updates search matches as you type. +o.completeopt = { "menuone", "noselect", "fuzzy", "nosort" } -- Enables fuzzy completion matching without preselecting or reordering candidates. o.updatetime = 50 -- Reduces idle delay for swap and CursorHold events. o.spelllang = { "en_us" } -- Uses US English for spell checking. o.shell = "bash" -- Runs shell commands through bash. diff --git a/nvim/.config/nvim/lua/romanzy/plugins.lua b/nvim/.config/nvim/lua/romanzy/plugins.lua index 4f3cf59..fbe9996 100644 --- a/nvim/.config/nvim/lua/romanzy/plugins.lua +++ b/nvim/.config/nvim/lua/romanzy/plugins.lua @@ -1,6 +1,5 @@ require("romanzy.plugins.rose-pine") require("romanzy.plugins.mini") -require("romanzy.plugins.blink-cmp") require("romanzy.plugins.lazygit") require("romanzy.plugins.oil") require("romanzy.plugins.telescope") diff --git a/nvim/.config/nvim/lua/romanzy/plugins/blink-cmp.lua b/nvim/.config/nvim/lua/romanzy/plugins/blink-cmp.lua deleted file mode 100644 index 4eb5a28..0000000 --- a/nvim/.config/nvim/lua/romanzy/plugins/blink-cmp.lua +++ /dev/null @@ -1,39 +0,0 @@ -vim.pack.add({ 'https://github.com/saghen/blink.lib', 'https://github.com/saghen/blink.cmp' }) - -local cmp = require('blink.cmp') --- cmp.build():pwait() -cmp.setup({ - -- 'default' (recommended) for mappings similar to built-in completions (C-y to accept) - -- 'super-tab' for mappings similar to vscode (tab to accept) - -- 'enter' for enter to accept - -- 'none' for no mappings - -- - -- All presets have the following mappings: - -- C-space: Open menu or open docs if already open - -- C-n/C-p or Up/Down: Select next/previous item - -- C-e: Hide menu - -- C-k: Toggle signature help (if signature.enabled = true) - -- - -- See :h blink-cmp-config-keymap for defining your own keymap - keymap = { preset = 'default' }, - - completion = { - documentation = { auto_show = false }, - -- list = { - -- selection = { - -- preselect = false, - -- auto_insert = false, - -- }, - -- }, - }, - - -- (Default) list of enabled providers defined so that you can extend it - -- elsewhere in your config, without redefining it, due to `opts_extend` - sources = { default = { 'lsp', 'path', 'snippets', 'buffer' } }, - - -- (Default) Rust fuzzy matcher for typo resistance and significantly better performance - -- You may use a lua implementation instead by using `implementation = "lua"` - -- See the fuzzy documentation for more information - -- fuzzy = { implementation = "prefer_rust_with_warning" } - fuzzy = { implementation = "lua" } -}) diff --git a/nvim/.config/nvim/lua/romanzy/plugins/lsp.lua b/nvim/.config/nvim/lua/romanzy/plugins/lsp.lua index c961171..8fd8ec9 100644 --- a/nvim/.config/nvim/lua/romanzy/plugins/lsp.lua +++ b/nvim/.config/nvim/lua/romanzy/plugins/lsp.lua @@ -43,7 +43,7 @@ end configure_diagnostics() -local capabilities = require("blink.cmp").get_lsp_capabilities() +local capabilities = require("mini.completion").get_lsp_capabilities() local managed_servers = { "bashls", "clangd", diff --git a/nvim/.config/nvim/lua/romanzy/plugins/mini.lua b/nvim/.config/nvim/lua/romanzy/plugins/mini.lua index fd670f7..16d982f 100644 --- a/nvim/.config/nvim/lua/romanzy/plugins/mini.lua +++ b/nvim/.config/nvim/lua/romanzy/plugins/mini.lua @@ -7,6 +7,7 @@ vim.pack.add({ }) local clue = require("mini.clue") +local completion = require("mini.completion") local icons = require("mini.icons") local git = require("mini.git") local diff = require("mini.diff") @@ -17,15 +18,6 @@ local ai = require("mini.ai") local notify = require("mini.notify") local surround = require("mini.surround") -local function set_mini_diff_highlights() - vim.api.nvim_set_hl(0, "MiniDiffSignAdd", { fg = "#9ccf8d" }) - vim.api.nvim_set_hl(0, "MiniDiffSignChange", { fg = "#f6c177" }) - vim.api.nvim_set_hl(0, "MiniDiffSignDelete", { fg = "#eb6f92" }) - vim.api.nvim_set_hl(0, "MiniDiffOverAdd", { fg = "#9ccf8d" }) - vim.api.nvim_set_hl(0, "MiniDiffOverChange", { fg = "#f6c177" }) - vim.api.nvim_set_hl(0, "MiniDiffOverDelete", { fg = "#eb6f92" }) -end - clue.setup({ triggers = { { mode = "n", keys = "" }, @@ -47,14 +39,40 @@ clue.setup({ }, }) +completion.setup({}) +local function complete_accept_top() + if vim.fn.pumvisible() == 0 then + return "" + end + + if vim.fn.complete_info({ "selected" }).selected == -1 then + return "" + end + + return "" +end +vim.keymap.set("i", "", complete_accept_top, { expr = true }) + icons.setup({}) + git.setup({}) + diff.setup({}) +local function set_mini_diff_highlights() + vim.api.nvim_set_hl(0, "MiniDiffSignAdd", { fg = "#9ccf8d" }) + vim.api.nvim_set_hl(0, "MiniDiffSignChange", { fg = "#f6c177" }) + vim.api.nvim_set_hl(0, "MiniDiffSignDelete", { fg = "#eb6f92" }) + vim.api.nvim_set_hl(0, "MiniDiffOverAdd", { fg = "#9ccf8d" }) + vim.api.nvim_set_hl(0, "MiniDiffOverChange", { fg = "#f6c177" }) + vim.api.nvim_set_hl(0, "MiniDiffOverDelete", { fg = "#eb6f92" }) +end set_mini_diff_highlights() vim.api.nvim_create_autocmd("ColorScheme", { callback = set_mini_diff_highlights, }) + statusline.setup({ use_icons = true }) + hipatterns.setup({ highlighters = { fixme = { pattern = "%f[%w]()FIXME()%f[%W]", group = "MiniHipatternsFixme" }, @@ -64,10 +82,13 @@ hipatterns.setup({ hex_color = hipatterns.gen_highlighter.hex_color(), }, }) + pairs.setup({ modes = { insert = true, command = true, terminal = false }, }) + ai.setup({}) + notify.setup({ lsp_progress = { -- the message "lua_ls: processing completion..." and @@ -75,6 +96,6 @@ notify.setup({ enable = true, }, }) - vim.notify = notify.make_notify() + surround.setup({}) diff --git a/nvim/.config/nvim/nvim-pack-lock.json b/nvim/.config/nvim/nvim-pack-lock.json index b696684..d5b8a36 100644 --- a/nvim/.config/nvim/nvim-pack-lock.json +++ b/nvim/.config/nvim/nvim-pack-lock.json @@ -1,13 +1,5 @@ { "plugins": { - "blink.cmp": { - "rev": "67c9c3f9e3121df32d0eee406a76087a9f0a62eb", - "src": "https://github.com/saghen/blink.cmp" - }, - "blink.lib": { - "rev": "5876dd95deeb70aadbe9f1c0b7117a135061cdac", - "src": "https://github.com/saghen/blink.lib" - }, "codam-header.nvim": { "rev": "a8fbd2a7003eecbf6e85693e85d7d4d464625193", "src": "https://github.com/BeerB34r/codam-header.nvim"