about summary refs log tree commit diff
path: root/.config/nvim/lua/plugins/telescope.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lua/plugins/telescope.lua')
-rw-r--r--.config/nvim/lua/plugins/telescope.lua42
1 files changed, 42 insertions, 0 deletions
diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua
new file mode 100644
index 0000000..f942dc8
--- /dev/null
+++ b/.config/nvim/lua/plugins/telescope.lua
@@ -0,0 +1,42 @@
+return {
+  "nvim-telescope/telescope.nvim",
+  dependencies = { "nvim-lua/plenary.nvim" },
+  config = function()
+    require("telescope").setup({})
+
+    local tscope = require('telescope.builtin')
+    vim.keymap.set("n", "<leader>ff", function()
+      local cwd
+      if vim.bo.filetype == "oil" then
+        -- For Oil buffers
+        cwd = require("oil").get_current_dir()
+      else
+        cwd = vim.fn.expand("%:p:h")
+      end
+      tscope.find_files({ cwd = cwd })
+    end, { desc = "Find File" })
+
+    vim.keymap.set("n", "<leader>fp", function()
+      tscope.find_files({
+        cwd = vim.loop.cwd(),
+      })
+    end, { desc = "Find Project File" })
+    vim.keymap.set('n', '<leader>bb', tscope.buffers,
+      { desc = "Find Buffer" })
+    vim.keymap.set('n', '<leader>fh', tscope.help_tags,
+      { desc = "Find Help" })
+    -- vim.keymap.set('n', '<leader>fg', function()
+    --   tscope.grep_string(
+    --     { search = vim.fn.input("Grep > "),
+    --     desc = "Find by Grep" });
+    -- end)
+    vim.keymap.set('n', '<leader>fg', tscope.live_grep,
+      { desc = "Find by Grep" })
+    vim.keymap.set('n', '<leader>fr', tscope.oldfiles,
+      { desc = "Find Recent Files" })
+    vim.keymap.set('n', '<leader>lw', tscope.diagnostics,
+      { desc = "Search Diagnostics" })
+    vim.keymap.set('n', '<leader>lg', tscope.lsp_references,
+      { desc = "Search References" })
+  end,
+}