return function() local icons = { ui = require("modules.utils.icons").get("ui", true) } local lga_actions = require("telescope-live-grep-args.actions") require("modules.utils").load_plugin("telescope", { defaults = { vimgrep_arguments = { "rg", "--no-heading", "--with-filename", "--line-number", "--column", "--smart-case", }, initial_mode = "insert", prompt_prefix = " " .. icons.ui.Telescope .. " ", selection_caret = icons.ui.ChevronRight, scroll_strategy = "limit", results_title = false, layout_strategy = "horizontal", path_display = { "absolute" }, selection_strategy = "reset", sorting_strategy = "ascending", color_devicons = true, file_ignore_patterns = { ".git/", ".cache", "build/", "%.class", "%.pdf", "%.mkv", "%.mp4", "%.zip" }, layout_config = { horizontal = { prompt_position = "top", preview_width = 0.55, results_width = 0.8, }, vertical = { mirror = false, }, width = 0.85, height = 0.92, preview_cutoff = 120, }, file_previewer = require("telescope.previewers").vim_buffer_cat.new, grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new, qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new, file_sorter = require("telescope.sorters").get_fuzzy_file, generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter, buffer_previewer_maker = require("telescope.previewers").buffer_previewer_maker, }, extensions = { aerial = { show_lines = false, show_nesting = { ["_"] = false, -- This key will be the default lua = true, -- You can set the option for specific filetypes }, }, fzf = { fuzzy = false, override_generic_sorter = true, override_file_sorter = true, case_mode = "smart_case", }, frecency = { show_scores = true, show_unindexed = true, ignore_patterns = { "*.git/*", "*/tmp/*" }, }, live_grep_args = { auto_quoting = true, -- enable/disable auto-quoting mappings = { -- extend mappings i = { [""] = lga_actions.quote_prompt(), [""] = lga_actions.quote_prompt({ postfix = " --iglob " }), }, }, }, undo = { side_by_side = true, mappings = { i = { [""] = require("telescope-undo.actions").yank_additions, [""] = require("telescope-undo.actions").yank_deletions, [""] = require("telescope-undo.actions").restore, }, }, }, advanced_git_search = { diff_plugin = "diffview", git_flags = { "-c", "delta.side-by-side=true" }, entry_default_author_or_date = "author", -- one of "author" or "date" }, }, }) require("telescope").load_extension("frecency") require("telescope").load_extension("fzf") require("telescope").load_extension("live_grep_args") require("telescope").load_extension("notify") require("telescope").load_extension("projects") require("telescope").load_extension("undo") require("telescope").load_extension("zoxide") require("telescope").load_extension("persisted") require("telescope").load_extension("aerial") require("telescope").load_extension("advanced_git_search") end