return { "nvim-telescope/telescope.nvim", event = "VimEnter", branch = "0.1.x", dependencies = { "nvim-lua/plenary.nvim", "nvim-telescope/telescope-ui-select.nvim", "nvim-telescope/telescope-file-browser.nvim", }, config = function() require("telescope").setup({ defaults = { theme = "center", sorting_strategy = "ascending", layout_config = { horizontal = { prompt_position = "top", preview_width = 0.5, }, }, }, extensions = { ["ui-select"] = { require("telescope.themes").get_dropdown(), }, }, file_browser = { hijack_netrw = true, }, pickers = { find_files = { find_command = { "rg", "--files", "--hidden", "--glob", "!**/.git/*" }, }, }, }) pcall(require("telescope").load_extension, "ui-select") require("telescope").load_extension("file_browser") local builtin = require("telescope.builtin") vim.keymap.set("n", "sf", builtin.find_files, { desc = "[S]earch [F]iles" }) vim.keymap.set("n", "sg", builtin.live_grep, { desc = "[S]earch by [G]rep" }) vim.keymap.set("n", "sw", builtin.grep_string, { desc = "[S]earch by current [W]ord" }) vim.keymap.set("n", "sr", builtin.oldfiles, { desc = "[S]earch [R]ecent files" }) vim.keymap.set("n", "ob", ":Telescope file_browser", { desc = "[O]pen File [B]rowser" }) end, }