From 1652349e57daa25217f32656216e404948e512f3 Mon Sep 17 00:00:00 2001 From: Brian Lyles Date: Tue, 30 Sep 2025 00:04:31 -0500 Subject: [PATCH] git: add option for difftastic context The ability to control the number of contextual lines is a basic expectation of a diff program, so a dedicated option feels warranted. --- modules/programs/git.nix | 10 ++++++++++ .../modules/programs/git/git-difftastic-expected.conf | 4 ++-- tests/modules/programs/git/git-difftastic.nix | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/modules/programs/git.nix b/modules/programs/git.nix index 4ea963a35..2a0bbad76 100644 --- a/modules/programs/git.nix +++ b/modules/programs/git.nix @@ -356,6 +356,15 @@ in ''; }; + context = mkOption { + type = types.ints.u32; + default = 3; + example = 5; + description = '' + Determines the number of contextual lines to show around changed lines. + ''; + }; + display = mkOption { type = types.enum [ "side-by-side" @@ -833,6 +842,7 @@ in "--color ${cfg.difftastic.color}" "--background ${cfg.difftastic.background}" "--display ${cfg.difftastic.display}" + "--context ${toString cfg.difftastic.context}" ]; in (lib.mkMerge [ diff --git a/tests/modules/programs/git/git-difftastic-expected.conf b/tests/modules/programs/git/git-difftastic-expected.conf index 524d8c204..80c6ba6f0 100644 --- a/tests/modules/programs/git/git-difftastic-expected.conf +++ b/tests/modules/programs/git/git-difftastic-expected.conf @@ -1,9 +1,9 @@ [diff] - external = "@difftastic@/bin/difft --color always --background dark --display inline" + external = "@difftastic@/bin/difft --color always --background dark --display inline --context 5" tool = "difftastic" [difftool "difftastic"] - cmd = "@difftastic@/bin/difft --color always --background dark --display inline $LOCAL $REMOTE" + cmd = "@difftastic@/bin/difft --color always --background dark --display inline --context 5 $LOCAL $REMOTE" [gpg] format = "openpgp" diff --git a/tests/modules/programs/git/git-difftastic.nix b/tests/modules/programs/git/git-difftastic.nix index 99fec7451..c28e3f263 100644 --- a/tests/modules/programs/git/git-difftastic.nix +++ b/tests/modules/programs/git/git-difftastic.nix @@ -7,6 +7,7 @@ enableAsDifftool = true; background = "dark"; color = "always"; + context = 5; display = "inline"; }; };