local M = {} local function set_telescope_map(key, picker) vim.keymap.set( 'n', string.format('%s', key), string.format('Telescope %s', picker) ) vim.keymap.set( 'n', string.format('', key), string.format('Telescope %s', picker) ) end function M.setup() require('telescope').setup { defaults = { mappings = { i = { [''] = 'select_horizontal', [''] = 'select_tab', [''] = 'select_vertical', [''] = 'close', }, }, }, pickers = { buffers = { theme = 'ivy' }, find_files = { theme = 'ivy' }, live_grep = { theme = 'ivy' }, lsp_definitions = { theme = 'cursor' }, lsp_implementations = { theme = 'cursor' }, lsp_type_definitions = { theme = 'cursor' }, lsp_workspace_symbols = { theme = 'ivy' }, }, } -- General set_telescope_map(';', 'resume') set_telescope_map('b', 'buffers') set_telescope_map('f', 'find_files') set_telescope_map('g', 'live_grep') -- LSP set_telescope_map('?', 'diagnostics') set_telescope_map(']', 'lsp_definitions') set_telescope_map('i', 'lsp_implementations') set_telescope_map('s', 'lsp_workspace_symbols') set_telescope_map('t', 'lsp_type_definitions') vim.api.nvim_create_autocmd('User', { pattern = 'TelescopePreviewerLoaded', callback = function() vim.wo.wrap = true end, }) end return M