local Util = require("lazyvim.util") ---@type LazyPluginSpec return { { "nvim-telescope/telescope.nvim", keys = { { "fF", Util.telescope("files", { cwd = false }), desc = "Find Files (cwd)" }, -- from lazyvim { ",", "Telescope buffers show_all_buffers=true", desc = "Switch Buffer" }, { "/", Util.telescope("live_grep"), desc = "Grep (root dir)" }, { ":", "Telescope command_history", desc = "Command History" }, { "", Util.telescope("files"), desc = "Find Files (root dir)" }, { "", false }, -- find { "fb", "Telescope buffers sort_lastused=true", desc = "Buffers" }, -- { "ff", Util.telescope("files"), desc = "Find Files (root dir)" }, { "ff", false }, -- fswitch { "fF", Util.telescope("files", { cwd = false }), desc = "Find Files (cwd)" }, { "fr", "Telescope oldfiles", desc = "Recent" }, { "fR", Util.telescope("oldfiles", { cwd = vim.loop.cwd() }), desc = "Recent (cwd)" }, -- git -- { "gc", "Telescope git_commits", desc = "commits" }, { "gc", false }, -- { "gs", "Telescope git_status", desc = "status" }, { "gs", false }, -- search { "sa", "Telescope autocommands", desc = "Auto Commands" }, { "sb", "Telescope current_buffer_fuzzy_find", desc = "Buffer" }, { "sc", "Telescope command_history", desc = "Command History" }, { "sC", "Telescope commands", desc = "Commands" }, { "sd", "Telescope diagnostics bufnr=0", desc = "Document diagnostics" }, { "sD", "Telescope diagnostics", desc = "Workspace diagnostics" }, { "sg", Util.telescope("live_grep"), desc = "Grep (root dir)" }, { "sG", Util.telescope("live_grep", { cwd = false }), desc = "Grep (cwd)" }, { "sh", "Telescope help_tags", desc = "Help Pages" }, { "sH", "Telescope highlights", desc = "Search Highlight Groups" }, { "sk", "Telescope keymaps", desc = "Key Maps" }, { "sM", "Telescope man_pages", desc = "Man Pages" }, { "sm", "Telescope marks", desc = "Jump to Mark" }, { "so", "Telescope vim_options", desc = "Options" }, { "sR", "Telescope resume", desc = "Resume" }, { "sw", Util.telescope("grep_string"), desc = "Word (root dir)" }, { "sW", Util.telescope("grep_string", { cwd = false }), desc = "Word (cwd)" }, { "uC", Util.telescope("colorscheme", { enable_preview = true }), desc = "Colorscheme with preview" }, -- { -- "ss", -- Util.telescope("lsp_document_symbols", { -- symbols = { -- "Class", -- "Function", -- "Method", -- "Constructor", -- "Interface", -- "Module", -- "Struct", -- "Trait", -- "Field", -- "Property", -- }, -- }), -- desc = "Goto Symbol", -- }, { "ss", false }, -- use for snippets below { "sS", Util.telescope("lsp_dynamic_workspace_symbols", { symbols = { "Class", "Function", "Method", "Constructor", "Interface", "Module", "Struct", "Trait", "Field", "Property", }, }), desc = "Goto Symbol (Workspace)", }, }, }, { "benfowler/telescope-luasnip.nvim", dependencies = { "telescope.nvim", }, config = function() require("telescope").load_extension("luasnip") end, keys = { { "ss", "Telescope luasnip", desc = "Snippets" } }, }, { "neo-tree.nvim", lazy = false, opts = { filesystem = { -- TODO: review these bind_to_cwd = false, follow_current_file = { enabled = false, }, }, }, keys = function() local NeoTree = function(args) return function() require("neo-tree.command").execute(args) end end return { { "fe", NeoTree({ toggle = true, dir = vim.loop.cwd() }) }, } end, }, }