summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2022-01-16 14:46:53 +1100
committerJesse Duffield <jessedduffield@gmail.com>2022-03-17 19:13:40 +1100
commit1dd7307fde033dae5fececac15810a99e26c3d91 (patch)
tree4e851c9e3229a6fe3b4191f6311d05d7a9142960
parenta90b6efded49abcfa2516db794d7875b0396f558 (diff)
start moving commit panel handlers into controller
more and more move rebase commit refreshing into existing abstraction and more and more WIP and more handling clicks properly fix merge conflicts update cheatsheet lots more preparation to start moving things into controllers WIP better typing expand on remotes controller moving more code into controllers
-rw-r--r--docs/keybindings/Keybindings_en.md26
-rw-r--r--docs/keybindings/Keybindings_nl.md26
-rw-r--r--docs/keybindings/Keybindings_pl.md26
-rw-r--r--docs/keybindings/Keybindings_zh.md26
-rw-r--r--pkg/cheatsheet/generate.go17
-rw-r--r--pkg/commands/git.go6
-rw-r--r--pkg/commands/git_commands/common.go6
-rw-r--r--pkg/commands/git_commands/remote.go2
-rw-r--r--pkg/commands/git_commands/sync.go10
-rw-r--r--pkg/commands/git_commands/tag.go2
-rw-r--r--pkg/commands/git_test.go8
-rw-r--r--pkg/commands/oscommands/cmd_obj.go17
-rw-r--r--pkg/commands/oscommands/cmd_obj_runner.go29
-rw-r--r--pkg/gui/app_status_manager.go4
-rw-r--r--pkg/gui/arrangement.go11
-rw-r--r--pkg/gui/basic_context.go26
-rw-r--r--pkg/gui/bisect.go219
-rw-r--r--pkg/gui/branches_panel.go265
-rw-r--r--pkg/gui/cherry_picking.go43
-rw-r--r--pkg/gui/command_log_panel.go14
-rw-r--r--pkg/gui/commit_files_panel.go110
-rw-r--r--pkg/gui/commit_message_panel.go20
-rw-r--r--pkg/gui/commits_panel.go701
-rw-r--r--pkg/gui/confirmation_panel.go21
-rw-r--r--pkg/gui/context.go104
-rw-r--r--pkg/gui/context/context.go98
-rw-r--r--pkg/gui/context_config.go179
-rw-r--r--pkg/gui/controllers/bisect_controller.go273
-rw-r--r--pkg/gui/controllers/controller_common.go10
-rw-r--r--pkg/gui/controllers/files_controller.go737
-rw-r--r--pkg/gui/controllers/local_commits_controller.go783
-rw-r--r--pkg/gui/controllers/menu_controller.go70
-rw-r--r--pkg/gui/controllers/remotes_controller.go204
-rw-r--r--pkg/gui/controllers/submodules_controller.go60
-rw-r--r--pkg/gui/controllers/sync_controller.go253
-rw-r--r--pkg/gui/controllers/tags_controller.go229
-rw-r--r--pkg/gui/controllers/types.go53
-rw-r--r--pkg/gui/controllers/undo_controller.go (renamed from pkg/gui/undoing.go)230
-rw-r--r--pkg/gui/credentials_panel.go15
-rw-r--r--pkg/gui/custom_commands.go66
-rw-r--r--pkg/gui/diff_context_size.go18
-rw-r--r--pkg/gui/diff_context_size_test.go50
-rw-r--r--pkg/gui/diffing.go26
-rw-r--r--pkg/gui/discard_changes_menu_panel.go46
-rw-r--r--pkg/gui/editors.go4
-rw-r--r--pkg/gui/extras_panel.go17
-rw-r--r--pkg/gui/file_helper.go51
-rw-r--r--pkg/gui/file_watching.go4
-rw-r--r--pkg/gui/files_panel.go815
-rw-r--r--pkg/gui/filetree/commit_file_node.go4
-rw-r--r--pkg/gui/filetree/file_node.go4
-rw-r--r--pkg/gui/filtering.go28
-rw-r--r--pkg/gui/filtering_menu_panel.go14
-rw-r--r--pkg/gui/git_flow.go20
-rw-r--r--pkg/gui/global_handlers.go38
-rw-r--r--pkg/gui/gpg.go18
-rw-r--r--pkg/gui/gui.go241
-rw-r--r--pkg/gui/gui_common.go53
-rw-r--r--pkg/gui/information_panel.go10
-rw-r--r--pkg/gui/keybindings.go751
-rw-r--r--pkg/gui/layout.go37
-rw-r--r--pkg/gui/line_by_line_panel.go8
-rw-r--r--pkg/gui/list_context.go116
-rw-r--r--pkg/gui/list_context_config.go204
-rw-r--r--pkg/gui/main_panels.go2
-rw-r--r--pkg/gui/menu_panel.go25
-rw-r--r--pkg/gui/merge_panel.go47
-rw-r--r--pkg/gui/misc.go19
-rw-r--r--pkg/gui/modes.go16
-rw-r--r--pkg/gui/options_menu_panel.go4
-rw-r--r--pkg/gui/patch_building_panel.go24
-rw-r--r--pkg/gui/patch_options_panel.go72
-rw-r--r--pkg/gui/popup/popup_handler.go26
-rw-r--r--pkg/gui/pty.go4
-rw-r--r--pkg/gui/pull_request_menu_panel.go20
-rw-r--r--pkg/gui/quitting.go10
-rw-r--r--pkg/gui/rebase_options_panel.go46
-rw-r--r--pkg/gui/recent_repos_panel.go27
-rw-r--r--pkg/gui/ref_helper.go137
-rw-r--r--pkg/gui/reflog_panel.go31
-rw-r--r--pkg/gui/remote_branches_panel.go36
-rw-r--r--pkg/gui/remotes_panel.go136
-rw-r--r--pkg/gui/reset_menu_panel.go53
-rw-r--r--pkg/gui/searching.go4
-rw-r--r--pkg/gui/staging_panel.go30
-rw-r--r--pkg/gui/stash_panel.go76
-rw-r--r--pkg/gui/status_panel.go22
-rw-r--r--pkg/gui/style/style_test.go15
-rw-r--r--pkg/gui/sub_commits_panel.go31
-rw-r--r--pkg/gui/submodules_panel.go6
-rw-r--r--pkg/gui/suggestions_helper.go (renamed from pkg/gui/find_suggestions.go)90
-rw-r--r--pkg/gui/tags_panel.go106
-rw-r--r--pkg/gui/tasks_adapter.go8
-rw-r--r--pkg/gui/types/common_commands.go7
-rw-r--r--pkg/gui/types/context.go87
-rw-r--r--pkg/gui/types/keybindings.go9
-rw-r--r--pkg/gui/types/refresh.go1
-rw-r--r--pkg/gui/updates.go14
-rw-r--r--pkg/gui/view_helpers.go96
-rw-r--r--pkg/gui/whitespace-toggle.go6
-rw-r--r--pkg/gui/working_tree_helper.go50
-rw-r--r--pkg/gui/workspace_reset_options_panel.go62
-rw-r--r--pkg/i18n/english.go2
-rw-r--r--test/integration/commit/expected/.git_keep/indexbin425 -> 425 bytes
104 files changed, 4951 insertions, 4082 deletions
diff --git a/docs/keybindings/Keybindings_en.md b/docs/keybindings/Keybindings_en.md
index 43e586897..09a933f81 100644
--- a/docs/keybindings/Keybindings_en.md
+++ b/docs/keybindings/Keybindings_en.md
@@ -123,30 +123,30 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
## Commits Panel (Commits)
<pre>
- <kbd>ctrl+l</kbd>: open log menu
+ <kbd>c</kbd>: copy commit (cherry-pick)
+ <kbd>ctrl+o</kbd>: copy commit SHA to clipboard
+ <kbd>C</kbd>: copy commit range (cherry-pick)
+ <kbd>v</kbd>: paste commits (cherry-pick)
+ <kbd>n</kbd>: create new branch off of commit
+ <kbd>ctrl+r</kbd>: reset cherry-picked (copied) commits selection
<kbd>s</kbd>: squash down
+ <kbd>f</kbd>: fixup commit
<kbd>r</kbd>: reword commit
<kbd>R</kbd>: reword commit with editor
- <kbd>g</kbd>: reset to this commit
- <kbd>f</kbd>: fixup commit
+ <kbd>d</kbd>: delete commit
+ <kbd>e</kbd>: edit commit
+ <kbd>p</kbd>: pick commit (when mid-rebase)
<kbd>F</kbd>: create fixup commit for this commit
<kbd>S</kbd>: squash all 'fixup!' commits above selected commit (autosquash)
- <kbd>d</kbd>: delete commit
<kbd>ctrl+j</kbd>: move commit down one
<kbd>ctrl+k</kbd>: move commit up one
- <kbd>e</kbd>: edit commit
<kbd>A</kbd>: amend commit with staged changes
- <kbd>p</kbd>: pick commit (when mid-rebase)
<kbd>t</kbd>: revert commit
- <kbd>c</kbd>: copy commit (cherry-pick)
- <kbd>ctrl+o</kbd>: copy commit SHA to clipboard
- <kbd>C</kbd>: copy commit range (cherry-pick)
- <kbd>v</kbd>: paste commits (cherry-pick)
+ <kbd>ctrl+l</kbd>: open log menu
+ <kbd>g</kbd>: reset to this commit
<kbd>enter</kbd>: view commit's files
<kbd>space</kbd>: checkout commit
- <kbd>n</kbd>: create new branch off of commit
<kbd>T</kbd>: tag commit
- <kbd>ctrl+r</kbd>: reset cherry-picked (copied) commits selection
<kbd>ctrl+y</kbd>: copy commit message to clipboard
<kbd>o</kbd>: open commit in browser
<kbd>b</kbd>: view bisect options
@@ -183,7 +183,6 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
<kbd>w</kbd>: commit changes without pre-commit hook
<kbd>A</kbd>: amend last commit
<kbd>C</kbd>: commit changes using git editor
- <kbd>space</kbd>: toggle staged
<kbd>d</kbd>: view 'discard changes' options
<kbd>e</kbd>: edit file
<kbd>o</kbd>: open file
@@ -200,6 +199,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
<kbd>`</kbd>: toggle file tree view
<kbd>M</kbd>: open external merge tool (git mergetool)
<kbd>ctrl+w</kbd>: Toggle whether or not whitespace changes are shown in the diff view
+ <kbd>space</kbd>: toggle staged
</pre>
## Files Panel (Submodules)
diff --git a/docs/keybindings/Keybindings_nl.md b/docs/keybindings/Keybindings_nl.md
index 7d5b8f78c..5e0d62fac 100644
--- a/docs/keybindings/Keybindings_nl.md
+++ b/docs/keybindings/Keybindings_nl.md
@@ -123,30 +123,30 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
## Commits Paneel (Commits)
<pre>
- <kbd>ctrl+l</kbd>: open log menu
+ <kbd>c</kbd>: kopieer commit (cherry-pick)
+ <kbd>ctrl+o</kbd>: kopieer commit SHA naar klembord
+ <kbd>C</kbd>: kopieer commit reeks (cherry-pick)
+ <kbd>v</kbd>: plak commits (cherry-pick)
+ <kbd>n</kbd>: creëer nieuwe branch van commit
+ <kbd>ctrl+r</kbd>: reset cherry-picked (gekopieerde) commits selectie
<kbd>s</kbd>: squash beneden
+ <kbd>f</kbd>: Fixup commit
<kbd>r</kbd>: hernoem commit
<kbd>R</kbd>: hernoem commit met editor
- <kbd>g</kbd>: reset naar deze commit
- <kbd>f</kbd>: Fixup commit
+ <kbd>d</kbd>: verwijder commit
+ <kbd>e</kbd>: wijzig commit
+ <kbd>p</kbd>: kies commit (wanneer midden in rebase)
<kbd>F</kbd>: creëer fixup commit voor deze commit
<kbd>S</kbd>: squash bovenstaande commits
- <kbd>d</kbd>: verwijder commit
<kbd>ctrl+j</kbd>: verplaats commit 1 naar beneden
<kbd>ctrl+k</kbd>: verplaats commit 1 naar boven
- <kbd>e</kbd>: wijzig commit
<kbd>A</kbd>: wijzig commit met staged veranderingen
- <kbd>p</kbd>: kies commit (wanneer midden in rebase)
<kbd>t</kbd>: commit ongedaan maken
- <kbd>c</kbd>: kopieer commit (cherry-pick)
- <kbd>ctrl+o</kbd>: kopieer commit SHA naar klembord
- <kbd>C</kbd>: kopieer commit reeks (cherry-pick)
- <kbd>v</kbd>: plak commits (cherry-pick)
+ <kbd>ctrl+l</kbd>: open log menu
+ <kbd>g</kbd>: reset naar deze commit
<kbd>enter</kbd>: bekijk gecommite bestanden
<kbd>space</kbd>: checkout commit
- <kbd>n</kbd>: creëer nieuwe branch van commit
<kbd>T</kbd>: tag commit
- <kbd>ctrl+r</kbd>: reset cherry-picked (gekopieerde) commits selectie
<kbd>ctrl+y</kbd>: kopieer commit bericht naar klembord
<kbd>o</kbd>: open commit in browser
<kbd>b</kbd>: view bisect options
@@ -183,7 +183,6 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
<kbd>w</kbd>: commit veranderingen zonder pre-commit hook
<kbd>A</kbd>: wijzig laatste commit
<kbd>C</kbd>: commit veranderingen met de git editor
- <kbd>space</kbd>: toggle staged
<kbd>d</kbd>: bekijk 'veranderingen ongedaan maken' opties
<kbd>e</kbd>: verander bestand
<kbd>o</kbd>: open bestand
@@ -200,6 +199,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
<kbd>`</kbd>: toggle bestandsboom weergave
<kbd>M</kbd>: open external merge tool (git mergetool)
<kbd>ctrl+w</kbd>: Toggle whether or not whitespace changes are shown in the diff view
+ <kbd>space</kbd>: toggle staged
</pre>
## Bestanden Paneel (Submodules)
diff --git a/docs/keybindings/Keybindings_pl.md b/docs/keybindings/Keybindings_pl.md
index 95e713826..afdcdebcd 100644
--- a/