return { { "nvim-telescope/telescope.nvim", depedencies = { { "nvim-lua/popup.nvim" }, { "nvim-lua/plenary.nvim" }, { "nvim-telescope/telescope-project.nvim" }, }, config = function() local telescope = require("telescope") telescope.setup { extensions = { project = { base_dirs = { { "~/library/projects/software", max_depth = 2 }, { "~/library/projects/packages" }, { "~/library/writings" }, }, }, }, } telescope.load_extension("project") local builtins = require("telescope.builtin") local get_builtin = function(fun, ...) local fargs = arg return function() builtins[fun](fargs) end end vim.keymap.set( "n", "ff", get_builtin("find_files", { hidden = true }), { noremap = true } ) vim.keymap.set( "n", "fF", function() builtins.find_files { cwd = require("telescope.utils").buffer_dir(), hidden = true, } end, { noremap = true } ) vim.keymap.set("n", "fg", get_builtin "grep_string", { noremap = true }) vim.keymap.set("n", "fG", get_builtin "live_grep", { noremap = true }) vim.keymap.set("n", "fb", get_builtin "buffers" , { noremap = true }) vim.keymap.set("n", "fh", get_builtin "help_tags", { noremap = true }) vim.keymap.set("n", "ft", get_builtin "treesitter", { noremap = true }) vim.keymap.set("n", "fb", get_builtin "buffers", { noremap = true }) vim.keymap.set("n", "fr", get_builtin "old_files", { noremap = true }) vim.keymap.set( "n", "fR", get_builtin("old_files", { only_cwd = true }), { noremap = true } ) vim.keymap.set("n", "fA", get_builtin "resume", { noremap = true }) -- Ekeymap.set vim.keymap.set( "n", "fp", 'lua require("telescope").extensions.project.project({})', { noremap = true } ) end, }, -- Marks in ~~steroids~~ coconut oil { "ThePrimeagen/harpoon", config = function() vim.keymap.set("n", "fm", "lua require('harpoon.mark').add_file()", {}) local has_telescope, telescope = pcall("telescope") if has_telescope then vim.keymap.set("n", "fM", "lua require('telescope').extensions.harpoon.harpoon({})", {}) require("telescope").load_extension("harpoon") end end, dependencies = { { "nvim-lua/plenary.nvim" } }, } }