diff options
Diffstat (limited to 'lua/config/plugins/fuzzy.lua')
-rw-r--r-- | lua/config/plugins/fuzzy.lua | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/lua/config/plugins/fuzzy.lua b/lua/config/plugins/fuzzy.lua new file mode 100644 index 0000000..95bb108 --- /dev/null +++ b/lua/config/plugins/fuzzy.lua @@ -0,0 +1,48 @@ +return { + -- NOTE: I left Telescope for compatibility purposes, in case if I need it one day + -- Everything is built on top of `fzf-lua` now + { + "telescope.nvim", + cmd = "Telescope", + after = function(_) + require("telescope").setup({}) + require("telescope").load_extension("notify") + end, + }, + + { + "fzf-lua", + event = "DeferredUIEnter", + after = function(_) + require("fzf-lua").setup({ + keymap = { + fzf = { + ["tab"] = "down", + ["shift-tab"] = "up", + ["ctrl-q"] = "select-all+accept", + }, + }, + }) + end, + + keys = { + -- General + -- stylua: ignore start + { "<leader><leader>", function() require("fzf-lua").files() end, mode = { "n" }, desc = "Search Files", }, + { "<leader><localleader>", function() require("fzf-lua").buffers() end, mode = { "n" }, desc = "Search Buffers", }, + { "<leader>/", function() require("fzf-lua").live_grep() end, mode = { "n" }, desc = "Search Grep", }, + { "<leader>:", function() require("fzf-lua").command_history() end, mode = { "n" }, desc = "Command History", }, + + -- Search + { "<leader>sR", function() require("fzf-lua").resume() end, mode = { "n" }, desc = "[R]esume [S]earch", }, + { "<leader>sb", function() require("fzf-lua").buffers() end, mode = { "n" }, desc = "[S]earch [B]uffers", }, + { "<leader>sf", function() require("fzf-lua").files() end, mode = { "n" }, desc = "[S]earch [F]iles", }, + { "<leader>sg", function() require("fzf-lua").live_grep() end, mode = { "n" }, desc = "[S]earch [G]rep", }, + { "<leader>sh", function() require("fzf-lua").helptags() end, mode = { "n" }, desc = "[S]earch [G]rep", }, + + -- Code + { "<leader>ca", function() require("fzf-lua").lsp_code_actions() end, mode = { "n" }, desc = "[C]ode [A]ctions", }, + -- stylua: ignore end + }, + }, +} |