return { 'nvim-telescope/telescope.nvim', tag = '0.1.4', dependencies = { 'nvim-lua/plenary.nvim', 'debugloop/telescope-undo.nvim', }, config = function() -- TELESCOPE local builtin = require('telescope.builtin') vim.keymap.set('n', 'ff', builtin.find_files, {}) vim.keymap.set('n', 'fg', builtin.live_grep, {}) vim.keymap.set('n', 'fb', builtin.buffers, {}) vim.keymap.set('n', 'fh', builtin.help_tags, {}) vim.keymap.set('n', 'fq', builtin.quickfix, {}) vim.keymap.set('n', 'fr', builtin.lsp_references, {}) vim.keymap.set('n', 'fw', builtin.lsp_workspace_symbols, {}) vim.keymap.set('n', 'fd', builtin.diagnostics, {}) vim.keymap.set('n', 'fc', builtin.git_commits, {}) vim.keymap.set('n', 'fbc', builtin.git_bcommits, {}) -- TELESCOPE UNDO require("telescope").setup({ extensions = { undo = { use_delta = true, use_custom_command = nil, -- setting this implies `use_delta = false`. Accepted format is: { "bash", "-c", "echo '$DIFF' | delta" } side_by_side = false, vim_diff_opts = { ctxlen = 0 }, entry_format = "state #$ID, $STAT, $TIME", mappings = { i = { [""] = require("telescope-undo.actions").yank_additions, [""] = require("telescope-undo.actions").yank_deletions, [""] = require("telescope-undo.actions").restore, }, }, }, }, }) require("telescope").load_extension("undo") vim.keymap.set("n", "u", "Telescope undo") end }