fix(highlight,parser,init): line_hl_group, clear_end, did_filetype, email-quoted diffs
Problem: line backgrounds used `hl_group + end_row` multirow extmarks vulnerable to adjacent `clear_namespace`. `clear_end` was off by one. `vim.filetype.match` returned nil for function-handled extensions (`.sh`, `.bash`, etc.) when `did_filetype() != 0`. Parser didn't handle email-quoted diff prefixes (`> `). Solution: use `line_hl_group` single-point extmarks. Fix `clear_end` to `hunk.start_line + #hunk.lines`. Override `vim.fn.did_filetype` via `rawset` during retry. Strip `> ` quote prefixes in parser and store `quote_width` per hunk.
This commit is contained in:
parent
0f0acacf96
commit
13c0ea1e92
9 changed files with 552 additions and 52 deletions
|
|
@ -17,6 +17,7 @@ with language-aware syntax highlighting.
|
|||
- `:Gdiff` unified diff against any revision
|
||||
- Background-only diff colors for `&diff` buffers
|
||||
- Inline merge conflict detection, highlighting, and resolution
|
||||
- Email-quoted diff highlighting (`> diff ...` prefixes, arbitrary nesting depth)
|
||||
- Vim syntax fallback, configurable blend/priorities
|
||||
|
||||
## Requirements
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue