No description
Find a file
Barrett Ruth a72296384c
Some checks are pending
luarocks / quality (push) Waiting to run
luarocks / publish (push) Blocked by required conditions
Merge pull request #44 from barrettruth/fix/doc
fix(doc): move hl documentation to the vimdoc
2026-02-03 01:42:27 -05:00
.github fix: ci 2026-02-03 01:36:54 -05:00
doc fix(doc): move hl documentation to the vimdoc 2026-02-03 01:33:31 -05:00
lua/diffs fix highlights 2026-02-03 01:21:57 -05:00
plugin feat: rename everything 2026-02-02 22:09:13 -05:00
scripts feat(scripts): ci script to run quickly 2026-02-02 16:03:50 -05:00
spec feat(test): misc tests for more robustness 2026-02-03 01:02:38 -05:00
.busted feat(test): testing infrastructure 2026-02-01 23:09:05 -05:00
.editorconfig feat: initial setup files 2026-02-01 16:30:24 -05:00
.gitignore feat: initial setup files 2026-02-01 16:30:24 -05:00
.luarc.json feat: initial setup files 2026-02-01 16:30:24 -05:00
.pre-commit-config.yaml fix: use yaml, not yml YAML file extension 2026-02-02 22:14:04 -05:00
.prettierignore feat: initial setup files 2026-02-01 16:30:24 -05:00
.prettierrc fix: use yaml, not yml YAML file extension 2026-02-02 22:14:04 -05:00
diffs.nvim-scm-1.rockspec feat: rename everything 2026-02-02 22:09:13 -05:00
LICENSE feat: initial setup files 2026-02-01 16:30:24 -05:00
README.md prefer luarocks install 2026-02-03 01:40:27 -05:00
selene.toml feat: initial setup files 2026-02-01 16:30:24 -05:00
stylua.toml feat: initial setup files 2026-02-01 16:30:24 -05:00
vim.toml cleanup 2026-02-02 14:06:58 -05:00

diffs.nvim

Syntax highlighting for diffs in Neovim

Enhance vim-fugitive and Neovim's built-in diff mode with language-aware syntax highlighting.

diffs.nvim preview

Features

  • Treesitter syntax highlighting in :Git diffs and commit views
  • :Gdiffsplit / :Gvdiffsplit syntax through diff backgrounds
  • Background-only diff colors for any &diff buffer (:diffthis, vimdiff)
  • Vim syntax fallback for languages without a treesitter parser
  • Hunk header context highlighting (@@ ... @@ function foo())
  • Configurable debouncing, max lines, and diff prefix concealment

Requirements

  • Neovim 0.9.0+
  • vim-fugitive (optional, for unified diff syntax highlighting)

Installation

Install with your package manager of choice or via luarocks:

luarocks install diffs.nvim

Documentation

:help diffs.nvim

Known Limitations

  • Syntax "flashing": diffs.nvim hooks into the FileType fugitive event triggered by vim-fugitive, at which point the buffer is preliminarily painted. The buffer is then re-painted after debounce_ms milliseconds, causing an unavoidable visual "flash" even when debounce_ms = 0.

Acknowledgements