return { "nvim-telescope/telescope.nvim", dependencies = { -- Internal dependency for telescope "nvim-lua/plenary.nvim", -- Use fzf for fuzzy finder { "nvim-telescope/telescope-fzf-native.nvim", build = "make", }, -- Replace vim built in select with telescope "nvim-telescope/telescope-ui-select.nvim", -- cd plugin for telescope "zane-/cder.nvim", }, opts = { -- Set layout to vertical defaults = { layout_strategy = "vertical", layout_defaults = { vertical = { preview_height = 0.5, }, }, }, pickers = { find_files = { find_command = { "fd", "-Ht", "f" } }, lsp_references = { show_line = false }, live_grep = { additional_args = function() return { "--hidden" } end, }, }, extensions = { cder = { previewer_command = "eza " .. "-a " .. "--color=always " .. "-T " .. "--level=3 " .. "--icons " .. "--git-ignore " .. "--long " .. "--no-permissions " .. "--no-user " .. "--no-filesize " .. "--git " .. "--ignore-glob=.git", dir_command = { "fd", "-Ht", "d", ".", os.getenv("HOME") }, }, }, }, keys = { { desc = "Open Telescope", "", "Telescope", }, { desc = "Change directories", "cd", "Telescope cder", }, { desc = "Find files", "", "Telescope find_files", }, { desc = "Grep files", "", "Telescope live_grep", }, }, config = function(_, opts) local telescope = require("telescope") telescope.setup(opts) -- Load extensions telescope.load_extension("fzf") telescope.load_extension("ui-select") telescope.load_extension("cder") end, }