-- Telescope fuzzy finder return { { 'nvim-telescope/telescope.nvim', branch = '0.1.x', dependencies = { 'nvim-lua/plenary.nvim', { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make', cond = function() return vim.fn.executable('make') == 1 end, }, }, config = function() local telescope = require('telescope') local actions = require('telescope.actions') telescope.setup({ defaults = { -- Minimal UI, keep it clean prompt_prefix = '> ', selection_caret = '> ', path_display = { 'truncate' }, -- Sensible default mappings mappings = { i = { [''] = actions.move_selection_next, [''] = actions.move_selection_previous, [''] = actions.close, [''] = actions.move_selection_next, [''] = actions.move_selection_previous, [''] = actions.select_default, [''] = actions.select_horizontal, [''] = actions.select_vertical, [''] = actions.select_tab, }, n = { [''] = actions.close, [''] = actions.select_default, [''] = actions.select_horizontal, [''] = actions.select_vertical, [''] = actions.select_tab, ['j'] = actions.move_selection_next, ['k'] = actions.move_selection_previous, }, }, }, pickers = { -- Keep pickers minimal, use defaults find_files = { theme = 'dropdown', previewer = false, }, buffers = { theme = 'dropdown', previewer = false, mappings = { i = { [''] = actions.delete_buffer, }, }, }, }, extensions = { -- fzf-native configuration (faster sorting) fzf = { fuzzy = true, override_generic_sorter = true, override_file_sorter = true, case_mode = 'smart_case', }, }, }) -- Load fzf extension if available pcall(telescope.load_extension, 'fzf') end, keys = { -- Find files in current working directory { 'ff', 'Telescope find_files', desc = 'Find files' }, -- Live grep (search text across project) { 'fg', 'Telescope live_grep', desc = 'Live grep' }, -- Search in open buffers { 'fb', 'Telescope buffers', desc = 'Find buffers' }, -- Search help tags { 'fh', 'Telescope help_tags', desc = 'Find help' }, -- Recent files { 'fr', 'Telescope oldfiles', desc = 'Recent files' }, -- Search current buffer { '/', 'Telescope current_buffer_fuzzy_find', desc = 'Search buffer' }, -- LSP-related pickers (optional, for when LSP is active) { 'fs', 'Telescope lsp_document_symbols', desc = 'Document symbols' }, { 'fS', 'Telescope lsp_dynamic_workspace_symbols', desc = 'Workspace symbols (dynamic)' }, }, }, }