54 lines
1.5 KiB
Markdown
54 lines
1.5 KiB
Markdown
# fugitive-ts.nvim
|
|
|
|
**Treesitter syntax highlighting for vim-fugitive**
|
|
|
|
Enhance the great `vim-fugitive` with syntax-aware code to easily work with
|
|
diffs.
|
|
|
|

|
|
|
|
## Features
|
|
|
|
- Treesitter syntax highlighting in `:Git` diffs and commit views
|
|
- `:Gdiffsplit` / `:Gvdiffsplit` syntax through diff backgrounds
|
|
- 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](https://github.com/tpope/vim-fugitive)
|
|
|
|
## Installation
|
|
|
|
Using [lazy.nvim](https://github.com/folke/lazy.nvim):
|
|
|
|
```lua
|
|
{
|
|
'barrettruth/fugitive-ts.nvim',
|
|
dependencies = { 'tpope/vim-fugitive' },
|
|
opts = {},
|
|
}
|
|
```
|
|
|
|
## Documentation
|
|
|
|
```vim
|
|
:help fugitive-ts.nvim
|
|
```
|
|
|
|
## Known Limitations
|
|
|
|
- Syntax "flashing": `fugitive-ts.nvim` hooks into the `FileType fugitive` event
|
|
triggered by `vim-fugitive`, at which point the `fugitive` buffer is
|
|
preliminarily painted. The buffer is then re-painted after `debounce_ms`
|
|
milliseconds, causing an unavoidable visual "flash" even when
|
|
`debounce_ms = 0`. Feel free to reach out if you know how to fix this!
|
|
|
|
## Acknowledgements
|
|
|
|
- [vim-fugitive](https://github.com/tpope/vim-fugitive)
|
|
- [codediff.nvim](https://github.com/esmuellert/codediff.nvim)
|
|
- [diffview.nvim](https://github.com/sindrets/diffview.nvim)
|
|
- [resolve.nvim](https://github.com/spacedentist/resolve.nvim)
|