From d8014819bd45128202fe13cc473523e9498f8414 Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Wed, 18 Dec 2024 12:40:10 +0100 Subject: [PATCH] Neovim: Add window-picker --- home/modules/neovim/default.nix | 25 +++++++++++++++++++++++++ home/modules/neovim/mappings.nix | 4 ++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/home/modules/neovim/default.nix b/home/modules/neovim/default.nix index 19b2456f..86227f1f 100644 --- a/home/modules/neovim/default.nix +++ b/home/modules/neovim/default.nix @@ -1981,6 +1981,30 @@ in { }; }; + window-picker = rec { + name = "window-picker"; + pkg = pkgs.vimPlugins.nvim-window-picker; + lazy = true; + event = ["VeryLazy"]; + config = mkDefaultConfig name; + opts = { + hint = "floating-big-letter"; + show_prompt = false; + + filter_rules = { + autoselect_one = false; + include_current_win = false; + + bo = { + # Ignored filetypes + filetype = ["NvimTree" "neo-tree" "notify" "TelescopePrompt" "noice"]; + # Ignored buffer types + buftype = ["terminal" "quickfix"]; + }; + }; + }; + }; + winshift = rec { name = "winshift"; pkg = pkgs.vimPlugins.winshift-nvim; @@ -2089,6 +2113,7 @@ in { wakatime # Time tracking web-devicons # Icons for many plugins which-key # Live keybinding help + window-picker # Jump to window without multiple winshift # Move windows around yanky # Clipboard history ]; diff --git a/home/modules/neovim/mappings.nix b/home/modules/neovim/mappings.nix index 473700ef..4a99abd1 100644 --- a/home/modules/neovim/mappings.nix +++ b/home/modules/neovim/mappings.nix @@ -655,8 +655,8 @@ { mode = "n"; key = "ww"; - action = "p"; - options.desc = "Goto Other Window"; + action = "lua vim.api.nvim_set_current_win(require('window-picker').pick_window())"; + options.desc = "Jump to Window"; } {