return { 'nvim-telescope/telescope.nvim', tag = '0.1.5', dependencies = { 'nvim-lua/plenary.nvim', 'nvim-telescope/telescope-ui-select.nvim', }, config = function() -- Setup -- require('telescope').setup({ extensions = { ['ui-select'] = { require('telescope.themes').get_dropdown({}), }, }, }) require('telescope').load_extension('ui-select') -- Keybinding -- local function setTelescopeBinding( mode, keymap, method, search_global, description ) local function binding() local path = search_global and '~' or require('neo-tree.sources.manager').get_state( 'filesystem' ).path method({ search_dirs = { path } }) end vim.keymap.set(mode, keymap, binding, { desc = description }) end local telescope = require('telescope.builtin') setTelescopeBinding( 'n', 'ff', telescope.find_files, false, 'Find File' ) setTelescopeBinding( 'n', 'fz', telescope.live_grep, false, 'Fuzzy Find' ) setTelescopeBinding( 'n', 'gff', telescope.find_files, true, 'Global Find File' ) setTelescopeBinding( 'n', 'gfz', telescope.live_grep, true, 'Global Fuzzy Find' ) end, }