Commit graph

17 commits

Author SHA1 Message Date
6d38472b39
fix(highlight): skip blending when Normal.bg is nil (transparent)
Problem: colorschemes with `transparent_mode = true` set Normal
with no bg. `compute_highlight_groups` fell back to `0x1a1a1a`
and blended all highlight groups against it, producing wrong
colors. The `ColorScheme` autocmd also failed to overwrite stale
values because every `nvim_set_hl` call used `default = true`.

Solution: detect transparent Normal via `not normal.bg`. When
transparent, pass `bg = normal.bg` (nil) to `DiffsClear` and
use colorscheme DiffAdd/DiffDelete colors directly without
blending. Reset `hl_retry_pending` on `ColorScheme` so the
retry mechanism re-arms after a theme switch.
2026-03-07 21:13:57 -05:00
Tristan Knight
53dd5d6325
fix(highlight): handle nil Normal.bg in blending logic (#175)
Co-authored-by: Barrett Ruth <br.barrettruth@gmail.com>
2026-03-07 20:49:26 -05:00
Barrett Ruth
a880261988
refactor(config): nest integration toggles under integrations namespace (#174)
## Problem

Integration keys (`fugitive`, `neogit`, `gitsigns`, `committia`,
`telescope`)
live at the top level of `vim.g.diffs`, cluttering the config namespace.

## Solution

Move them under `vim.g.diffs.integrations.*`. Old top-level keys still
work but
emit `vim.deprecate` targeting v0.3.2. `compute_filetypes` and
`plugin/diffs.lua`
fall back to legacy keys for pre-`init()` callers.

Also includes `83c17ac` which fixes an invalid hex hash in the combined
diff test
fixture.
2026-03-06 14:46:02 -05:00
Barrett Ruth
b1abfe4f4a
feat: remove config deprecation in v0.3.0 (#129) 2026-02-18 13:34:43 -05:00
Barrett Ruth
cbc93f9eaa
refactor: remove enabled field from fugitive/neogit config (#126)
## Problem

Users had to pass `enabled = true` or `enabled = false` inside
fugitive/neogit config tables, which was redundant — table presence
already implied the integration should be active.

## Solution

Remove the `enabled` field from the public API. Table presence now
implies enabled, `false` disables, `true` expands to sub-defaults.
The `enabled` field is still accepted for backward compatibility.

Added 20 `compute_filetypes` tests covering all config shapes (true,
false, table, nil, backward-compat enabled field). Updated docs
and type annotations.
2026-02-15 19:42:38 -05:00
Barrett Ruth
9a0b812f69
performance improvements (#116)
closes #111
2026-02-12 16:59:13 -05:00
2b38874699 feat(config): use vim.g over .setup() 2026-02-03 16:18:55 -05:00
fd270b8215 fix(test): remove other uesless test 2026-02-03 02:53:25 -05:00
92cddd75c3 fix(test): remove old test 2026-02-03 02:51:48 -05:00
c16699004a feat(test): misc tests for more robustness 2026-02-03 01:02:38 -05:00
67116f38bc feat: rename everything 2026-02-02 22:09:13 -05:00
69943a09c4 feat: cleanup config options 2026-02-02 15:18:25 -05:00
3aa7d1d6f8 feat: use conceal overlay 2026-02-02 13:22:22 -05:00
ea8a2cbaa9 feat: rename param 2026-02-02 01:07:59 -05:00
d7537e93d0 feat: fix highlighting 2026-02-02 00:57:41 -05:00
00bf84cb05 feat: highlights 2026-02-01 23:17:20 -06:00
ae1df3e7a8 feat(test): testing infrastructure 2026-02-01 23:09:05 -05:00