TreeSitter in git-Buffern standardmäßig aktivieren

Hey Leute,

ich habe mal wieder eine Frage zu Neovim und TreeSitter. Ich habe kürzlich entdeckt, dass TreeSitter Syntax-Hervorhebungen für gitcommit- und diff-Buffer unterstützt.

Ich habe auch beide installiert aber wenn ich einen entsprechenden Buffer öffner, bspw. per git commit -v oder git add --patch LoremIpsum.sh (und dann per e editiere) wird nur eine sehr rudimentäre Hervorhebung durchgeführt, bspw. für die @@-Zeilen aber nicht für eigentliche diff-Zeilen, die mit + oder - beginnen.

In beiden Fällen kann ich die Hervorhebung mit :TSToggle highlight (gitcommit|diff) aktivieren/umschalten (egal in welchem Buffer ich mich befinde, es funktioniert immer mit gitcommit und diff).

Es ist zwar möglich per

vim.api.nvim_set_hl(0, "@text.diff.add", { fg = '#229922' })
vim.api.nvim_set_hl(0, "@text.diff.delete", { fg = '#cc4444' })

teilweise die wichtigen Zeilen hervorzuheben (weil mein Farbschema diese standardmäßig nicht nutzt) aber es ist dennoch nicht dasselbe wie bei TSToggle highlight (gitcommit|diff). Des Weiteren behandelt das nur die Symptome und ist eher ein Workaround als eine valide Lösung für das Problem, dass TreeSitter in diesen Buffern nicht von selbst aktiv wird.

Ich habe auch schon mit Autocommands herumgespielt, bspw

local group = vim.api.nvim_create_augroup('TreeSitterDiffBuffer', { clear = true })
vim.api.nvim_create_autocmd('BufWinEnter', {
  group = group,
  pattern = '.git/*',
  command = 'TSToggle highlight diff',
})

aber das brachte auch Nichts.

Ich würde euch gerne um Hilfe bitten! :slight_smile:

Ich das Problem lösen: Es wurde von den entsprechenden Treesitter Modulen selbst „verursacht“, dh. diff- und gitcommit-Buffer sehen mit Treesitters Syntaxhervorhebung blass und halbgar aus aber ohne wunderbar und so wie es sein soll, also mit entsprechend gefärbten add- und delete-Zeilen. Also einfach die zwei Module deinstallieren und ggfl. zu ignore_install hinzufügen.