A Neovim plugin to view and manage GitHub issues directly from your editor. This plugin integrates with GitHub's API to allow you to browse, view, and (eventually) create/comment on issues without leaving Neovim.
Features | Done |
---|---|
List issues on Public Repository | ✅ |
List Issues on Private Repository | ❌ |
Details Issue | ✅ |
Create Issue | ❌ |
Close Issue | ❌ |
Re-open Issue | ❌ |
Comment Issue | ❌ |
- Neovim 0.8.0+
- plenary.nvim (for HTTP requests and utilities)
- Git repository connected to GitHub
Using lazy.nvim
{
"juninhopo/issues-neovim",
dependencies = {
"nvim-lua/plenary.nvim",
"voldikss/vim-floaterm"
},
dev = false, -- Garantir que não está em modo de desenvolvimento
pin = false, -- Não fixar versão
enable = true, -- Garantir que está habilitado
priority = 50, -- Prioridade normal de carregamento
lazy = false, -- Carregar durante a inicialização
branch = "main", -- Usar a branch main
},
Using packer.nvim
use {
"juninhopo/issues-neovim",
requires = { "nvim-lua/plenary.nvim" },
config = function()
require("issues_neovim").setup()
end
}
You can configure the plugin by passing a table to the setup function:
return {
"juninhopo/issues-neovim",
dependencies = {
"nvim-lua/plenary.nvim"
},
config = function()
require("issues_neovim").setup({
enabled = true,
keys = {
open = "<leader>gi",
close = "q",
refresh = "r",
navigate = { prev = "k", next = "j" },
view_details = "<CR>",
create_issue = "c",
add_comment = "a",
},
ui = {
width = 0.8,
height = 0.8,
border = "rounded",
title = "GitHub Issues",
},
github = {
api_url = "https://api.github.com",
-- Optional: Set your GitHub username if different from juninhopo
-- username = "your-github-username",
-- Optional: Set your GitHub token here or use one of the other methods mentioned in the docs
-- token = nil, -- Will check environment variables and ~/.config/github_token
},
})
end,
}
For private repositories or better rate limits, a GitHub token is recommended. The plugin will look for a token in the following order:
-
Token set directly in configuration:
require("issues_neovim").setup({ github = { token = "your-github-token" } })
-
Environment variable
GITHUB_TOKEN
in your shell (e.g., in.zshrc
):export GITHUB_TOKEN="your-github-token"
-
Token stored in file
~/.config/github_token
To create a GitHub token, visit: https://github.com/settings/tokens
For basic repository access, the repo
scope should be sufficient.
- Open the issues list:
<leader>gi
or:IssuesNeovim
- Navigate between issues:
j/k
(or your configured keys) - View issue details:
<CR>
(Enter) - Refresh issues:
r
- Close the window:
q
:IssuesNeovim
- Open the issues list:IssuesNeovimRefresh
- Refresh the list of issues
- API errors: Make sure your GitHub token has the correct permissions
- No issues found: Verify that you're in a valid git repository with a GitHub remote
- Plugin doesn't load: Check that plenary.nvim is installed and accessible
MIT
juninhopo