From ffab0b66ae72af5dd52b2454725a018e29e5d768 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Sun, 8 Nov 2026 13:09:00 -0600 Subject: [PATCH 1/2] refactor: deprecate highlight overrides --- doc/diffs.nvim.txt | 25 ++++--------------------- lua/diffs/runtime/init.lua | 8 ++++++++ 2 files changed, 12 insertions(+), 21 deletions(-) diff --git a/doc/diffs.nvim.txt b/doc/diffs.nvim.txt index 9a5a27f7..baf04845 100644 --- a/doc/diffs.nvim.txt +++ b/doc/diffs.nvim.txt @@ -96,7 +96,6 @@ Configuration is done via `vim.g.diffs`. Set options before the plugin loads: treesitter = true, vim = true, intra = true, - overrides = {}, }, conflict = { disable_diagnostics = true, @@ -209,11 +208,7 @@ Configuration is done via `vim.g.diffs`. Set options before the plugin loads: See |diffs.nvim.IntraConfig| for fields. {overrides} (table, default: {}) - Map of highlight group names to highlight - definitions (see `nvim_set_hl()`). Applied - after all computed groups without `default`, - so overrides always win over both computed - defaults and colorscheme definitions. + Deprecated. See |diffs.nvim-highlights|. *diffs.nvim.TreesitterConfig* Treesitter config fields: ~ @@ -1431,11 +1426,6 @@ mis-identified, which can degrade its syntax highlighting or hunk navigation. ============================================================================== HIGHLIGHT GROUPS *diffs.nvim-highlights* -diffs.nvim defines custom highlight groups with `default = true`. Colorschemes -can override them before diffs.nvim loads, or users can override them with -`highlights.overrides`. - - Diff and generated rail highlights: ~ *DiffsClear* DiffsClear Clears underlying diff foreground colors while preserving @@ -1528,20 +1518,13 @@ Diff mode window highlights: ~ These are used for 'winhighlight' remapping in *DiffsDiffText* DiffsDiffText Background-only replacement for `DiffText`. -To customize these in your colorscheme: >lua +Customize with |nvim_set_hl()|: >lua vim.api.nvim_set_hl(0, 'DiffsAdd', { bg = '#2e4a3a' }) vim.api.nvim_set_hl(0, 'DiffsDiffDelete', { link = 'DiffDelete' }) -< Or via `highlights.overrides` in config: >lua - vim.g.diffs = { - highlights = { - overrides = { - DiffsAdd = { bg = '#2e4a3a' }, - DiffsDiffDelete = { link = 'DiffDelete' }, - }, - }, - } < +diffs.nvim recomputes these groups on |ColorScheme|. + ============================================================================== HEALTH CHECK *diffs.nvim-health* diff --git a/lua/diffs/runtime/init.lua b/lua/diffs/runtime/init.lua index 8b4b01d3..f108bd12 100644 --- a/lua/diffs/runtime/init.lua +++ b/lua/diffs/runtime/init.lua @@ -64,6 +64,14 @@ local function init() end log.set_enabled(config.debug) + if config.highlights.overrides and next(config.highlights.overrides) then + log.notify( + 'highlights.overrides is deprecated. Support ends on November 30, 2026. ' + .. 'Use vim.api.nvim_set_hl(). See :help diffs.nvim-highlights.', + vim.log.levels.WARN + ) + end + if config.highlights.intra and config.highlights.intra.algorithm == 'vscode' then log.notify( 'libvscodediff support will be removed on 30 November 2026. ' From 994104ca6a8c28bfb9202330f5f6134cf90df084 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Sun, 8 Nov 2026 13:09:40 -0600 Subject: [PATCH 2/2] refactor!: remove highlight overrides --- doc/diffs.nvim.txt | 3 --- lua/diffs/config.lua | 2 -- lua/diffs/runtime/highlight_groups.lua | 6 ------ lua/diffs/runtime/init.lua | 8 -------- 4 files changed, 19 deletions(-) diff --git a/doc/diffs.nvim.txt b/doc/diffs.nvim.txt index baf04845..06832993 100644 --- a/doc/diffs.nvim.txt +++ b/doc/diffs.nvim.txt @@ -207,9 +207,6 @@ Configuration is done via `vim.g.diffs`. Set options before the plugin loads: Character-level (intra-line) diff highlighting. See |diffs.nvim.IntraConfig| for fields. - {overrides} (table, default: {}) - Deprecated. See |diffs.nvim-highlights|. - *diffs.nvim.TreesitterConfig* Treesitter config fields: ~ {max_lines} (integer, default: 500) diff --git a/lua/diffs/config.lua b/lua/diffs/config.lua index 5b87c7ad..6cc150fe 100644 --- a/lua/diffs/config.lua +++ b/lua/diffs/config.lua @@ -19,7 +19,6 @@ local integration_metadata = require('diffs.integrations') ---@class diffs.Highlights ---@field background boolean ---@field blend_alpha? number ----@field overrides? table ---@field warn_max_lines boolean ---@field treesitter diffs.TreesitterConfig|false ---@field vim diffs.VimConfig|false @@ -128,7 +127,6 @@ function M.validate(opts) if opts.highlights then vim.validate('highlights.background', opts.highlights.background, 'boolean', true) vim.validate('highlights.blend_alpha', opts.highlights.blend_alpha, 'number', true) - vim.validate('highlights.overrides', opts.highlights.overrides, 'table', true) vim.validate('highlights.warn_max_lines', opts.highlights.warn_max_lines, 'boolean', true) for _, key in ipairs({ 'treesitter', 'vim', 'intra' }) do diff --git a/lua/diffs/runtime/highlight_groups.lua b/lua/diffs/runtime/highlight_groups.lua index c8a3fb15..8d3407da 100644 --- a/lua/diffs/runtime/highlight_groups.lua +++ b/lua/diffs/runtime/highlight_groups.lua @@ -163,12 +163,6 @@ function M.apply(config, is_default) vim.api.nvim_set_hl(0, 'NeogitDiffDeleteInline', {}) end - if config.highlights.overrides then - for group, hl in pairs(config.highlights.overrides) do - vim.api.nvim_set_hl(0, group, hl) - end - end - return { transparent = transparent } end diff --git a/lua/diffs/runtime/init.lua b/lua/diffs/runtime/init.lua index f108bd12..8b4b01d3 100644 --- a/lua/diffs/runtime/init.lua +++ b/lua/diffs/runtime/init.lua @@ -64,14 +64,6 @@ local function init() end log.set_enabled(config.debug) - if config.highlights.overrides and next(config.highlights.overrides) then - log.notify( - 'highlights.overrides is deprecated. Support ends on November 30, 2026. ' - .. 'Use vim.api.nvim_set_hl(). See :help diffs.nvim-highlights.', - vim.log.levels.WARN - ) - end - if config.highlights.intra and config.highlights.intra.algorithm == 'vscode' then log.notify( 'libvscodediff support will be removed on 30 November 2026. '