summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortriethyl <triethylammonium@pm.me>2026-03-19 14:19:50 -0400
committertriethyl <triethylammonium@pm.me>2026-03-19 14:19:50 -0400
commit38bbaf267209e0df16e0ba87c8833cc9d8718b0b (patch)
tree45a3b9a49beb03c56722ed0ac41e1a41c748ba0d
parent26f9b43fec441b1c17a44daab12db1b20f57254b (diff)
neovim: created new pickers
-rw-r--r--pkgs/custom-neovim/config/lua/keymaps.lua9
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/mini-pick.lua36
-rw-r--r--pkgs/custom-neovim/default.nix6
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", "<leader>o", "Open old file picker", ":Pick oldfiles<cr>", "mini.pic
mapkey("n", "<leader>/", "Open live grep picker", ":Pick grep_live<cr>", "mini.pick")
mapkey("n", "<leader>k", "Open colorscheme picker", ":Pick colorschemes<cr>", "mini.pick")
mapkey("n", "<leader>:", "Open command history picker", ":Pick history<cr>", "mini.pick")
--- mapkey("n", "<leader>z", "Open zoxide picker", ":FzfLua zoxide<cr>", "fzf-lua")
--- mapkey("n", "<leader>L", "Open cd picker", ":lua Custom_pickers.fzf_dir_cd()<cr>", "fzf-lua")
--- mapkey("n", "<leader>l", "Open tab cd picker", ":lua Custom_pickers.fzf_dir_tcd()<cr>", "fzf-lua")
+mapkey("n", "<leader>z", "Open zoxide picker", ":Pick zoxide<cr>", "mini.pick")
+mapkey("n", "<leader>L", "Open cd picker", ":Pick cd<cr>", "mini.pick")
+mapkey("n", "<leader>l", "Open tab cd picker", ":Pick cd scope='tab'<cr>", "mini.pick")
-- File manager
mapkey("n", "<leader>e", "Open file manager", ":lua MiniFiles.open()<cr>", "mini.files")
@@ -32,8 +32,7 @@ mapkey("n", "<leader>gr", "Git remove", ":Git rm %:p<cr>", "mini-git")
mapkey("n", "<leader>gc", "Git commit", ":Git commit<cr>", "mini-git")
mapkey("n", "<leader>gC", "Browse git commits", ":Pick git_commits<cr>", "mini.pick")
mapkey("n", "<leader>gb", "Browse git branches", ":Pick git_branches<cr>", "mini.pick")
--- mapkey("n", "<leader>gB", "Browse git blame", ":FzfLua git_blame<cr>", "fzf-lua")
--- mapkey("n", "<leader>gg", "Git status", ":FzfLua git_status<cr>", "fzf-lua")
+mapkey("n", "<leader>gg", "Git UI", ":Fugit2<cr>", "fugit2.nvim")
mapkey("n", "<leader>gp", "Git pull", ":Git pull<cr>", "mini-git")
mapkey("n", "<leader>gP", "Git push", ":Git push<cr>", "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
];
}