return { "nvim-telescope/telescope.nvim", dependencies = { "nvim-lua/plenary.nvim" }, config = function() require("telescope").setup({}) local tscope = require('telescope.builtin') vim.keymap.set("n", "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", "fp", function() tscope.find_files({ cwd = vim.loop.cwd(), }) end, { desc = "Find Project File" }) vim.keymap.set('n', 'bb', tscope.buffers, { desc = "Find Buffer" }) vim.keymap.set('n', 'fh', tscope.help_tags, { desc = "Find Help" }) -- vim.keymap.set('n', 'fg', function() -- tscope.grep_string( -- { search = vim.fn.input("Grep > "), -- desc = "Find by Grep" }); -- end) vim.keymap.set('n', 'fg', tscope.live_grep, { desc = "Find by Grep" }) vim.keymap.set('n', 'fr', tscope.oldfiles, { desc = "Find Recent Files" }) vim.keymap.set('n', 'lw', tscope.diagnostics, { desc = "Search Diagnostics" }) vim.keymap.set('n', 'lg', tscope.lsp_references, { desc = "Search References" }) end, }