return { { 'nvim-telescope/telescope.nvim', cmd = 'Telescope', version = false, lazy = true, dependencies = { { 'nvim-lua/plenary.nvim' }, { 'nvim-tree/nvim-web-devicons' }, { 'nvim-telescope/telescope-fzf-native.nvim', build = 'zig' }, { 'nvim-telescope/telescope-ui-select.nvim' }, { 'nvim-telescope/telescope-file-browser.nvim' }, }, keys = { { 'sf', function() require('telescope.builtin').find_files() end, desc = 'Find File (CWD)', }, { 'sh', function() require('telescope.builtin').help_tags() end, desc = 'Find Help', }, { 'sH', function() require('telescope.builtin').highlights() end, desc = 'Find highlight groups', }, { 'sM', function() require('telescope.builtin').man_pages() end, desc = 'Map Pages', }, { 'so', function() require('telescope.builtin').oldfiles() end, desc = 'Open Recent File', }, { 'sg', function() require('telescope.builtin').live_grep() end, desc = 'Live Grep', }, { 'sw', function() require('telescope.builtin').grep_string() end, desc = 'Grep String', }, { 'sk', function() require('telescope.builtin').keymaps() end, desc = 'Keymaps', }, { 'sC', function() require('telescope.builtin').commands() end, desc = 'Commands', }, { '', function() require('telescope.builtin').buffers() end, desc = 'Buffers', }, { 'sd', function() require('telescope.builtin').diagnostics() end, desc = 'diagnostics', }, { 'sF', 'Telescope file_browser', "desc = 'File Browser'", }, }, config = function() local telescope = require('telescope') local fb_actions = require('telescope').extensions.file_browser.actions telescope.setup({ file_ignore_patterns = { '%.git/.' }, defaults = { preview = { treesitter = false, }, }, 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" }, file_browser = { theme = 'ivy', hijack_netrw = true, mapping = { ['i'] = { [''] = fb_actions.create, [''] = fb_actions.rename, [''] = fb_actions.remove, [''] = fb_actions.toggle_hidden, }, ['n'] = { ['a'] = fb_actions.create, ['r'] = fb_actions.rename, ['d'] = fb_actions.remove, ['h'] = fb_actions.toggle_hidden, }, }, }, }, borderchars = { prompt = { '─', '│', '─', '│', '╭', '╮', '╯', '╰' }, results = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' }, }, }) telescope.load_extension('ui-select') telescope.load_extension('file_browser') -- telescope.load_extension("refactoring") telescope.load_extension('notify') end, }, }