pwntester / octo.nvim
git clone https://github.com/pwntester/octo.nvim.git
π₯ on GitHub Trending today
Edit and review GitHub issues and pull requests from the comfort of your favorite editor
β
stars, 24h
+8
stars, 7 days Β· #1,588
β
stars, 30 days
3.4k
β
total Β· +0% this week
252
forks Β· 252 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageLua
LicenseMIT
Created2020-09-26 (6y ago)
Last push7d ago
Watchers9
OwnerUser
Seen on GitHub Trending
- 2026-10-20 β #13 weekly in lua Β· +8 β
GitHub topics
Links
- GitHub: github.com/pwntester/octo.nvim
- Releases Β· Issues Β· Hacker News mentions
README excerpt
# :octopus: Octo.nvim Edit and review GitHub issues, pull requests, and discussions from the comfort of your favorite editor. Just edit the title, body, or comments as a regular buffer and use `:w(rite)` to sync with GitHub. ## π² Table of Contents - :octopus: Octo.nvim - π² Table of Contents - π« Features - π₯ Examples - π― Requirements - π¦ Installation - π§ Configuration - π€ Commands - π PR reviews - π Completion - π¨ Colors - πΊ Demos - π FAQ - π Contributing - π Credits - π Say Thanks - π License ## π« Features - Edit GitHub issues, PRs, and discussions - Add/Modify/Delete comments - Add/Remove label, reactions, assignees, project cards, reviewers, etc. - Add Review PRs - Interact with `GitHub CLI` from `lua` with `octo.gh` module. ## π₯ Examples [code] You can pass GitHub URLs directly to the `Octo` command, including GitHub Enterprise URLs: [code] You can also use `octo://` URLs to open issues and PRs directly: [code] The `octo://` URL format is especially useful for: - Opening issues/PRs from notes or wiki links without needing to be in the repository directory - Working with multiple GitHub instances (e.g., GitHub.com and GitHub Enterprise) without setting `GH_HOST` globally - Creating quick links in your workflow that work regardless of your current directory From any octo buffer, press ` ` in normal mode to see common actions. ## π― Requirements - Neovim `>=0.10.0` - Install GitHub CLI - If you'd like to use Projects v2 you will need to add the `read:project` scope to your `gh` token. You can do so by running `gh auth refresh -s read:project`. - If you'd like to actually modify projects you can instead add the `project` scope to your token instead. - Install plenary.nvim - Install one or none of: - telescope.nvim - fzf-lua - snacks.nvim - default picker uses `vim.ui.select` - Install nvim-web-devicons for file panel icons, or configure `file_panel.icons` After installation, run `:checkhealth octo` to verify your setup. ## π¦ Installation For a basic installation using `lazy.nvim`, try: [code] ## π§ Configuration Below is the full *default* configuration for `octo.nvim`. [code] ### File panel icons Configure file panel icons with `file_panel.icons`: - `true`: use `nvim-web-devicons` - `false`: disable icons - `function(name, ext)`: return `icon, hl` [code] ## π€ Commands There is only an `Octo [arguments]` command: If no command is passed, the argument to `Octo` is treated as a URL from where an issue or pr repo and number are extracted. | Object | Action | Arguments | | -------- | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | | issue | close | Close the current issue | | | reopen | Reopen the current issue | | | create [repo] | Creates a new issue in the current or specified repo | | | develop | Create and checkout a new branch for an issue in the current repo | | | e