return { "FeiyouG/commander.nvim", dependencies = { "nvim-telescope/telescope.nvim" }, init = function() require("commander").setup({ integration = { telescope = { enable = true, theme = require("telescope.themes").commander, }, lazy = { enable = true, set_plugin_name_as_cat = true, }, }, }) require("commander").add({ { desc = "Find git files", cmd = ":FzfLua git_files", }, { cmd = ":FzfLua files", desc = "Find files", }, { cmd = ":FzfLua buffers", desc = "Buffer list", }, { cmd = ":FzfLua quickfix", desc = "Quickfix", }, { cmd = ":FzfLua quickfix_stack", desc = "Quickfix History", }, { cmd = ":FzfLua command_history", desc = "Command History", }, { cmd = ":FzfLua git_commits", desc = "Git commits", }, { cmd = ":FzfLua git_bcommits", desc = "Git buffer commits", }, { cmd = ":FzfLua git_branches", desc = "Git branches", }, { cmd = function() require("neogit").action("log", "log_current", { '--graph', '--decorate', '--color' })() end, desc = "Git log", }, { cmd = function() require("gitsigns").blame() end, desc = "Git blame", }, { cmd = ":DiffviewOpen", desc = "Diff view", }, { desc = "Diffview since develop branch", cmd = ":DiffviewOpen develop..." }, { desc = "Diffview since main branch", cmd = ":DiffviewOpen main..." }, { cmd = ":UndotreeToggle", desc = "Undotree", }, { cmd = ":EslintFixAll", desc = "ESLint: autofix all problems", }, { cmd = ":'<,'>sort", desc = "Sort", }, { cmd = ":lua Snacks.notifier.show_history()", desc = "Error/notification history", }, { cmd = ":lua Snacks.gitbrowse()", desc = "Show git file in the browser", }, { cmd = ":lua Snacks.terminal.toggle()", desc = "Terminal", keys = { "n", "t" }, set = false, }, { cmd = ":Trouble diagnostics toggle focus=false filter.buf=0", desc = "Diagnostic window (current buffer)", }, { cmd = ":Trouble symbols toggle pinned=true results.win.relative=win results.win.position=right", desc = "Symbols", }, { cmd = ":PackageInfoShow", desc = "Show package.json versions", }, { cmd = ":PackageInfoHide", desc = "Hide package.json versions", }, { cmd = ":PackageInfoUpdate", desc = "Update package.json dependency", }, { cmd = ":OutputPanel", desc = "Toggle LSP Output Panel" }, { cmd = ":I18nAddKey", desc = "I18n: Add key under cursor" } }) vim.api.nvim_create_user_command("Commander", function(args) require("commander").show() end, { desc = "Show commands", nargs = "*", }) vim.api.nvim_create_user_command("LastCommitToQuickfix", function(args) require("utils.telescope").last_commit_to_quickfix() end, { desc = "Last Commit To quickfix", nargs = "?", }) vim.api.nvim_create_user_command("ForkToQuickfix", function(args) require("utils.telescope").fork_to_quickfix(args.fargs[1]) end, { desc = "Branch changes to quickfix", nargs = "?", }) end, }