return {
	"nvim-telescope/telescope.nvim",
	dependencies = {
		"nvim-lua/plenary.nvim",
	},
	config = function()
		local actions = require("telescope.actions")
		require("telescope").setup({
			extensions = {
				project = {
					sync_with_nvim_tree = true,
				},
			},
			pickers = {
				buffers = {
					initial_mode = "normal",
				},
			},
			defaults = {
				file_ignore_patterns = { "vendor", "node_modules" },
				mappings = {
					i = {
						["<F4>"] = actions.close,
					},
					n = {
						["<F4>"] = actions.close,
					},
				},
			},
		})
	end,
	keys = {
		{ "<leader>ff", "<cmd>Telescope find_files<CR>", noremap = true, silent = true, desc = "Find files" },
		{ "<leader>fg", "<cmd>Telescope live_grep<CR>", noremap = true, silent = true, desc = "Live grep" },
		{
			"<leader>fb",
			"<cmd>Telescope current_buffer_fuzzy_fund<CR>",
			noremap = true,
			silent = true,
			desc = "Find current file",
		},
		{ "<F4>", "<cmd>Telescope buffers<CR>", noremap = true, silent = true, desc = "Find buffers" },
		{ "<leader>gc", "<cmd>Telescope git_commits<CR>", noremap = true, silent = true },
		{ "<leader>gs", "<cmd>Telescope git_status<CR>", noremap = true, silent = true },
		{ "<leader>ch", "<cmd>Telescope commands_history<CR>", noremap = true, silent = true },
		{ "<leader>e", "<cmd>Telescope diagnostics<CR>", noremap = true, silent = true },
		{ "gi", "<cmd>Telescope lsp_implementations<CR>", noremap = true, silent = true },
		{ "gr", "<cmd>Telescope lsp_references<CR>", noremap = true, silent = true },
	},
}
