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!