summaryrefslogtreecommitdiff
path: root/lua/config/plugins/fuzzy.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/config/plugins/fuzzy.lua')
-rw-r--r--lua/config/plugins/fuzzy.lua48
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
+ },
+ },
+}