From 38bbaf267209e0df16e0ba87c8833cc9d8718b0b Mon Sep 17 00:00:00 2001 From: triethyl Date: Thu, 19 Mar 2026 14:19:50 -0400 Subject: neovim: created new pickers --- pkgs/custom-neovim/config/lua/keymaps.lua | 9 +++--- .../custom-neovim/config/lua/plugins/mini-pick.lua | 36 ++++++++++++++++++++++ pkgs/custom-neovim/default.nix | 6 ++-- 3 files changed, 43 insertions(+), 8 deletions(-) diff --git a/pkgs/custom-neovim/config/lua/keymaps.lua b/pkgs/custom-neovim/config/lua/keymaps.lua index 3fc39b2..7601552 100644 --- a/pkgs/custom-neovim/config/lua/keymaps.lua +++ b/pkgs/custom-neovim/config/lua/keymaps.lua @@ -17,9 +17,9 @@ mapkey("n", "o", "Open old file picker", ":Pick oldfiles", "mini.pic mapkey("n", "/", "Open live grep picker", ":Pick grep_live", "mini.pick") mapkey("n", "k", "Open colorscheme picker", ":Pick colorschemes", "mini.pick") mapkey("n", ":", "Open command history picker", ":Pick history", "mini.pick") --- mapkey("n", "z", "Open zoxide picker", ":FzfLua zoxide", "fzf-lua") --- mapkey("n", "L", "Open cd picker", ":lua Custom_pickers.fzf_dir_cd()", "fzf-lua") --- mapkey("n", "l", "Open tab cd picker", ":lua Custom_pickers.fzf_dir_tcd()", "fzf-lua") +mapkey("n", "z", "Open zoxide picker", ":Pick zoxide", "mini.pick") +mapkey("n", "L", "Open cd picker", ":Pick cd", "mini.pick") +mapkey("n", "l", "Open tab cd picker", ":Pick cd scope='tab'", "mini.pick") -- File manager mapkey("n", "e", "Open file manager", ":lua MiniFiles.open()", "mini.files") @@ -32,8 +32,7 @@ mapkey("n", "gr", "Git remove", ":Git rm %:p", "mini-git") mapkey("n", "gc", "Git commit", ":Git commit", "mini-git") mapkey("n", "gC", "Browse git commits", ":Pick git_commits", "mini.pick") mapkey("n", "gb", "Browse git branches", ":Pick git_branches", "mini.pick") --- mapkey("n", "gB", "Browse git blame", ":FzfLua git_blame", "fzf-lua") --- mapkey("n", "gg", "Git status", ":FzfLua git_status", "fzf-lua") +mapkey("n", "gg", "Git UI", ":Fugit2", "fugit2.nvim") mapkey("n", "gp", "Git pull", ":Git pull", "mini-git") mapkey("n", "gP", "Git push", ":Git push", "mini-git") diff --git a/pkgs/custom-neovim/config/lua/plugins/mini-pick.lua b/pkgs/custom-neovim/config/lua/plugins/mini-pick.lua index 68e57ec..6d0b5fa 100644 --- a/pkgs/custom-neovim/config/lua/plugins/mini-pick.lua +++ b/pkgs/custom-neovim/config/lua/plugins/mini-pick.lua @@ -21,5 +21,41 @@ return { require("mini.extra").setup() vim.ui.select = MiniPick.ui_select + + -- Switch to a dir in the zoxide database + MiniPick.registry.zoxide = function() + local zoxide_output = vim.fn.system('zoxide query -l') + local zoxide_dirs = vim.split(zoxide_output, '\n', { trimempty = true }) + MiniPick.start({ + source = { + items = zoxide_dirs, + name = "zoxide", + choose = function(dir) + vim.fn.chdir(dir) + end + } + }) + end + + -- Switch to a subdir of the current dir + MiniPick.registry.cd = function(local_opts) + local scope = local_opts.scope or 'current' + local fd_output = vim.fn.system('fd -t d') + local fd_dirs = vim.split(fd_output, '\n', { trimempty = true }) + MiniPick.start({ + source = { + items = fd_dirs, + name = (scope == 'tab') and "tcd" or "cd", + choose = function (dir) + if (scope == 'tab') then + vim.cmd.tcd(dir) + else + vim.cmd.cd(dir) + end + end + } + }) + end + end } diff --git a/pkgs/custom-neovim/default.nix b/pkgs/custom-neovim/default.nix index 4ea9daa..72225a5 100644 --- a/pkgs/custom-neovim/default.nix +++ b/pkgs/custom-neovim/default.nix @@ -54,6 +54,7 @@ in # Git Plugins mini-git mini-diff + fugit2-nvim # Markdown Plugns render-markdown-nvim @@ -81,12 +82,11 @@ in # Extra Utils wl-clipboard fzf - # ripgrep - # gcc + ripgrep fd - lazygit # Misc Dependencies + libgit2 python312Packages.pylatexenc ]; } -- cgit v1.2.3