local state = require "state" return { "nvim-telescope/telescope.nvim", opts = function(_, opts) local actions = require "telescope.actions" local actions_mt = require "telescope.actions.mt" local open_quickfix = actions_mt.transform("open_quickfix", actions_mt.create(), nil, { action = function() require("trouble").open "qflist" end, }) return vim.tbl_deep_extend("force", opts, { defaults = { mappings = { n = { [""] = actions.send_to_qflist + open_quickfix, [""] = "preview_scrolling_left", [""] = "preview_scrolling_up", [""] = "preview_scrolling_down", [""] = "preview_scrolling_right", }, i = { [""] = actions.send_to_qflist + open_quickfix, [""] = "preview_scrolling_left", [""] = "preview_scrolling_up", [""] = "preview_scrolling_down", [""] = "preview_scrolling_right", }, }, }, }) end, dependencies = { "nvim-lua/plenary.nvim", }, keys = function() local builtin = require "telescope.builtin" return { { "ff", builtin.find_files, desc = "Telescope: find files" }, { "fF", function() builtin.find_files(state.nvim_tree_root and { cwd = state.nvim_tree_root, }) end, desc = "Telescope: find files in nvim-tree root", }, { "fg", builtin.live_grep, desc = "Telescope: live grep" }, { "fG", function() builtin.live_grep(state.nvim_tree_root and { cwd = state.nvim_tree_root, }) end, desc = "Telescope: live grep in nvim-tree root", }, } end, cmd = { "Telescope" }, }