jesseduffield.lazygit/pkg/integration/tests
Stefan Haller e9c4425df6 Discard the selected diff line(s) from the focused main view
Wire the focused main view's `d` binding to a DiscardSelection action on the
side panel beneath, the discard counterpart of the primary action. As with
stage/toggle, what discard means is the panel's business:

- the files panel discards from the working tree, mirroring the staging
  view's `d` — reverse-apply not cached on the unstaged side (destructive, so
  confirmed), reverse-apply cached on the staged side (i.e. unstage);
- the commit panels (commit files, and the whole-commit diff of the local
  commits / sub-commits / stash panels) remove the selected lines from the
  commit via a rebase, mirroring the patch builder's "discard lines from
  commit" — building a one-off patch from the selection and deleting it.

The commit-discard backend and its guard are shared free functions in
patch_building_from_main_view.go, paralleling the patch toggle. Discarding
from a commit is only possible on a local branch, so DiscardSelection grows a
disabled-reason companion on the FocusedMainViewActions interface: the `d`
binding is greyed with a reason on stash and other-branch sub-commits (never
rebaseable) and while a rebase is in progress, exactly as the patch builder
greys it. The files panel is always available (a zero-context diff is the one
error it reports inline, matching the staging view).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-08-08 12:59:00 +02:00
..
bisect Make integration tests using commits more robust 2026-07-09 11:56:27 +02:00
branch Change list section headers to a slightly more elegant design 2026-07-31 08:03:40 +02:00
cherry_pick Change list section headers to a slightly more elegant design 2026-07-31 08:03:40 +02:00
commit Change list section headers to a slightly more elegant design 2026-07-31 08:03:40 +02:00
config Test per-repo side panel config and re-application on repo switch 2026-06-23 14:15:18 +02:00
conflicts Honor the conflict-marker-size gitattribute 2026-08-08 12:43:42 +02:00
custom_commands Make integration tests using commits more robust 2026-07-09 11:56:27 +02:00
demo Move the new-worktree keybinding from worktrees to universal 2026-07-03 18:53:05 +02:00
diff Rework the custom pager config (rename to diff renderer) 2026-07-31 08:42:51 +02:00
file Only prompt to continue a rebase/merge if we started it 2026-07-03 18:28:07 +02:00
filter_and_search Change list section headers to a slightly more elegant design 2026-07-31 08:03:40 +02:00
filter_by_author Make integration tests using commits more robust 2026-07-09 11:56:27 +02:00
filter_by_path When entering a commit in path filtering mode, select the filtered path 2025-10-09 09:58:15 +02:00
interactive_rebase Cancel commit drags with escape 2026-07-31 08:37:28 +02:00
misc Open the repo when lazygit is started in its .git dir 2026-08-08 11:15:01 +02:00
patch_building Discard the selected diff line(s) from the focused main view 2026-08-08 12:59:00 +02:00
reflog Un-deprecate UserConfig.Git.Log.Order and ShowGraph 2025-07-09 13:15:03 +02:00
remote feat: add fork remote command 2025-11-16 17:26:00 +01:00
shared Add tests demonstrating that we ignore the conflict-marker-size gitattribute 2026-08-08 12:43:42 +02:00
shell_commands Rename "Custom Command" to "Shell Command" 2024-08-17 10:56:03 +02:00
staging Discard the selected diff line(s) from the focused main view 2026-08-08 12:59:00 +02:00
stash Fix dropping a range of stashes in filtered mode 2025-08-25 18:41:06 +02:00
status Add backward cycling support for all branches log view 2026-03-08 17:06:17 +01:00
submodule Remember how to get back to a repo we entered a submodule from 2026-08-08 11:15:01 +02:00
sync Change list section headers to a slightly more elegant design 2026-07-31 08:03:40 +02:00
tag Fix deleting a remote tag when a remote branch with the same name exists 2025-11-27 19:52:18 +01:00
ui Keep range drags moving at panel edges 2026-07-31 08:32:43 +02:00
undo Switch to branches view when checking out a commit 2025-11-16 21:23:40 +01:00
worktree Tell git where the repo is when it can't find it itself 2026-08-08 11:15:01 +02:00
test_list.go Discard the selected diff line(s) from the focused main view 2026-08-08 12:59:00 +02:00
test_list_generator.go Fix typos 2025-01-03 10:50:36 +11:00
tests.go Set working directory in lazygit test command 2024-01-12 19:59:31 +11:00