From 1beb8fb948e966ea758df77b7194529ceb00361f Mon Sep 17 00:00:00 2001 From: hyzen Date: Thu, 2 Jul 2026 02:13:58 +0530 Subject: [PATCH] Update: which-key pop-up closes by space/leader --- init.lua | 25 ++++++++++++++++++++++++- lua/plugins/custom/telescope.lua | 13 ++++++++++--- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/init.lua b/init.lua index 23aac0a..8807daa 100644 --- a/init.lua +++ b/init.lua @@ -49,7 +49,30 @@ end require('lazy').setup({ -- Useful plugin to show you pending keybinds. - { 'folke/which-key.nvim', event = 'VeryLazy', opts = {} }, + { + 'folke/which-key.nvim', + event = 'VeryLazy', + opts = { + spec = { + { 'q', group = 'Quit' }, + }, + }, + config = function(_, opts) + local wk = require 'which-key' + wk.setup(opts) + -- Patch which-key's getchar so acts as a close key, + -- since is the only hardcoded one and isn't configurable + local state = require 'which-key.state' + local orig_getchar = state.getchar + state.getchar = function() + local ok, char = orig_getchar() + if ok and char == ' ' then + char = vim.api.nvim_replace_termcodes('', true, false, true) + end + return ok, char + end + end, + }, -- Git related plugins { diff --git a/lua/plugins/custom/telescope.lua b/lua/plugins/custom/telescope.lua index e803898..2ec2cfd 100644 --- a/lua/plugins/custom/telescope.lua +++ b/lua/plugins/custom/telescope.lua @@ -23,7 +23,7 @@ return { keys = { { 'sf', desc = '[S]earch [F]iles' }, { '?', desc = '[?] Find recently opened files' }, - { '', desc = 'Switch to Open Buffers' }, + { 'm', desc = 'Switch to Open Buffers' }, { '/', desc = '[/] Fuzzily search in current buffer' }, { 's/', desc = '[S]earch [/] in Open Files' }, { 'ss', desc = '[S]earch [S]elect Telescope' }, @@ -225,7 +225,7 @@ return { end, { desc = '[?] Find recently opened files' }) -- Current buffers for Telescope (switch to already open buffer) - vim.keymap.set('n', '', function() + vim.keymap.set('n', 'm', function() require('telescope.builtin').buffers { attach_mappings = function(_, map) map('n', 'q', actions.close) @@ -301,7 +301,14 @@ return { end vim.keymap.set('n', 's/', telescope_live_grep_open_files, { desc = '[S]earch [/] in Open Files' }) - vim.keymap.set('n', 'ss', require('telescope.builtin').builtin, { desc = '[S]earch [S]elect Telescope' }) + vim.keymap.set('n', 'ss', function() + require('telescope.builtin').builtin { + attach_mappings = function(_, map) + map('n', 'q', actions.close) + return true + end, + } + end, { desc = '[S]earch [S]elect Telescope' }) vim.keymap.set('n', 'gf', function() local is_git_dir = vim.fn.system('git rev-parse --is-inside-work-tree'):gsub('%s+', '') == 'true' if not is_git_dir then