return {
	'nvim-telescope/telescope.nvim', branch = 'master',
	dependencies = {
		'nvim-lua/plenary.nvim',
		{ 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
	},
	config = function()
		require('telescope').setup({
			defaults = {
				file_ignore_patterns = {
					'.git',
					'node_modules',
					'dist',
					'static',
					'public'
				}
			}
		})

		local builtin = require('telescope.builtin')

		-- Default keys
		vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
		vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
		vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
		vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })

		-- Custom keys
		vim.keymap.set('n', '<leader>?', builtin.oldfiles, { desc = 'Telescope old files' })
		vim.keymap.set('n', '<leader>fc', builtin.grep_string, { desc = 'Telescope grep string' })
	end
}
