local prefix = "G" return { { import = "lazyvim.plugins.extras.util.octo" }, { import = "plugins.extras.lang.git-extended" }, { "williamboman/mason.nvim", opts = function(_, opts) opts.ensure_installed = opts.ensure_installed or {} vim.list_extend(opts.ensure_installed, { "gh" }) end, }, { "almo7aya/openingh.nvim", cmd = { "OpenInGHRepo", "OpenInGHFile", "OpenInGHFileLines" }, keys = { { prefix .. "ro", "OpenInGHRepo", desc = "Open git repo in web", mode = { "n" } }, { prefix .. "rf", "OpenInGHFile", desc = "Open git file in web", mode = { "n" } }, { prefix .. "rc", "OpenInGHFileLines", desc = "Open current line in web", mode = { "n", "x", "v" } }, }, }, { "folke/which-key.nvim", opts = { spec = { { prefix, group = "github", icon = " " }, { prefix .. "c", group = "comments" }, { prefix .. "t", group = "threads" }, { prefix .. "i", group = "issues" }, { prefix .. "p", group = "pull requests" }, { prefix .. "pm", group = "merge current PR" }, { prefix .. "r", group = "repo" }, { prefix .. "a", group = "assignee/reviewer" }, { prefix .. "l", group = "label" }, { prefix .. "e", group = "reaction" }, { prefix .. "R", group = "review" }, { prefix .. "g", group = "gist" }, { prefix .. "s", group = "review" }, { prefix .. "P", group = "profile" }, }, }, }, { "Rawnly/gist.nvim", cmd = { "GistCreate", "GistCreateFromFile", "GistsList" }, dependencies = { "samjwill/nvim-unception", init = function() vim.g.unception_block_while_host_edits = true end, }, opts = {}, keys = { { prefix .. "gc", "GistCreate", desc = "Create a Gist" }, { prefix .. "gf", "GistCreateFromFile", desc = "Create a Gist from File" }, { prefix .. "gl", "GistsList", desc = "List Gists" }, }, }, { "pwntester/octo.nvim", opts = { use_diagnostic_signs = true, mappings = {}, }, keys = { -- Disable default LazyVim keymaps { "gi", false }, { "gI", false }, { "gp", false }, { "gP", false }, { "gr", false }, { "gS", false }, { prefix .. "ca", "Octo comment add", desc = "Add a New Comment" }, { prefix .. "cd", "Octo comment delete", desc = "Delete a Comment" }, { prefix .. "ta", "Octo thread resolve", desc = "Mark Thread as Resolved" }, { prefix .. "td", "Octo thread unresolve", desc = "Mark Thread as Unresolved" }, { prefix .. "ic", "Octo issue close", desc = "Close Current Issue" }, { prefix .. "ir", "Octo issue reopen", desc = "Reopen Current Issue" }, { prefix .. "il", "Octo issue list", desc = "List Open Issues" }, { prefix .. "is", "Octo issue search", desc = "Search Issues" }, { prefix .. "iu", "Octo issue url", desc = "Copies URL of Current Issue" }, { prefix .. "io", "Octo issue browser", desc = "Open Current Issue in Browser" }, { prefix .. "pp", "Octo pr checkout", desc = "Checkout PR" }, { prefix .. "pmm", "Octo pr merge commit", desc = "Merge Commit PR" }, { prefix .. "pms", "Octo pr merge squash", desc = "Squash Merge PR" }, { prefix .. "pmd", "Octo pr merge delete", desc = "Delete Merge PR" }, { prefix .. "pmr", "Octo pr merge rebase", desc = "Rebase Merge PR" }, { prefix .. "pc", "Octo pr close", desc = "Close Current PR" }, { prefix .. "pn", "Octo pr create", desc = "Create PR for Current Branch" }, { prefix .. "pd", "Octo pr diff", desc = "Show PR Diff" }, { prefix .. "ps", "Octo pr search", desc = "Search PR" }, { prefix .. "ps", "Octo pr list", desc = "List Open PRs" }, { prefix .. "pr", "Octo pr ready", desc = "Mark Draft as Ready for Review" }, { prefix .. "po", "Octo pr browser", desc = "Open Current PR in Browser" }, { prefix .. "pu", "Octo pr url", desc = "Copies URL of Current PR" }, { prefix .. "pt", "Octo pr commits", desc = "List PR Commits" }, { prefix .. "pl", "Octo pr commits", desc = "List Changed Files in PR" }, { prefix .. "rf", "Octo repo fork", desc = "Fork Repo" }, { prefix .. "ru", "Octo repo url", desc = "Copies URL of Current Repo" }, { prefix .. "aa", " Octo assignee add", desc = "Assign a User" }, { prefix .. "ar", " Octo assignee remove", desc = "Remove a User" }, { prefix .. "ap", " Octo reviewer add", desc = "Assign a PR Reviewer" }, { prefix .. "la", " Octo label add", desc = "Assign a Label" }, { prefix .. "lr", " Octo label remove", desc = "Remove a Label" }, { prefix .. "lc", " Octo label create", desc = "Create a Label" }, { prefix .. "e1", "Octo reaction thumbs_up", desc = "Add 👍 Reaction" }, { prefix .. "e2", "Octo reaction thumbs_down", desc = "Add 👎 Reaction" }, { prefix .. "e3", "Octo reaction eyes", desc = "Add 👀 Reaction" }, { prefix .. "e4", "Octo reaction laugh", desc = "Add 😄 Reaction" }, { prefix .. "e5", "Octo reaction confused", desc = "Add 😕 Reaction" }, { prefix .. "e6", "Octo reaction rocket", desc = "Add 🚀 Reaction" }, { prefix .. "e7", "Octo reaction heart", desc = "Add ❤️ Reaction" }, { prefix .. "e8", "Octo reaction party", desc = "Add 🎉 Reaction" }, { prefix .. "x", "Octo actions", desc = "Run an Action" }, { prefix .. "ss", " Octo review start", desc = "Start Review" }, { prefix .. "sf", " Octo review submit", desc = "Submit Review" }, { prefix .. "sr", " Octo review resume", desc = "Submit Resume" }, { prefix .. "sd", " Octo review discard", desc = "Delete Pending Review" }, { prefix .. "sc", " Octo review comments", desc = "View Pending Comments" }, { prefix .. "sp", " Octo review commit", desc = "Select Commit to Review" }, { prefix .. "sc", " Octo review close", desc = "Return to PR" }, }, }, { "2kabhishek/octohub.nvim", dependencies = { "2kabhishek/utils.nvim", }, cmd = { "OctoRepos", "OctoRepo", "OctoStats", "OctoActivityStats", "OctoContributionStats", "OctoRepoStats", "OctoProfile", "OctoRepoWeb", }, opts = { add_default_keybindings = false, projects_dir = "~/dev/", }, keys = { { prefix .. "rl", "OctoRepos", desc = "List Repos" }, { prefix .. "rS", "OctoRepos sort:stars", desc = "Top Starred Repos" }, { prefix .. "rI", "OctoRepos sort:issues", desc = "Top Repos With Issues" }, { prefix .. "rU", "OctoRepos sort:updated", desc = "Recently Updated Repos" }, { prefix .. "rP", "OctoRepos type:private", desc = "Private Repos" }, { prefix .. "rF", "OctoRepos type:fork", desc = "Forked Repos" }, { prefix .. "rc", "OctoRepo", desc = "Clone/Open Repo" }, { prefix .. "rs", "OctoRepoStats", desc = "Repo Stats" }, { prefix .. "Ps", "OctoStats", desc = "All Stats" }, { prefix .. "Pa", "OctoActivityStats", desc = "Activity Stats" }, { prefix .. "Pc", "OctoContributionStats", desc = "Contribution Stats" }, { prefix .. "Po", "OctoProfile", desc = "Open Profile" }, }, }, }