From 5587416654207c3f7895f571d2c498e5fde41337 Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Mon, 4 Nov 2024 17:05:24 -0500 Subject: [PATCH] changed cmp key to tab and unbound enter --- .config/nvim/lua/plugins/nvim-cmp.lua | 55 ++++++++++++++++++++------ .config/nvim/spell/en.utf-8.add | 3 ++ .config/nvim/spell/en.utf-8.add.spl | Bin 427 -> 482 bytes 3 files changed, 46 insertions(+), 12 deletions(-) diff --git a/.config/nvim/lua/plugins/nvim-cmp.lua b/.config/nvim/lua/plugins/nvim-cmp.lua index f6096794..2402e5d7 100644 --- a/.config/nvim/lua/plugins/nvim-cmp.lua +++ b/.config/nvim/lua/plugins/nvim-cmp.lua @@ -1,14 +1,45 @@ return { - { - "hrsh7th/nvim-cmp", - -- dependencies = { - -- "jesseleite/nvim-noirbuddy", - -- }, - -- config = function() - -- require("cmp").setup({ - -- window = require("noirbuddy.plugins.cmp").window, - -- }) - -- end, - -- }, - }, + "hrsh7th/nvim-cmp", + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local has_words_before = function() + unpack = unpack or table.unpack + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + end + + local cmp = require("cmp") + + opts.mapping = vim.tbl_extend("force", opts.mapping, { + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + -- You could replace select_next_item() with confirm({ select = true }) to get VS Code autocompletion behavior + -- cmp.select_next_item() + cmp.confirm({ select = true }) + elseif vim.snippet.active({ direction = 1 }) then + vim.schedule(function() + vim.snippet.jump(1) + end) + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif vim.snippet.active({ direction = -1 }) then + vim.schedule(function() + vim.snippet.jump(-1) + end) + else + fallback() + end + end, { "i", "s" }), + [""] = cmp.mapping(function(fallback) + fallback() + end, { "i", "s" }), + }) + end, } diff --git a/.config/nvim/spell/en.utf-8.add b/.config/nvim/spell/en.utf-8.add index 7c3f3523..972bccf8 100644 --- a/.config/nvim/spell/en.utf-8.add +++ b/.config/nvim/spell/en.utf-8.add @@ -28,3 +28,6 @@ config Hyprland Rofi Dunst +Mindmap +linters +PRs diff --git a/.config/nvim/spell/en.utf-8.add.spl b/.config/nvim/spell/en.utf-8.add.spl index 603859675efdc197ce4ebbf4015ff80df1c26392..051f8a2a6adc9a6eba1e945c87be347536757817 100644 GIT binary patch literal 482 zcmYL_yG{c^3`Kn$khV;RsOX>uYC4(}NC5=>J|<*gcW0TIC4>q-gwM$LfjmTF3hRz# zUmyE%aT7<^br(M(oXyLsZr0B)T|bN=rs;!@lA01#5*tMQM!Nw|AX2l&(SyjbV?}G~ z)rezLLJj#jv92zY$f zD=K>2ANk2ND}BhuiA1?qI^WOq#GJCrq`ZhD;CN@G%XdWN%Hb7}qrr9ymOAz#aynby g-E&7oxHZtiKnnvc477;&J?CO+UB&f3XR#7{znaTdDF6Tf literal 427 zcmYL_u};G<5QgtN%8D|8m^w34Mpl*%NI)faCvj*XiG%G>%EZXq@Q5J05!jY>zWeq0 zzk6KYhS7H2>PLjr6H`|8_W7kBe2CKr9fk^nDv=$cZl~RV!xO03V(CHT+|tmdX!(@y zTHQp<$qq|UQDq=xab(Yk&-5W@Y7B3f4D|=lX2i0mq-CJa(4g%|q(>L&{Z-*;@sv!| zvu3aEl_o>mV_jUXt^)e`cap6s0TT+5?;4N8<+!1w#~wT_rz7KhZZr}xbEL)mkt5_( z>N#eM7LVnfkuFaNk!y=nM9zko%V|_jL@xAU!~MaX%-hYz)^|x(-259W8cFLHCoN3F