summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/uffizzi-build.yml89
-rw-r--r--.github/workflows/uffizzi-preview.yml84
-rw-r--r--.gitignore6
-rw-r--r--.vscode/tasks.json21
-rw-r--r--README.md2
-rw-r--r--docs/Config.md6
-rw-r--r--go.mod16
-rw-r--r--go.sum51
-rw-r--r--pkg/app/app.go49
-rw-r--r--pkg/app/app_test.go45
-rw-r--r--pkg/cheatsheet/generate.go2
-rw-r--r--pkg/cheatsheet/generate_test.go29
-rw-r--r--pkg/commands/git.go7
-rw-r--r--pkg/commands/git_commands/commit.go13
-rw-r--r--pkg/commands/git_commands/commit_loader.go12
-rw-r--r--pkg/commands/git_commands/commit_test.go58
-rw-r--r--pkg/commands/git_commands/common.go3
-rw-r--r--pkg/commands/git_commands/deps_test.go6
-rw-r--r--pkg/commands/git_commands/sync.go6
-rw-r--r--pkg/commands/git_commands/sync_test.go32
-rw-r--r--pkg/commands/git_commands/tag_loader.go18
-rw-r--r--pkg/commands/git_commands/tag_loader_test.go39
-rw-r--r--pkg/commands/git_commands/version.go67
-rw-r--r--pkg/commands/git_commands/version_test.go47
-rw-r--r--pkg/commands/git_test.go2
-rw-r--r--pkg/commands/oscommands/cmd_obj_runner.go2
-rw-r--r--pkg/config/user_config.go10
-rw-r--r--pkg/gui/background.go71
-rw-r--r--pkg/gui/confirmation_panel.go43
-rw-r--r--pkg/gui/context/context.go3
-rw-r--r--pkg/gui/context_config.go20
-rw-r--r--pkg/gui/controllers.go8
-rw-r--r--pkg/gui/controllers/helpers/credentials_helper.go2
-rw-r--r--pkg/gui/controllers/snake_controller.go68
-rw-r--r--pkg/gui/controllers/submodules_controller.go9
-rw-r--r--pkg/gui/controllers/vertical_scroll_controller.go28
-rw-r--r--pkg/gui/dummies.go4
-rw-r--r--pkg/gui/gui.go77
-rw-r--r--pkg/gui/gui_driver.go8
-rw-r--r--pkg/gui/keybindings.go6
-rw-r--r--pkg/gui/popup/popup_handler.go20
-rw-r--r--pkg/gui/snake.go56
-rw-r--r--pkg/gui/test_mode.go5
-rw-r--r--pkg/gui/views.go7
-rw-r--r--pkg/gui/window.go13
-rw-r--r--pkg/i18n/english.go10
-rw-r--r--pkg/integration/README.md39
-rw-r--r--pkg/integration/clients/cli.go25
-rw-r--r--pkg/integration/clients/go_test.go2
-rw-r--r--pkg/integration/clients/injector/main.go5
-rw-r--r--pkg/integration/clients/tui.go14
-rw-r--r--pkg/integration/components/actions.go19
-rw-r--r--pkg/integration/components/alert_driver.go47
-rw-r--r--pkg/integration/components/assert.go250
-rw-r--r--pkg/integration/components/assertion_helper.go40
-rw-r--r--pkg/integration/components/commit_message_panel_driver.go40
-rw-r--r--pkg/integration/components/confirmation_driver.go47
-rw-r--r--pkg/integration/components/file_system.go49
-rw-r--r--pkg/integration/components/git.go28
-rw-r--r--pkg/integration/components/input.go190
-rw-r--r--pkg/integration/components/matcher.go156
-rw-r--r--pkg/integration/components/menu_driver.go43
-rw-r--r--pkg/integration/components/popup.go70
-rw-r--r--pkg/integration/components/prompt_driver.go82
-rw-r--r--pkg/integration/components/runner.go39
-rw-r--r--pkg/integration/components/shell.go159
-rw-r--r--pkg/integration/components/snapshot.go372
-rw-r--r--pkg/integration/components/test.go21
-rw-r--r--pkg/integration/components/test_driver.go160
-rw-r--r--pkg/integration/components/test_test.go30
-rw-r--r--pkg/integration/components/viewDriver.go230
-rw-r--r--pkg/integration/components/views.go121
-rw-r--r--pkg/integration/tests/bisect/basic.go93
-rw-r--r--pkg/integration/tests/bisect/from_other_branch.go71
-rw-r--r--pkg/integration/tests/branch/checkout_by_name.go35
-rw-r--r--pkg/integration/tests/branch/delete.go44
-rw-r--r--pkg/integration/tests/branch/rebase.go68
-rw-r--r--pkg/integration/tests/branch/rebase_and_drop.go100
-rw-r--r--pkg/integration/tests/branch/reset.go50
-rw-r--r--pkg/integration/tests/branch/suggestions.go24
-rw-r--r--pkg/integration/tests/cherry_pick/cherry_pick.go90
-rw-r--r--pkg/integration/tests/cherry_pick/cherry_pick_conflicts.go149
-rw-r--r--pkg/integration/tests/commit/commit.go25
-rw-r--r--pkg/integration/tests/commit/commit_multiline.go35
-rw-r--r--pkg/integration/tests/commit/discard_old_file_change.go57
-rw-r--r--pkg/integration/tests/commit/new_branch.go36
-rw-r--r--pkg/integration/tests/commit/revert.go39
-rw-r--r--pkg/integration/tests/commit/staged.go48
-rw-r--r--pkg/integration/tests/commit/staged_without_hooks.go50
-rw-r--r--pkg/integration/tests/commit/unstaged.go41
-rw-r--r--pkg/integration/tests/commit/unstaged_without_hooks.go33
-rw-r--r--pkg/integration/tests/config/remote_named_star.go14
-rw-r--r--pkg/integration/tests/custom_commands/basic.go19
-rw-r--r--pkg/integration/tests/custom_commands/form_prompts.go40
-rw-r--r--pkg/integration/tests/custom_commands/menu_from_command.go37
-rw-r--r--pkg/integration/tests/custom_commands/menu_from_commands_output.go31
-rw-r--r--pkg/integration/tests/custom_commands/multiple_prompts.go41
-rw-r--r--pkg/integration/tests/diff/diff.go73
-rw-r--r--pkg/integration/tests/diff/diff_and_apply_patch.go78
-rw-r--r--pkg/integration/tests/diff/diff_commits.go55
-rw-r--r--pkg/integration/tests/file/dir_with_untracked_file.go16
-rw-r--r--pkg/integration/tests/file/discard_changes.go124
-rw-r--r--pkg/integration/tests/file/discard_staged_changes.go52
-rw-r--r--pkg/integration/tests/file/gitignore.go63
-rw-r--r--pkg/integration/tests/filter_by_path/cli.go20
-rw-r--r--pkg/integration/tests/filter_by_path/select_file.go76