require('telescope').load_extension('fzf') require("telescope").load_extension("undo") require("telescope").load_extension("file_browser") require('telescope').setup { defaults = { mappings = { i = { [""] = require('telescope.actions').cycle_history_next, [""] = require('telescope.actions').cycle_history_prev, }, }, }, extensions = { undo = { mappings = { i = { [""] = require("telescope-undo.actions").yank_additions, [""] = require("telescope-undo.actions").yank_deletions, [""] = require("telescope-undo.actions").restore, -- alternative defaults, for users whose terminals do questionable things with modified [""] = require("telescope-undo.actions").yank_deletions, [""] = require("telescope-undo.actions").restore, }, n = { ["y"] = require("telescope-undo.actions").yank_additions, ["Y"] = require("telescope-undo.actions").yank_deletions, ["u"] = require("telescope-undo.actions").restore, }, }, }, }, } vim.keymap.set('n', 'ff', require('telescope.builtin').find_files, { desc = 'Find files' }) vim.keymap.set('n', '', require('telescope.builtin').find_files, { desc = 'Find files' }) vim.keymap.set('n', 'sd', require('telescope.builtin').live_grep, { desc = 'Find grep' }) vim.keymap.set('n', 'fv', require('telescope.builtin').git_files, { desc = 'Find version control' }) vim.keymap.set('n', 'bb', function() require('telescope.builtin').buffers({ sort_mru = true }) end, { desc = 'Find buffer' }) vim.keymap.set('n', 'h', require('telescope.builtin').help_tags, { desc = 'Find help' }) vim.keymap.set('n', 'fq', require('telescope.builtin').commands, { desc = 'Find command' }) vim.keymap.set('n', 'fq', require('telescope.builtin').command_history, { desc = 'Find command history' }) vim.keymap.set('n', 'f/', require('telescope.builtin').search_history, { desc = 'Find search' }) vim.keymap.set('n', 'fj', require('telescope.builtin').jumplist, { desc = 'Find jumplist' }) vim.keymap.set('n', 'fm', require('telescope.builtin').marks, { desc = 'Find marks' }) vim.keymap.set('n', 'fx', require('telescope.builtin').diagnostics, { desc = 'Find diagnostics' }) vim.keymap.set('n', 'fy', require('telescope.builtin').registers, { desc = 'Find registers' }) vim.keymap.set('v', 'fy', require('telescope.builtin').registers, { desc = 'Find registers' }) vim.keymap.set('n', 'cD', require('telescope.builtin').lsp_references, { desc = 'Find references' }) vim.keymap.set('n', 'cS', require('telescope.builtin').lsp_document_symbols, { desc = 'Find LSP symbols' }) vim.keymap.set('n', 'cc', require('telescope.builtin').lsp_incoming_calls, { desc = 'Find LSP incoming calls' }) vim.keymap.set('n', 'co', require('telescope.builtin').lsp_outgoing_calls, { desc = 'Find LSP outgoing calls' }) vim.keymap.set('n', 'cfi', require('telescope.builtin').lsp_implementations, { desc = 'Find LSP implementations' }) vim.keymap.set('n', 'fu', require('telescope').extensions.undo.undo, { desc = 'Find undo' }) vim.keymap.set('n', 'fd', function() require('telescope').extensions.file_browser.file_browser({ path = '%:p:h', select_buffer = true }) end, { desc = 'Find directory' })