jesseduffield.lazygit/pkg/gui
Martin T. 4cb6fafb08 Add condition field to custom command prompts
When building multi-step custom command forms, some prompts are only
relevant depending on earlier answers. Without conditional logic,
users must dismiss irrelevant prompts manually.

Prompts now accept a `condition` field with a template expression
evaluated against prior form values. Skipped prompts default to
an empty string.

The template expression is a string pre- and suffixed with double curly
braces - {{}}.

Form keys can be reused, a guard ensures that skipped prompts do not
reset already set form keys with an empty string. This allows the
conditional flow to remind a user to set a key that was left empty
because additional conditions want that key to be set. This removes the
need to have additional if checks in the command that uses the form
keys.
2026-04-06 19:14:51 +02:00
..
context Add an optional onCancel hook for menus 2026-04-01 09:13:55 +02:00
controllers Log hashes of local branches when deleting them 2026-04-06 19:06:25 +02:00
filetree Make file sort order and case sensitivity configurable 2026-03-30 17:53:25 +02:00
keybindings Make LabelFromKey return an empty string for unset keys 2025-07-27 12:25:16 +02:00
mergeconflicts Enable revive linter, and fix a bunch of warnings 2025-06-30 19:13:20 +02:00
modes Make Commit.Hash a getter for an unexported hash field 2025-04-29 14:57:15 +02:00
patch_exploring Fix selection after staging an added line 2026-03-19 16:57:53 +01:00
popup Strip leading/trailing whitespace from prompt input 2025-11-15 15:38:24 +01:00
presentation Show PR icons in branches list 2026-04-01 09:13:55 +02:00
services/custom_commands Add condition field to custom command prompts 2026-04-06 19:14:51 +02:00
status Move Loader to presentation package 2025-05-06 09:52:53 +02:00
style Modernize all codes 2025-11-15 10:46:23 +01:00
types Don't refresh pull requests when checking out a local branch 2026-04-01 09:13:55 +02:00
background.go Add pull requests to lazygit's model and refresh them 2026-04-01 09:13:55 +02:00
command_log_panel.go Add merge options menu 2025-10-09 08:45:58 +02:00
context.go Bump gocui (and tcell) 2025-12-23 16:49:16 +01:00
context_config.go Remove some unused code 2025-07-08 15:14:45 +02:00
controllers.go Trigger immediate background fetch when switching repos 2025-11-16 17:32:37 +01:00
dummies.go Move NewDummyCommon to pkg/common 2025-05-06 09:43:26 +02:00
editors.go Call gocui's SimpleEditor instead of duplicating its code 2025-12-23 16:49:16 +01:00
extras_panel.go feat: add keys for command log menu items 2025-12-14 17:12:47 +01:00
global_handlers.go Refactor: add a separate Prompt view 2025-09-05 10:42:03 +02:00
gui.go Cache PRs in AppState so that they appear immediately at startup 2026-04-01 09:13:55 +02:00
gui_common.go Implement suspending the app using ctrl-z 2025-08-14 20:41:46 +02:00
gui_driver.go Fix clicking multiple times in an integration test 2024-10-18 10:06:52 +02:00
information_panel.go Rename ModeStatus.Description to InfoLabel 2025-08-14 17:59:38 +02:00
keybindings.go Use new ShouldHandleMouseEvent hook to prevent clicks in views behind panels 2026-03-08 17:32:09 +01:00
layout.go Bump gocui and adapt lazygit code 2025-06-05 13:20:38 +02:00
main_panels.go Fix race with PTYs in integration tests 2025-03-28 11:16:04 +01:00
menu_panel.go Add an optional onCancel hook for menus 2026-04-01 09:13:55 +02:00
options_map.go Avoid duplicate key bindings in options map 2025-08-14 17:59:38 +02:00
pty.go Use a PTY when using external diff command from git config 2025-11-01 09:33:52 +01:00
pty_windows.go Export a LAZYGIT_COLUMNS variable to "pty" tasks on Windows 2025-10-09 10:04:29 +02:00
recent_repos_panel.go Remove unused field gui.IsNewRepo 2024-12-01 10:44:26 +01:00
tasks_adapter.go Close a task's stdout pipe when we are done with it 2025-08-01 10:32:46 +02:00
test_mode.go Don't use "HEADLESS" environment variable for running tests 2025-11-28 12:06:42 +01:00
view_helpers.go Avoid scrolling the selection into view on refresh 2025-12-23 15:34:38 +01:00
views.go Bump gocui 2026-01-28 20:57:09 +01:00