return {
	"molecule-man/telescope-menufacture",
	{
		"nvim-telescope/telescope.nvim",
		tag = "0.1.8",
		dependencies = { "nvim-lua/plenary.nvim" },
		event = "VimEnter",
		config = function()
			require("telescope").load_extension("menufacture")
			local builtin = require("telescope.builtin")
			vim.keymap.set(
				"n",
				"<leader>sf",
				require("telescope").extensions.menufacture.find_files,
				{ desc = "[S]earch [F]iles" }
			)
			vim.keymap.set(
				"n",
				"<leader>sg",
				require("telescope").extensions.menufacture.live_grep,
				{ desc = "[S]earch [G]rep" }
			)
			vim.keymap.set(
				"n",
				"<leader>sw",
				require("telescope").extensions.menufacture.grep_string,
				{ desc = "[S]earch [W]ord under cursor" }
			)

			vim.keymap.set("n", "<leader>/", function()
				-- You can pass additional configuration to Telescope to change the theme, layout, etc.
				builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown({
					winblend = 20,
					previewer = false,
				}))
			end, { desc = "[/] Fuzzily search in current buffer" })

			vim.keymap.set("n", "<leader>ff", function()
				require("telescope.builtin").lsp_document_symbols({ symbols = "function" })
			end, { desc = "[F]ind [F]unction" })
		end,
	},
	{
		"jmacadie/telescope-hierarchy.nvim",
		dependencies = {
			{
				"nvim-telescope/telescope.nvim",
				dependencies = { "nvim-lua/plenary.nvim" },
			},
		},
		keys = {
			{ -- lazy style key map
				-- Choose your own keys, this works for me
				"<leader>si",
				"<cmd>Telescope hierarchy incoming_calls<cr>",
				desc = "LSP: [S]earch [I]ncoming Calls",
			},
			{
				"<leader>so",
				"<cmd>Telescope hierarchy outgoing_calls<cr>",
				desc = "LSP: [S]earch [O]utgoing Calls",
			},
		},
		opts = {},
		config = function(_, opts)
			require("telescope").setup(opts)
			require("telescope").load_extension("hierarchy")
		end,
	},
}
