-- ============================================================================ -- OCTO: GitHub integration for Neovim -- ============================================================================ -- A plugin that brings GitHub functionality directly into Neovim, allowing -- you to manage issues, pull requests, and repositories without leaving -- your editor. Uses Telescope for browsing and searching. -- -- Keymaps (leader: o): -- oi - List issues -- oI - Create new issue -- op - List pull requests -- oP - Create new pull request -- or - List repositories -- os - Search issues/PRs -- oa - Show available Octo actions -- -- Picker mappings: -- - Open in browser -- - Copy URL to clipboard -- - Checkout PR -- - Merge PR -- ============================================================================ return { "pwntester/octo.nvim", dependencies = { "nvim-lua/plenary.nvim", "nvim-telescope/telescope.nvim", "nvim-tree/nvim-web-devicons", }, cmd = "Octo", keys = { { "oi", "Octo issue list", desc = "List issues" }, { "oI", "Octo issue create", desc = "Create issue" }, { "op", "Octo pr list", desc = "List PRs" }, { "oP", "Octo pr create", desc = "Create PR" }, { "or", "Octo repo list", desc = "List repos" }, { "os", "Octo search", desc = "Search issues/PRs" }, { "oa", "Octo actions", desc = "Octo actions" }, }, opts = { use_local_fs = false, enable_builtin = true, default_remote = { "upstream", "origin" }, ssh_aliases = {}, picker = "telescope", picker_config = { use_emojis = true, mappings = { open_in_browser = { lhs = "", desc = "open in browser" }, copy_url = { lhs = "", desc = "copy url to clipboard" }, checkout_pr = { lhs = "", desc = "checkout PR" }, merge_pr = { lhs = "", desc = "merge PR" }, }, }, comment_icon = "", outdated_icon = "󰅒 ", resolved_icon = " ", reaction_viewer_hint_icon = " ", user_icon = " ", timeline_marker = " ", timeline_indent = "2", right_bubble_delimiter = "", left_bubble_delimiter = "", github_hostname = "", snippet_context_lines = 4, gh_env = {}, timeout = 5000, default_to_projects_v2 = false, ui = { use_signcolumn = true, }, issues = { order_by = { field = "CREATED_AT", direction = "DESC", }, }, pull_requests = { order_by = { field = "CREATED_AT", direction = "DESC", }, always_select_remote_on_create = false, }, file_panel = { size = 10, use_icons = true, }, mappings = {}, }, }