local telescope = require("telescope") local actions = require("telescope.actions") local action_layout = require("telescope.actions.layout") local fb_actions = require("telescope").extensions.file_browser.actions telescope.setup({ extensions = { fzf = { fuzzy = true, -- false will only do exact matching override_generic_sorter = true, -- override the generic sorter override_file_sorter = true, -- override the file sorter case_mode = "smart_case", -- or "ignore_case" or "respect_case" or "smart_case" }, ["ui-select"] = { require("telescope.themes").get_dropdown({}), }, file_browser = { mappings = { i = { [""] = fb_actions.create, [""] = fb_actions.rename, -- [""] = actions.which_key, [""] = fb_actions.toggle_hidden, [""] = fb_actions.remove, [""] = fb_actions.move, [""] = fb_actions.copy, [""] = fb_actions.select_all, }, }, }, }, pickers = { find_files = { hidden = true, }, buffers = { ignore_current_buffer = true, sort_lastused = true, }, -- find_command = { "fd", "--hidden", "--type", "file", "--follow", "--strip-cwd-prefix" }, }, defaults = { file_ignore_patterns = { "node_modules", ".terraform", "%.jpg", "%.png" }, -- used for grep_string and live_grep vimgrep_arguments = { "rg", "--follow", "--color=never", "--no-heading", "--with-filename", "--line-number", "--column", "--smart-case", "--no-ignore", "--trim", }, mappings = { i = { -- Close on first esc instead of going to normal mode -- https://github.com/nvim-telescope/telescope.nvim/blob/master/lua/telescope/mappings.lua [""] = actions.close, [""] = actions.move_selection_next, [""] = actions.results_scrolling_up, [""] = actions.results_scrolling_down, [""] = actions.preview_scrolling_up, [""] = actions.preview_scrolling_down, [""] = actions.move_selection_previous, [""] = actions.send_selected_to_qflist, [""] = actions.send_to_qflist, [""] = actions.toggle_selection + actions.move_selection_worse, [""] = actions.toggle_selection + actions.move_selection_better, [""] = actions.select_default, [""] = actions.select_vertical, [""] = actions.select_horizontal, [""] = actions.select_tab, [""] = action_layout.toggle_preview, [""] = action_layout.toggle_mirror, [""] = actions.which_key, }, }, prompt_prefix = "> ", selection_caret = " ", entry_prefix = " ", multi_icon = "<>", initial_mode = "insert", scroll_strategy = "cycle", selection_strategy = "reset", sorting_strategy = "descending", layout_strategy = "horizontal", layout_config = { width = 0.95, height = 0.85, -- preview_cutoff = 120, prompt_position = "top", horizontal = { preview_width = function(_, cols, _) if cols > 200 then return math.floor(cols * 0.4) else return math.floor(cols * 0.6) end end, }, vertical = { width = 0.9, height = 0.95, preview_height = 0.5 }, flex = { horizontal = { preview_width = 0.9 } }, }, winblend = 0, border = {}, borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }, color_devicons = true, use_less = true, set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil, }, }) telescope.load_extension("projects") telescope.load_extension("fzf") telescope.load_extension("zoxide") telescope.load_extension("heading") telescope.load_extension("file_browser") telescope.load_extension("packer") telescope.load_extension("ui-select")