if not pcall(require, "telescope") then return end local builtin = require("telescope.builtin") vim.keymap.set("n", "", builtin.git_files, {}) local telescope = require("telescope") local actions = require("telescope.actions") telescope.setup({ defaults = { vimgrep_arguments = { "rg", "--color=never", "--no-heading", "--with-filename", "--line-number", "--column", "--smart-case", "--hidden", }, prompt_prefix = " ", selection_caret = " ", path_display = { "smart" }, file_ignore_patterns = { ".git/", "node_modules", ".venv/" }, mappings = { i = { [""] = actions.cycle_history_next, [""] = actions.cycle_history_prev, [""] = actions.move_selection_next, [""] = actions.move_selection_previous, }, }, }, pickers = { find_files = { hidden = true, follow = true, }, }, 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" }, media_files = { -- filetypes whitelist filetypes = { "png", "webp", "jpg", "jpeg", "mp4", "webm" }, find_cmd = "rg", }, emoji = { action = function(emoji) -- argument emoji is a table. -- {name="", value="", cagegory="", description=""} vim.fn.setreg("*", emoji.value) print([[Press p or "*p to paste this emoji]] .. emoji.value) -- insert emoji when picked -- vim.api.nvim_put({ emoji.value }, 'c', false, true) end, }, ["ui-select"] = { require("telescope.themes").get_dropdown({ -- even more opts }), -- pseudo code / specification for writing custom displays, like the one -- for "codeactions" -- specific_opts = { -- [kind] = { -- make_indexed = function(items) -> indexed_items, width, -- make_displayer = function(widths) -> displayer -- make_display = function(displayer) -> function(e) -- make_ordinal = function(e) -> string -- }, -- -- for example to disable the custom builtin "codeactions" display -- do the following -- codeactions = false, -- } }, }, }) pcall(telescope.load_extension, "fzf") pcall(telescope.load_extension, "media_files") pcall(telescope.load_extension, "emoji") pcall(telescope.load_extension, "ui-select") pcall(telescope.load_extension, "color_names") pcall(telescope.load_extension, "git_worktree") pcall(telescope.load_extension, "lazygit") pcall(telescope.load_extension, "dap")