diff --git a/nvim/.config/nvim/lua/plugins/fzf-lua.lua b/nvim/.config/nvim/lua/plugins/fzf-lua.lua index 77dc984..c53db91 100644 --- a/nvim/.config/nvim/lua/plugins/fzf-lua.lua +++ b/nvim/.config/nvim/lua/plugins/fzf-lua.lua @@ -47,6 +47,27 @@ if ok then set("n", "es", function() fzf.files({ cwd = '~/.config/kitty/sessions' }) end, { desc = "FzfLua kitty sessions" }) + + set("n", "Gf", function() + local cwd = vim.fn.trim(vim.fn.system("go env GOROOT")) + fzf.files({ cwd = cwd, cmd = "fd --type f -e go" }) + end, { desc = "FzfLua Go files" }) + set("n", "Gs", function() + local cwd = vim.fn.trim(vim.fn.system("go env GOROOT")) + local input = vim.fn.input("Go grep declarations> ") + local search = "^(func|type) .*" .. input .. "[a-zA-Z0-9_]*( |\\()" + fzf.grep({ cwd = cwd, cmd = "rg -g '*.go' --smart-case", search = search, no_esc = true }) + end, { desc = "FzfLua Go grep declarations" }) + + set("n", "of", function() + fzf.files({ cwd = "~/cloned/Odin", cmd = "fd --type f -e odin" }) + end, { desc = "FzfLua Odin files" }) + set("n", "os", function() + local input = vim.fn.input("Odin grep declarations> ") + local search = "^[a-zA-Z0-9_]*" .. input .. "[a-zA-Z0-9_]* *::" + fzf.grep({ cwd = '~/cloned/Odin', cmd = "rg -g '*.odin' --smart-case", search = search, no_esc = true }) + end, { desc = "FzfLua Odin grep declarations" }) + set("n", "eS", "Oil ~/.config/kitty/sessions", { desc = "Kitty sessions (dir)" }) set("n", "fa", fzf.git_files, { desc = "FzfLua git files" }) set("n", "ff", fzf.files, { desc = "FzfLua find files" })