diff --git a/lua/config/plugins.lua b/lua/config/plugins.lua index 8e04373..1784cd4 100644 --- a/lua/config/plugins.lua +++ b/lua/config/plugins.lua @@ -26,6 +26,7 @@ local r = function(m) require("plugins." .. m) end local order = { "colorscheme", "oil", + "fzf_lua", } for _, m in ipairs(order) do diff --git a/lua/plugins/fzf_lua.lua b/lua/plugins/fzf_lua.lua new file mode 100644 index 0000000..5f23ab1 --- /dev/null +++ b/lua/plugins/fzf_lua.lua @@ -0,0 +1,26 @@ +add, now, later = MiniDeps.add, MiniDeps.now, MiniDeps.later + +later(function() + add("ibhagwan/fzf-lua") + + local fzf = require("fzf-lua") + fzf.setup({ + files = { + no_ignore = true, + rg_opts = [[--color=never --hidden --no-ignore-vcs --files -g "!.git"]], + fd_opts = [[--color=never --hidden --type f --type l --ignore-file .ignore --exclude .git]], + }, + grep = { + no_ignore = true, + rg_opts = "--column --hidden --no-ignore-vcs --line-number --no-heading --color=always --smart-case --max-columns=4096 -e", + }, + }) + + vim.keymap.set("n", "sf", fzf.files) + vim.keymap.set("n", "sg", fzf.live_grep) + vim.keymap.set("n", "sw", fzf.grep_cword) + vim.keymap.set("v", "sg", fzf.grep_visual) + + vim.keymap.set("n", "sr", fzf.resume) + vim.keymap.set("n", "sb", fzf.builtin) +end)