-- ============================================================================ -- Telescope - Fuzzy Finder -- ============================================================================ return { { 'nvim-telescope/telescope.nvim', event = 'VimEnter', 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, }, { 'nvim-telescope/telescope-ui-select.nvim' }, { 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font }, }, config = function() local telescope = require('telescope') local actions = require('telescope.actions') telescope.setup({ defaults = { prompt_prefix = ' ', selection_caret = ' ', path_display = { 'truncate' }, sorting_strategy = 'ascending', layout_config = { horizontal = { prompt_position = 'top', preview_width = 0.55, }, vertical = { mirror = false, }, width = 0.87, height = 0.80, preview_cutoff = 120, }, mappings = { i = { [''] = actions.cycle_history_next, [''] = actions.cycle_history_prev, [''] = actions.move_selection_next, [''] = actions.move_selection_previous, }, }, }, pickers = { find_files = { hidden = true, find_command = { 'rg', '--files', '--hidden', '--glob', '!**/.git/*' }, }, }, extensions = { ['ui-select'] = { require('telescope.themes').get_dropdown(), }, }, }) -- Extensions laden pcall(telescope.load_extension, 'fzf') pcall(telescope.load_extension, 'ui-select') -- Keymaps local builtin = require('telescope.builtin') vim.keymap.set('n', 'ff', builtin.find_files, { desc = 'Find files' }) vim.keymap.set('n', 'fg', builtin.live_grep, { desc = 'Live grep' }) vim.keymap.set('n', 'fb', builtin.buffers, { desc = 'Buffers' }) vim.keymap.set('n', 'fh', builtin.help_tags, { desc = 'Help tags' }) vim.keymap.set('n', 'fo', builtin.oldfiles, { desc = 'Recent files' }) vim.keymap.set('n', 'fw', builtin.grep_string, { desc = 'Current word' }) vim.keymap.set('n', 'fd', builtin.diagnostics, { desc = 'Diagnostics' }) vim.keymap.set('n', 'fr', builtin.resume, { desc = 'Resume' }) vim.keymap.set('n', 'f.', builtin.oldfiles, { desc = 'Recent files' }) vim.keymap.set('n', '/', builtin.current_buffer_fuzzy_find, { desc = 'Search in buffer' }) -- Git vim.keymap.set('n', 'gc', builtin.git_commits, { desc = 'Git commits' }) vim.keymap.set('n', 'gf', builtin.git_files, { desc = 'Git files' }) vim.keymap.set('n', 'gs', builtin.git_status, { desc = 'Git status' }) end, }, }