CI for Neovim
  • Lua 96.1%
  • Shell 1.9%
  • Nix 1.5%
  • Just 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Barrett Ruth bf9110da3f
All checks were successful
quality / Format (push) Successful in 6s
quality / Test (push) Successful in 9s
quality / Lint (push) Successful in 13s
deploy / LuaRocks (nightly) (push) Successful in 32s
docs: name the markers instead of calling them annotations
Problem: "Annotation" is GitHub's word and appeared nowhere else in the help,
while the table directly above names things like a `##[group]` heading.

Solution: Say `##[error]` and `##[warning]`.
2026-07-28 01:27:03 -05:00
.forgejo feat: initial scaffold 2026-07-27 00:55:37 -05:00
.github/workflows feat: initial scaffold 2026-07-27 00:55:37 -05:00
doc docs: name the markers instead of calling them annotations 2026-07-28 01:27:03 -05:00
lua/ci fix: two seams the poll left behind (#37) 2026-07-28 06:14:33 +00:00
plugin fix: define the band in every colourscheme, not just the first 2026-07-27 22:47:31 -05:00
spec feat: ]] and [[ move by step (#28) 2026-07-28 00:05:47 +00:00
.busted feat: GitHub Actions status and logs behind :CI 2026-07-27 15:10:56 -05:00
.editorconfig feat: initial scaffold 2026-07-27 00:55:37 -05:00
.gitignore feat: GitHub Actions status and logs behind :CI 2026-07-27 15:10:56 -05:00
.luarc.json feat: initial scaffold 2026-07-27 00:55:37 -05:00
.styluaignore feat: initial scaffold 2026-07-27 00:55:37 -05:00
biome.json feat: initial scaffold 2026-07-27 00:55:37 -05:00
ci.nvim-scm-1.rockspec feat: initial scaffold 2026-07-27 00:55:37 -05:00
CONTRIBUTING.md feat: initial scaffold 2026-07-27 00:55:37 -05:00
flake.lock feat: report loading as a progress message (#30) 2026-07-28 00:29:54 +00:00
flake.nix feat: report loading as a progress message (#30) 2026-07-28 00:29:54 +00:00
justfile build: set VIMRUNTIME from the flake instead of probing nvim 2026-07-27 15:45:20 -05:00
LICENSE feat: initial scaffold 2026-07-27 00:55:37 -05:00
README.md feat: show a running job's steps instead of a terminal (#35) 2026-07-28 06:07:58 +00:00
selene.toml feat: initial scaffold 2026-07-27 00:55:37 -05:00
stylua.toml feat: initial scaffold 2026-07-27 00:55:37 -05:00
vim.yaml feat: initial scaffold 2026-07-27 00:55:37 -05:00

ci.nvim

GitHub Actions CI in Neovim

Note

Development, issues, and pull requests happen on Forgejo. GitHub is maintained as a read-only mirror.

image

Experience the power of :CI. Native GHA logs in normal Neovim buffers with real ANSI colours, step-level folds, and more.

Requirements

  • Neovim 0.13+
  • gh, authenticated
  • git

Installation

With vim.pack (Neovim 0.12+):

vim.pack.add({
  'https://forge.barrettruth.com/barrettruth/ci.nvim',
})

Or via luarocks:

luarocks install ci.nvim

Usage

" checks for the active pull request on this branch
:CI

" any git revision, resolved by GitHub rather than locally
:CI master
:CI v0.11.0
:CI HEAD~3

" any github.com CI URL
:CI https://github.com/neovim/neovim/actions/runs/30208531214/job/89810718120
:CI https://github.com/neovim/neovim/pull/40993
:CI https://github.com/neovim/neovim/actions/workflows/test.yml

" the <cWORD> under the cursor
:CI .

Work with a ci:// buffer via neovim-native mappings. <CR> opens the check under the cursor, - goes back to the list you came from, walk job steps with [[ and ]], and more.

Documentation

:help ci

Known limitations

  • In Progress Jobs: GitHub/gh cli does not support this. In-progress checks/jobs display their step status only, until completion.