return { "nvim-telescope/telescope.nvim", branch = "0.1.x", dependencies = { { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, { "nvim-telescope/telescope-ui-select.nvim" }, "nvim-lua/plenary.nvim", }, config = function() local telescope = require "telescope" local builtin = require "telescope.builtin" telescope.setup { extensions = { fzf = { fuzzy = true, override_generic_sorter = true, override_file_sorter = true, case_mode = "smart_case", } } } local function project() local exclusions = { "**/.git/", "*.svg", "*.png", "*.jpg", } local find_command = { "fd", "--hidden", "-t", "f" } for _, value in ipairs(exclusions) do table.insert(find_command, "--exclude") table.insert(find_command, value) end builtin.find_files { find_command = find_command, } end local function dotfiles() builtin.git_files { shorten_path = true, prompt_title = " ~ dotfiles ~ ", cwd = vim.env.DOTFILES_DIRECTORY, } end telescope.load_extension("fzf") telescope.load_extension("ui-select") require("my.keymaps").telescope_keymaps { project = project, dotfiles = dotfiles, builtin = builtin, } end }