mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-05-12 12:55:47 +02:00
show namesake for child views
This commit is contained in:
parent
13b90ac37f
commit
ad7703df65
32 changed files with 766 additions and 649 deletions
|
@ -41,7 +41,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>[</kbd>: previous tab
|
<kbd>[</kbd>: previous tab
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Branches Panel (Branches Tab)
|
## Branches
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: copy branch name to clipboard
|
<kbd>ctrl+o</kbd>: copy branch name to clipboard
|
||||||
|
@ -62,56 +62,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>enter</kbd>: view commits
|
<kbd>enter</kbd>: view commits
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Branches Panel (Remote Branches (in Remotes tab))
|
## Commit Files
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>space</kbd>: checkout
|
|
||||||
<kbd>n</kbd>: new branch
|
|
||||||
<kbd>M</kbd>: merge into currently checked out branch
|
|
||||||
<kbd>r</kbd>: rebase checked-out branch onto this branch
|
|
||||||
<kbd>d</kbd>: delete branch
|
|
||||||
<kbd>u</kbd>: set as upstream of checked-out branch
|
|
||||||
<kbd>esc</kbd>: Return to remotes list
|
|
||||||
<kbd>g</kbd>: view reset options
|
|
||||||
<kbd>enter</kbd>: view commits
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Branches Panel (Remotes Tab)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>f</kbd>: fetch remote
|
|
||||||
<kbd>n</kbd>: add new remote
|
|
||||||
<kbd>d</kbd>: remove remote
|
|
||||||
<kbd>e</kbd>: edit remote
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Branches Panel (Sub-commits)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
|
||||||
<kbd>space</kbd>: checkout commit
|
|
||||||
<kbd>y</kbd>: copy commit attribute
|
|
||||||
<kbd>o</kbd>: open commit in browser
|
|
||||||
<kbd>n</kbd>: create new branch off of commit
|
|
||||||
<kbd>g</kbd>: reset to this commit
|
|
||||||
<kbd>c</kbd>: copy commit (cherry-pick)
|
|
||||||
<kbd>C</kbd>: copy commit range (cherry-pick)
|
|
||||||
<kbd>ctrl+r</kbd>: reset cherry-picked (copied) commits selection
|
|
||||||
<kbd>enter</kbd>: view selected item's files
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Branches Panel (Tags Tab)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>space</kbd>: checkout
|
|
||||||
<kbd>d</kbd>: delete tag
|
|
||||||
<kbd>P</kbd>: push tag
|
|
||||||
<kbd>n</kbd>: create tag
|
|
||||||
<kbd>g</kbd>: view reset options
|
|
||||||
<kbd>enter</kbd>: view commits
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Commit Files Panel (Commit Files)
|
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: copy the committed file name to the clipboard
|
<kbd>ctrl+o</kbd>: copy the committed file name to the clipboard
|
||||||
|
@ -125,7 +76,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>`</kbd>: toggle file tree view
|
<kbd>`</kbd>: toggle file tree view
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Commits Panel (Commits)
|
## Commits
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
||||||
|
@ -157,28 +108,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>enter</kbd>: view selected item's files
|
<kbd>enter</kbd>: view selected item's files
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Commits Panel (Reflog Tab)
|
## Files
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
|
||||||
<kbd>space</kbd>: checkout commit
|
|
||||||
<kbd>y</kbd>: copy commit attribute
|
|
||||||
<kbd>o</kbd>: open commit in browser
|
|
||||||
<kbd>n</kbd>: create new branch off of commit
|
|
||||||
<kbd>g</kbd>: reset to this commit
|
|
||||||
<kbd>c</kbd>: copy commit (cherry-pick)
|
|
||||||
<kbd>C</kbd>: copy commit range (cherry-pick)
|
|
||||||
<kbd>ctrl+r</kbd>: reset cherry-picked (copied) commits selection
|
|
||||||
<kbd>enter</kbd>: view commits
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Extras Panel
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>@</kbd>: open command log menu
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Files Panel (Files)
|
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: copy the file name to the clipboard
|
<kbd>ctrl+o</kbd>: copy the file name to the clipboard
|
||||||
|
@ -205,19 +135,6 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>f</kbd>: fetch
|
<kbd>f</kbd>: fetch
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Files Panel (Submodules)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>ctrl+o</kbd>: copy submodule name to clipboard
|
|
||||||
<kbd>enter</kbd>: enter submodule
|
|
||||||
<kbd>d</kbd>: remove submodule
|
|
||||||
<kbd>u</kbd>: update submodule
|
|
||||||
<kbd>n</kbd>: add new submodule
|
|
||||||
<kbd>e</kbd>: update submodule URL
|
|
||||||
<kbd>i</kbd>: initialize submodule
|
|
||||||
<kbd>b</kbd>: view bulk submodule options
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Main Panel (Merging)
|
## Main Panel (Merging)
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
|
@ -277,13 +194,42 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>C</kbd>: commit changes using git editor
|
<kbd>C</kbd>: commit changes using git editor
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Menu Panel
|
## Reflog
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>esc</kbd>: close menu
|
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
||||||
|
<kbd>space</kbd>: checkout commit
|
||||||
|
<kbd>g</kbd>: view reset options
|
||||||
|
<kbd>c</kbd>: copy commit (cherry-pick)
|
||||||
|
<kbd>C</kbd>: copy commit range (cherry-pick)
|
||||||
|
<kbd>ctrl+r</kbd>: reset cherry-picked (copied) commits selection
|
||||||
|
<kbd>enter</kbd>: view commits
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Stash Panel (Stash)
|
## Remote Branches
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>space</kbd>: checkout
|
||||||
|
<kbd>n</kbd>: new branch
|
||||||
|
<kbd>M</kbd>: merge into currently checked out branch
|
||||||
|
<kbd>r</kbd>: rebase checked-out branch onto this branch
|
||||||
|
<kbd>d</kbd>: delete branch
|
||||||
|
<kbd>u</kbd>: set as upstream of checked-out branch
|
||||||
|
<kbd>esc</kbd>: Return to remotes list
|
||||||
|
<kbd>g</kbd>: view reset options
|
||||||
|
<kbd>enter</kbd>: view commits
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Remotes
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>f</kbd>: fetch remote
|
||||||
|
<kbd>n</kbd>: add new remote
|
||||||
|
<kbd>d</kbd>: remove remote
|
||||||
|
<kbd>e</kbd>: edit remote
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Stash
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>space</kbd>: apply
|
<kbd>space</kbd>: apply
|
||||||
|
@ -293,7 +239,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>enter</kbd>: view selected item's files
|
<kbd>enter</kbd>: view selected item's files
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Status Panel (Status)
|
## Status
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>e</kbd>: edit config file
|
<kbd>e</kbd>: edit config file
|
||||||
|
@ -303,7 +249,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>a</kbd>: show all branch logs
|
<kbd>a</kbd>: show all branch logs
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Sub-commits Panel (Sub-commits)
|
## Sub-commits
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
||||||
|
@ -315,3 +261,27 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>ctrl+r</kbd>: reset cherry-picked (copied) commits selection
|
<kbd>ctrl+r</kbd>: reset cherry-picked (copied) commits selection
|
||||||
<kbd>enter</kbd>: view selected item's files
|
<kbd>enter</kbd>: view selected item's files
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
## Submodules
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>ctrl+o</kbd>: copy submodule name to clipboard
|
||||||
|
<kbd>enter</kbd>: enter submodule
|
||||||
|
<kbd>d</kbd>: remove submodule
|
||||||
|
<kbd>u</kbd>: update submodule
|
||||||
|
<kbd>n</kbd>: add new submodule
|
||||||
|
<kbd>e</kbd>: update submodule URL
|
||||||
|
<kbd>i</kbd>: initialize submodule
|
||||||
|
<kbd>b</kbd>: view bulk submodule options
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Tags
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>space</kbd>: checkout
|
||||||
|
<kbd>d</kbd>: delete tag
|
||||||
|
<kbd>P</kbd>: push tag
|
||||||
|
<kbd>n</kbd>: create tag
|
||||||
|
<kbd>g</kbd>: view reset options
|
||||||
|
<kbd>enter</kbd>: view commits
|
||||||
|
</pre>
|
||||||
|
|
|
@ -41,7 +41,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>[</kbd>: vorige tabblad
|
<kbd>[</kbd>: vorige tabblad
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Bestanden Paneel (Bestanden)
|
## Bestanden
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: kopieer de bestandsnaam naar het klembord
|
<kbd>ctrl+o</kbd>: kopieer de bestandsnaam naar het klembord
|
||||||
|
@ -68,20 +68,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>f</kbd>: fetch
|
<kbd>f</kbd>: fetch
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Bestanden Paneel (Submodules)
|
## Branches
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>ctrl+o</kbd>: kopieer submodule naam naar klembord
|
|
||||||
<kbd>enter</kbd>: enter submodule
|
|
||||||
<kbd>d</kbd>: remove submodule
|
|
||||||
<kbd>u</kbd>: update submodule
|
|
||||||
<kbd>n</kbd>: voeg nieuwe submodule toe
|
|
||||||
<kbd>e</kbd>: update submodule URL
|
|
||||||
<kbd>i</kbd>: initialiseer submodule
|
|
||||||
<kbd>b</kbd>: bekijk bulk submodule opties
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Branches Paneel (Branches Tabblad)
|
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: kopieer branch name naar klembord
|
<kbd>ctrl+o</kbd>: kopieer branch name naar klembord
|
||||||
|
@ -102,56 +89,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>enter</kbd>: bekijk commits
|
<kbd>enter</kbd>: bekijk commits
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Branches Paneel (Remote Branches (in Remotes tabblad))
|
## Commit bestanden
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>space</kbd>: uitchecken
|
|
||||||
<kbd>n</kbd>: nieuwe branch
|
|
||||||
<kbd>M</kbd>: merge in met huidige checked out branch
|
|
||||||
<kbd>r</kbd>: rebase branch
|
|
||||||
<kbd>d</kbd>: verwijder branch
|
|
||||||
<kbd>u</kbd>: stel in als upstream van uitgecheckte branch
|
|
||||||
<kbd>esc</kbd>: ga terug naar remotes lijst
|
|
||||||
<kbd>g</kbd>: bekijk reset opties
|
|
||||||
<kbd>enter</kbd>: bekijk commits
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Branches Paneel (Remotes Tabblad)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>f</kbd>: fetch remote
|
|
||||||
<kbd>n</kbd>: voeg een nieuwe remote toe
|
|
||||||
<kbd>d</kbd>: verwijder remote
|
|
||||||
<kbd>e</kbd>: wijzig remote
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Branches Paneel (Sub-commits)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>ctrl+o</kbd>: kopieer commit SHA naar klembord
|
|
||||||
<kbd>space</kbd>: checkout commit
|
|
||||||
<kbd>y</kbd>: copy commit attribute
|
|
||||||
<kbd>o</kbd>: open commit in browser
|
|
||||||
<kbd>n</kbd>: creëer nieuwe branch van commit
|
|
||||||
<kbd>g</kbd>: reset naar deze commit
|
|
||||||
<kbd>c</kbd>: kopieer commit (cherry-pick)
|
|
||||||
<kbd>C</kbd>: kopieer commit reeks (cherry-pick)
|
|
||||||
<kbd>ctrl+r</kbd>: reset cherry-picked (gekopieerde) commits selectie
|
|
||||||
<kbd>enter</kbd>: bekijk gecommite bestanden
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Branches Paneel (Tags Tabblad)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>space</kbd>: uitchecken
|
|
||||||
<kbd>d</kbd>: verwijder tag
|
|
||||||
<kbd>P</kbd>: push tag
|
|
||||||
<kbd>n</kbd>: creëer tag
|
|
||||||
<kbd>g</kbd>: bekijk reset opties
|
|
||||||
<kbd>enter</kbd>: bekijk commits
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Commit bestanden Paneel (Commit bestanden)
|
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: kopieer de vastgelegde bestandsnaam naar het klembord
|
<kbd>ctrl+o</kbd>: kopieer de vastgelegde bestandsnaam naar het klembord
|
||||||
|
@ -165,7 +103,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>`</kbd>: toggle bestandsboom weergave
|
<kbd>`</kbd>: toggle bestandsboom weergave
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Commits Paneel (Commits)
|
## Commits
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: kopieer commit SHA naar klembord
|
<kbd>ctrl+o</kbd>: kopieer commit SHA naar klembord
|
||||||
|
@ -197,28 +135,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>enter</kbd>: bekijk gecommite bestanden
|
<kbd>enter</kbd>: bekijk gecommite bestanden
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Commits Paneel (Reflog Tabblad)
|
## Mergen
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>ctrl+o</kbd>: kopieer commit SHA naar klembord
|
|
||||||
<kbd>space</kbd>: checkout commit
|
|
||||||
<kbd>y</kbd>: copy commit attribute
|
|
||||||
<kbd>o</kbd>: open commit in browser
|
|
||||||
<kbd>n</kbd>: creëer nieuwe branch van commit
|
|
||||||
<kbd>g</kbd>: reset naar deze commit
|
|
||||||
<kbd>c</kbd>: kopieer commit (cherry-pick)
|
|
||||||
<kbd>C</kbd>: kopieer commit reeks (cherry-pick)
|
|
||||||
<kbd>ctrl+r</kbd>: reset cherry-picked (gekopieerde) commits selectie
|
|
||||||
<kbd>enter</kbd>: bekijk commits
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Extras Paneel
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>@</kbd>: open command log menu
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Hoofd Paneel (Mergen)
|
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>esc</kbd>: ga terug naar het bestanden paneel
|
<kbd>esc</kbd>: ga terug naar het bestanden paneel
|
||||||
|
@ -232,14 +149,14 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>z</kbd>: ongedaan maken
|
<kbd>z</kbd>: ongedaan maken
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Hoofd Paneel (Normaal)
|
## Normaal
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>mouse wheel down</kbd>: scroll omlaag (fn+up)
|
<kbd>mouse wheel down</kbd>: scroll omlaag (fn+up)
|
||||||
<kbd>mouse wheel up</kbd>: scroll omhoog (fn+down)
|
<kbd>mouse wheel up</kbd>: scroll omhoog (fn+down)
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Hoofd Paneel (Patch Bouwen)
|
## Patch Bouwen
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>esc</kbd>: sluit lijn-bij-lijn modus
|
<kbd>esc</kbd>: sluit lijn-bij-lijn modus
|
||||||
|
@ -255,7 +172,42 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>a</kbd>: toggle selecteer hunk
|
<kbd>a</kbd>: toggle selecteer hunk
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Hoofd Paneel (Staging)
|
## Reflog
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>ctrl+o</kbd>: kopieer commit SHA naar klembord
|
||||||
|
<kbd>space</kbd>: checkout commit
|
||||||
|
<kbd>g</kbd>: bekijk reset opties
|
||||||
|
<kbd>c</kbd>: kopieer commit (cherry-pick)
|
||||||
|
<kbd>C</kbd>: kopieer commit reeks (cherry-pick)
|
||||||
|
<kbd>ctrl+r</kbd>: reset cherry-picked (gekopieerde) commits selectie
|
||||||
|
<kbd>enter</kbd>: bekijk commits
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Remote Branches
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>space</kbd>: uitchecken
|
||||||
|
<kbd>n</kbd>: nieuwe branch
|
||||||
|
<kbd>M</kbd>: merge in met huidige checked out branch
|
||||||
|
<kbd>r</kbd>: rebase branch
|
||||||
|
<kbd>d</kbd>: verwijder branch
|
||||||
|
<kbd>u</kbd>: stel in als upstream van uitgecheckte branch
|
||||||
|
<kbd>esc</kbd>: ga terug naar remotes lijst
|
||||||
|
<kbd>g</kbd>: bekijk reset opties
|
||||||
|
<kbd>enter</kbd>: bekijk commits
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Remotes
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>f</kbd>: fetch remote
|
||||||
|
<kbd>n</kbd>: voeg een nieuwe remote toe
|
||||||
|
<kbd>d</kbd>: verwijder remote
|
||||||
|
<kbd>e</kbd>: wijzig remote
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Staging
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>esc</kbd>: ga terug naar het bestanden paneel
|
<kbd>esc</kbd>: ga terug naar het bestanden paneel
|
||||||
|
@ -277,13 +229,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>C</kbd>: commit veranderingen met de git editor
|
<kbd>C</kbd>: commit veranderingen met de git editor
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Menu Paneel
|
## Stash
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>esc</kbd>: sluit menu
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Stash Paneel (Stash)
|
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>space</kbd>: toepassen
|
<kbd>space</kbd>: toepassen
|
||||||
|
@ -293,7 +239,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>enter</kbd>: bekijk gecommite bestanden
|
<kbd>enter</kbd>: bekijk gecommite bestanden
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Status Paneel (Status)
|
## Status
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>e</kbd>: verander config bestand
|
<kbd>e</kbd>: verander config bestand
|
||||||
|
@ -303,7 +249,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>a</kbd>: alle logs van de branch laten zien
|
<kbd>a</kbd>: alle logs van de branch laten zien
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Sub-commits Paneel (Sub-commits)
|
## Sub-commits
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: kopieer commit SHA naar klembord
|
<kbd>ctrl+o</kbd>: kopieer commit SHA naar klembord
|
||||||
|
@ -315,3 +261,27 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>ctrl+r</kbd>: reset cherry-picked (gekopieerde) commits selectie
|
<kbd>ctrl+r</kbd>: reset cherry-picked (gekopieerde) commits selectie
|
||||||
<kbd>enter</kbd>: bekijk gecommite bestanden
|
<kbd>enter</kbd>: bekijk gecommite bestanden
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
## Submodules
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>ctrl+o</kbd>: kopieer submodule naam naar klembord
|
||||||
|
<kbd>enter</kbd>: enter submodule
|
||||||
|
<kbd>d</kbd>: remove submodule
|
||||||
|
<kbd>u</kbd>: update submodule
|
||||||
|
<kbd>n</kbd>: voeg nieuwe submodule toe
|
||||||
|
<kbd>e</kbd>: update submodule URL
|
||||||
|
<kbd>i</kbd>: initialiseer submodule
|
||||||
|
<kbd>b</kbd>: bekijk bulk submodule opties
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Tags
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>space</kbd>: uitchecken
|
||||||
|
<kbd>d</kbd>: verwijder tag
|
||||||
|
<kbd>P</kbd>: push tag
|
||||||
|
<kbd>n</kbd>: creëer tag
|
||||||
|
<kbd>g</kbd>: bekijk reset opties
|
||||||
|
<kbd>enter</kbd>: bekijk commits
|
||||||
|
</pre>
|
||||||
|
|
|
@ -41,7 +41,28 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>[</kbd>: previous tab
|
<kbd>[</kbd>: previous tab
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Commity Panel (Commity)
|
## Branches
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>ctrl+o</kbd>: copy branch name to clipboard
|
||||||
|
<kbd>i</kbd>: show git-flow options
|
||||||
|
<kbd>space</kbd>: przełącz
|
||||||
|
<kbd>n</kbd>: nowa gałąź
|
||||||
|
<kbd>o</kbd>: utwórz żądanie pobrania
|
||||||
|
<kbd>O</kbd>: utwórz opcje żądania ściągnięcia
|
||||||
|
<kbd>ctrl+y</kbd>: skopiuj adres URL żądania pobrania do schowka
|
||||||
|
<kbd>c</kbd>: przełącz używając nazwy
|
||||||
|
<kbd>F</kbd>: wymuś przełączenie
|
||||||
|
<kbd>d</kbd>: usuń gałąź
|
||||||
|
<kbd>r</kbd>: zmiana bazy gałęzi
|
||||||
|
<kbd>M</kbd>: scal do obecnej gałęzi
|
||||||
|
<kbd>f</kbd>: fast-forward this branch from its upstream
|
||||||
|
<kbd>g</kbd>: wyświetl opcje resetu
|
||||||
|
<kbd>R</kbd>: rename branch
|
||||||
|
<kbd>enter</kbd>: view commits
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Commity
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
||||||
|
@ -73,98 +94,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>enter</kbd>: przeglądaj pliki commita
|
<kbd>enter</kbd>: przeglądaj pliki commita
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Commity Panel (Reflog Tab)
|
## Main Panel (Patch Building)
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
|
||||||
<kbd>space</kbd>: checkout commit
|
|
||||||
<kbd>y</kbd>: copy commit attribute
|
|
||||||
<kbd>o</kbd>: open commit in browser
|
|
||||||
<kbd>n</kbd>: create new branch off of commit
|
|
||||||
<kbd>g</kbd>: zresetuj do tego commita
|
|
||||||
<kbd>c</kbd>: kopiuj commit (przebieranie)
|
|
||||||
<kbd>C</kbd>: kopiuj zakres commitów (przebieranie)
|
|
||||||
<kbd>ctrl+r</kbd>: reset cherry-picked (copied) commits selection
|
|
||||||
<kbd>enter</kbd>: view commits
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Extras Panel
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>@</kbd>: open command log menu
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Gałęzie Panel (Branches Tab)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>ctrl+o</kbd>: copy branch name to clipboard
|
|
||||||
<kbd>i</kbd>: show git-flow options
|
|
||||||
<kbd>space</kbd>: przełącz
|
|
||||||
<kbd>n</kbd>: nowa gałąź
|
|
||||||
<kbd>o</kbd>: utwórz żądanie pobrania
|
|
||||||
<kbd>O</kbd>: utwórz opcje żądania ściągnięcia
|
|
||||||
<kbd>ctrl+y</kbd>: skopiuj adres URL żądania pobrania do schowka
|
|
||||||
<kbd>c</kbd>: przełącz używając nazwy
|
|
||||||
<kbd>F</kbd>: wymuś przełączenie
|
|
||||||
<kbd>d</kbd>: usuń gałąź
|
|
||||||
<kbd>r</kbd>: zmiana bazy gałęzi
|
|
||||||
<kbd>M</kbd>: scal do obecnej gałęzi
|
|
||||||
<kbd>f</kbd>: fast-forward this branch from its upstream
|
|
||||||
<kbd>g</kbd>: wyświetl opcje resetu
|
|
||||||
<kbd>R</kbd>: rename branch
|
|
||||||
<kbd>enter</kbd>: view commits
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Gałęzie Panel (Remote Branches (in Remotes tab))
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>space</kbd>: przełącz
|
|
||||||
<kbd>n</kbd>: nowa gałąź
|
|
||||||
<kbd>M</kbd>: scal do obecnej gałęzi
|
|
||||||
<kbd>r</kbd>: zmiana bazy gałęzi
|
|
||||||
<kbd>d</kbd>: usuń gałąź
|
|
||||||
<kbd>u</kbd>: set as upstream of checked-out branch
|
|
||||||
<kbd>esc</kbd>: wróć do listy repozytoriów zdalnych
|
|
||||||
<kbd>g</kbd>: wyświetl opcje resetu
|
|
||||||
<kbd>enter</kbd>: view commits
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Gałęzie Panel (Remotes Tab)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>f</kbd>: fetch remote
|
|
||||||
<kbd>n</kbd>: add new remote
|
|
||||||
<kbd>d</kbd>: remove remote
|
|
||||||
<kbd>e</kbd>: edit remote
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Gałęzie Panel (Sub-commits)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
|
||||||
<kbd>space</kbd>: checkout commit
|
|
||||||
<kbd>y</kbd>: copy commit attribute
|
|
||||||
<kbd>o</kbd>: open commit in browser
|
|
||||||
<kbd>n</kbd>: create new branch off of commit
|
|
||||||
<kbd>g</kbd>: zresetuj do tego commita
|
|
||||||
<kbd>c</kbd>: kopiuj commit (przebieranie)
|
|
||||||
<kbd>C</kbd>: kopiuj zakres commitów (przebieranie)
|
|
||||||
<kbd>ctrl+r</kbd>: reset cherry-picked (copied) commits selection
|
|
||||||
<kbd>enter</kbd>: przeglądaj pliki commita
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Gałęzie Panel (Tags Tab)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>space</kbd>: przełącz
|
|
||||||
<kbd>d</kbd>: delete tag
|
|
||||||
<kbd>P</kbd>: push tag
|
|
||||||
<kbd>n</kbd>: create tag
|
|
||||||
<kbd>g</kbd>: wyświetl opcje resetu
|
|
||||||
<kbd>enter</kbd>: view commits
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Główne Panel (Patch Building)
|
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>esc</kbd>: wyście z trybu "linia po linii"
|
<kbd>esc</kbd>: wyście z trybu "linia po linii"
|
||||||
|
@ -180,56 +110,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>a</kbd>: toggle select hunk
|
<kbd>a</kbd>: toggle select hunk
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Główne Panel (Poczekalnia)
|
## Pliki
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>esc</kbd>: wróć do panelu plików
|
|
||||||
<kbd>space</kbd>: toggle line staged / unstaged
|
|
||||||
<kbd>d</kbd>: delete change (git reset)
|
|
||||||
<kbd>tab</kbd>: switch to other panel
|
|
||||||
<kbd>o</kbd>: otwórz plik
|
|
||||||
<kbd>▲</kbd>: poprzednia linia
|
|
||||||
<kbd>▼</kbd>: następna linia
|
|
||||||
<kbd>◄</kbd>: poprzedni kawałek
|
|
||||||
<kbd>►</kbd>: następny kawałek
|
|
||||||
<kbd>ctrl+o</kbd>: copy the selected text to the clipboard
|
|
||||||
<kbd>e</kbd>: edytuj plik
|
|
||||||
<kbd>v</kbd>: toggle drag select
|
|
||||||
<kbd>V</kbd>: toggle drag select
|
|
||||||
<kbd>a</kbd>: toggle select hunk
|
|
||||||
<kbd>c</kbd>: Zatwierdź zmiany
|
|
||||||
<kbd>w</kbd>: zatwierdź zmiany bez skryptu pre-commit
|
|
||||||
<kbd>C</kbd>: Zatwierdź zmiany używając edytora
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Główne Panel (Scalanie)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>esc</kbd>: wróć do panelu plików
|
|
||||||
<kbd>M</kbd>: open external merge tool (git mergetool)
|
|
||||||
<kbd>space</kbd>: wybierz kawałek
|
|
||||||
<kbd>b</kbd>: wybierz wszystkie kawałki
|
|
||||||
<kbd>◄</kbd>: poprzedni konflikt
|
|
||||||
<kbd>►</kbd>: następny konflikt
|
|
||||||
<kbd>▲</kbd>: wybierz poprzedni kawałek
|
|
||||||
<kbd>▼</kbd>: wybierz następny kawałek
|
|
||||||
<kbd>z</kbd>: cofnij
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Główne Panel (Zwykłe)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>mouse wheel down</kbd>: przewiń w dół (fn+up)
|
|
||||||
<kbd>mouse wheel up</kbd>: przewiń w górę (fn+down)
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Menu Panel
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>esc</kbd>: close menu
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Pliki Panel (Pliki)
|
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: copy the file name to the clipboard
|
<kbd>ctrl+o</kbd>: copy the file name to the clipboard
|
||||||
|
@ -256,20 +137,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>f</kbd>: pobierz
|
<kbd>f</kbd>: pobierz
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Pliki Panel (Submodules)
|
## Pliki commita
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>ctrl+o</kbd>: copy submodule name to clipboard
|
|
||||||
<kbd>enter</kbd>: enter submodule
|
|
||||||
<kbd>d</kbd>: remove submodule
|
|
||||||
<kbd>u</kbd>: update submodule
|
|
||||||
<kbd>n</kbd>: add new submodule
|
|
||||||
<kbd>e</kbd>: update submodule URL
|
|
||||||
<kbd>i</kbd>: initialize submodule
|
|
||||||
<kbd>b</kbd>: view bulk submodule options
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## Pliki commita Panel (Pliki commita)
|
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: copy the committed file name to the clipboard
|
<kbd>ctrl+o</kbd>: copy the committed file name to the clipboard
|
||||||
|
@ -283,7 +151,78 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>`</kbd>: toggle file tree view
|
<kbd>`</kbd>: toggle file tree view
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Schowek Panel (Schowek)
|
## Poczekalnia
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>esc</kbd>: wróć do panelu plików
|
||||||
|
<kbd>space</kbd>: toggle line staged / unstaged
|
||||||
|
<kbd>d</kbd>: delete change (git reset)
|
||||||
|
<kbd>tab</kbd>: switch to other panel
|
||||||
|
<kbd>o</kbd>: otwórz plik
|
||||||
|
<kbd>▲</kbd>: poprzednia linia
|
||||||
|
<kbd>▼</kbd>: następna linia
|
||||||
|
<kbd>◄</kbd>: poprzedni kawałek
|
||||||
|
<kbd>►</kbd>: następny kawałek
|
||||||
|
<kbd>ctrl+o</kbd>: copy the selected text to the clipboard
|
||||||
|
<kbd>e</kbd>: edytuj plik
|
||||||
|
<kbd>v</kbd>: toggle drag select
|
||||||
|
<kbd>V</kbd>: toggle drag select
|
||||||
|
<kbd>a</kbd>: toggle select hunk
|
||||||
|
<kbd>c</kbd>: Zatwierdź zmiany
|
||||||
|
<kbd>w</kbd>: zatwierdź zmiany bez skryptu pre-commit
|
||||||
|
<kbd>C</kbd>: Zatwierdź zmiany używając edytora
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Reflog
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
||||||
|
<kbd>space</kbd>: checkout commit
|
||||||
|
<kbd>g</kbd>: wyświetl opcje resetu
|
||||||
|
<kbd>c</kbd>: kopiuj commit (przebieranie)
|
||||||
|
<kbd>C</kbd>: kopiuj zakres commitów (przebieranie)
|
||||||
|
<kbd>ctrl+r</kbd>: reset cherry-picked (copied) commits selection
|
||||||
|
<kbd>enter</kbd>: view commits
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Remote Branches
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>space</kbd>: przełącz
|
||||||
|
<kbd>n</kbd>: nowa gałąź
|
||||||
|
<kbd>M</kbd>: scal do obecnej gałęzi
|
||||||
|
<kbd>r</kbd>: zmiana bazy gałęzi
|
||||||
|
<kbd>d</kbd>: usuń gałąź
|
||||||
|
<kbd>u</kbd>: set as upstream of checked-out branch
|
||||||
|
<kbd>esc</kbd>: wróć do listy repozytoriów zdalnych
|
||||||
|
<kbd>g</kbd>: wyświetl opcje resetu
|
||||||
|
<kbd>enter</kbd>: view commits
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Remotes
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>f</kbd>: fetch remote
|
||||||
|
<kbd>n</kbd>: add new remote
|
||||||
|
<kbd>d</kbd>: remove remote
|
||||||
|
<kbd>e</kbd>: edit remote
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Scalanie
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>esc</kbd>: wróć do panelu plików
|
||||||
|
<kbd>M</kbd>: open external merge tool (git mergetool)
|
||||||
|
<kbd>space</kbd>: wybierz kawałek
|
||||||
|
<kbd>b</kbd>: wybierz wszystkie kawałki
|
||||||
|
<kbd>◄</kbd>: poprzedni konflikt
|
||||||
|
<kbd>►</kbd>: następny konflikt
|
||||||
|
<kbd>▲</kbd>: wybierz poprzedni kawałek
|
||||||
|
<kbd>▼</kbd>: wybierz następny kawałek
|
||||||
|
<kbd>z</kbd>: cofnij
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Schowek
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>space</kbd>: zastosuj
|
<kbd>space</kbd>: zastosuj
|
||||||
|
@ -293,7 +232,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>enter</kbd>: przeglądaj pliki commita
|
<kbd>enter</kbd>: przeglądaj pliki commita
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Status Panel (Status)
|
## Status
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>e</kbd>: edytuj konfigurację
|
<kbd>e</kbd>: edytuj konfigurację
|
||||||
|
@ -303,7 +242,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>a</kbd>: pokaż wszystkie logi gałęzi
|
<kbd>a</kbd>: pokaż wszystkie logi gałęzi
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## Sub-commits Panel (Sub-commits)
|
## Sub-commits
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
<kbd>ctrl+o</kbd>: copy commit SHA to clipboard
|
||||||
|
@ -315,3 +254,34 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>ctrl+r</kbd>: reset cherry-picked (copied) commits selection
|
<kbd>ctrl+r</kbd>: reset cherry-picked (copied) commits selection
|
||||||
<kbd>enter</kbd>: przeglądaj pliki commita
|
<kbd>enter</kbd>: przeglądaj pliki commita
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
## Submodules
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>ctrl+o</kbd>: copy submodule name to clipboard
|
||||||
|
<kbd>enter</kbd>: enter submodule
|
||||||
|
<kbd>d</kbd>: remove submodule
|
||||||
|
<kbd>u</kbd>: update submodule
|
||||||
|
<kbd>n</kbd>: add new submodule
|
||||||
|
<kbd>e</kbd>: update submodule URL
|
||||||
|
<kbd>i</kbd>: initialize submodule
|
||||||
|
<kbd>b</kbd>: view bulk submodule options
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Tags
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>space</kbd>: przełącz
|
||||||
|
<kbd>d</kbd>: delete tag
|
||||||
|
<kbd>P</kbd>: push tag
|
||||||
|
<kbd>n</kbd>: create tag
|
||||||
|
<kbd>g</kbd>: wyświetl opcje resetu
|
||||||
|
<kbd>enter</kbd>: view commits
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## Zwykłe
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>mouse wheel down</kbd>: przewiń w dół (fn+up)
|
||||||
|
<kbd>mouse wheel up</kbd>: przewiń w górę (fn+down)
|
||||||
|
</pre>
|
||||||
|
|
|
@ -41,66 +41,19 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>[</kbd>: 上一个标签
|
<kbd>[</kbd>: 上一个标签
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## 主要 面板 (构建补丁中)
|
## Reflog 页面
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>esc</kbd>: 退出逐行模式
|
<kbd>ctrl+o</kbd>: 将提交的 SHA 复制到剪贴板
|
||||||
<kbd>o</kbd>: 打开文件
|
<kbd>space</kbd>: 检出提交
|
||||||
<kbd>▲</kbd>: 选择上一行
|
<kbd>g</kbd>: 查看重置选项
|
||||||
<kbd>▼</kbd>: 选择下一行
|
<kbd>c</kbd>: 复制提交(拣选)
|
||||||
<kbd>◄</kbd>: 选择上一个区块
|
<kbd>C</kbd>: 复制提交范围(拣选)
|
||||||
<kbd>►</kbd>: 选择下一个区块
|
<kbd>ctrl+r</kbd>: 重置已拣选(复制)的提交
|
||||||
<kbd>ctrl+o</kbd>: 将选中文本复制到剪贴板
|
<kbd>enter</kbd>: 查看提交
|
||||||
<kbd>space</kbd>: 添加/移除 行到补丁
|
|
||||||
<kbd>v</kbd>: 切换拖动选择
|
|
||||||
<kbd>V</kbd>: 切换拖动选择
|
|
||||||
<kbd>a</kbd>: 切换选择区块
|
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## 主要 面板 (正在合并)
|
## 分支页面
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>esc</kbd>: 返回文件面板
|
|
||||||
<kbd>M</kbd>: 打开外部合并工具 (git mergetool)
|
|
||||||
<kbd>space</kbd>: 选中区块
|
|
||||||
<kbd>b</kbd>: 选中所有区块
|
|
||||||
<kbd>◄</kbd>: 选择上一个冲突
|
|
||||||
<kbd>►</kbd>: 选择下一个冲突
|
|
||||||
<kbd>▲</kbd>: 选择顶部块
|
|
||||||
<kbd>▼</kbd>: 选择底部块
|
|
||||||
<kbd>z</kbd>: 撤销
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## 主要 面板 (正在暂存)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>esc</kbd>: 返回文件面板
|
|
||||||
<kbd>space</kbd>: 切换行暂存状态
|
|
||||||
<kbd>d</kbd>: 取消变更 (git reset)
|
|
||||||
<kbd>tab</kbd>: 切换到其他面板
|
|
||||||
<kbd>o</kbd>: 打开文件
|
|
||||||
<kbd>▲</kbd>: 选择上一行
|
|
||||||
<kbd>▼</kbd>: 选择下一行
|
|
||||||
<kbd>◄</kbd>: 选择上一个区块
|
|
||||||
<kbd>►</kbd>: 选择下一个区块
|
|
||||||
<kbd>ctrl+o</kbd>: 将选中文本复制到剪贴板
|
|
||||||
<kbd>e</kbd>: 编辑文件
|
|
||||||
<kbd>v</kbd>: 切换拖动选择
|
|
||||||
<kbd>V</kbd>: 切换拖动选择
|
|
||||||
<kbd>a</kbd>: 切换选择区块
|
|
||||||
<kbd>c</kbd>: 提交更改
|
|
||||||
<kbd>w</kbd>: 提交更改而无需预先提交钩子
|
|
||||||
<kbd>C</kbd>: 提交更改(使用编辑器编辑提交信息)
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## 主要 面板 (正常)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>mouse wheel down</kbd>: 向下滚动 (fn+up)
|
|
||||||
<kbd>mouse wheel up</kbd>: 向上滚动 (fn+down)
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## 分支 面板 (分支页面)
|
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: 将分支名称复制到剪贴板
|
<kbd>ctrl+o</kbd>: 将分支名称复制到剪贴板
|
||||||
|
@ -121,7 +74,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>enter</kbd>: 查看提交
|
<kbd>enter</kbd>: 查看提交
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## 分支 面板 (子提交)
|
## 子提交
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: 将提交的 SHA 复制到剪贴板
|
<kbd>ctrl+o</kbd>: 将提交的 SHA 复制到剪贴板
|
||||||
|
@ -136,68 +89,20 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>enter</kbd>: 查看提交的文件
|
<kbd>enter</kbd>: 查看提交的文件
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## 分支 面板 (标签页面)
|
## 子模块
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>space</kbd>: 检出
|
<kbd>ctrl+o</kbd>: 将子模块名称复制到剪贴板
|
||||||
<kbd>d</kbd>: 删除标签
|
<kbd>enter</kbd>: 输入子模块
|
||||||
<kbd>P</kbd>: 推送标签
|
<kbd>d</kbd>: 删除子模块
|
||||||
<kbd>n</kbd>: 创建标签
|
<kbd>u</kbd>: 更新子模块
|
||||||
<kbd>g</kbd>: 查看重置选项
|
<kbd>n</kbd>: 添加新的子模块
|
||||||
<kbd>enter</kbd>: 查看提交
|
<kbd>e</kbd>: 更新子模块 URL
|
||||||
|
<kbd>i</kbd>: 初始化子模块
|
||||||
|
<kbd>b</kbd>: 查看批量子模块选项
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## 分支 面板 (远程分支(在远程页面中))
|
## 提交
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>space</kbd>: 检出
|
|
||||||
<kbd>n</kbd>: 新分支
|
|
||||||
<kbd>M</kbd>: 合并到当前检出的分支
|
|
||||||
<kbd>r</kbd>: 将已检出的分支变基到该分支
|
|
||||||
<kbd>d</kbd>: 删除分支
|
|
||||||
<kbd>u</kbd>: 设置为检出分支的上游
|
|
||||||
<kbd>esc</kbd>: 返回远程仓库列表
|
|
||||||
<kbd>g</kbd>: 查看重置选项
|
|
||||||
<kbd>enter</kbd>: 查看提交
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## 分支 面板 (远程页面)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>f</kbd>: 抓取远程仓库
|
|
||||||
<kbd>n</kbd>: 添加新的远程仓库
|
|
||||||
<kbd>d</kbd>: 删除远程
|
|
||||||
<kbd>e</kbd>: 编辑远程仓库
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## 提交 面板 (Reflog 页面)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>ctrl+o</kbd>: 将提交的 SHA 复制到剪贴板
|
|
||||||
<kbd>space</kbd>: 检出提交
|
|
||||||
<kbd>y</kbd>: copy commit attribute
|
|
||||||
<kbd>o</kbd>: 在浏览器中打开提交
|
|
||||||
<kbd>n</kbd>: 从提交创建新分支
|
|
||||||
<kbd>g</kbd>: 重置为此提交
|
|
||||||
<kbd>c</kbd>: 复制提交(拣选)
|
|
||||||
<kbd>C</kbd>: 复制提交范围(拣选)
|
|
||||||
<kbd>ctrl+r</kbd>: 重置已拣选(复制)的提交
|
|
||||||
<kbd>enter</kbd>: 查看提交的文件
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## 提交 面板 (Reflog)
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>ctrl+o</kbd>: 将提交的 SHA 复制到剪贴板
|
|
||||||
<kbd>space</kbd>: 检出提交
|
|
||||||
<kbd>g</kbd>: 查看重置选项
|
|
||||||
<kbd>c</kbd>: 复制提交(拣选)
|
|
||||||
<kbd>C</kbd>: 复制提交范围(拣选)
|
|
||||||
<kbd>ctrl+r</kbd>: 重置已拣选(复制)的提交
|
|
||||||
<kbd>enter</kbd>: 查看提交
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## 提交 面板 (提交)
|
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: 将提交的 SHA 复制到剪贴板
|
<kbd>ctrl+o</kbd>: 将提交的 SHA 复制到剪贴板
|
||||||
|
@ -229,7 +134,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>enter</kbd>: 查看提交的文件
|
<kbd>enter</kbd>: 查看提交的文件
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## 提交文件 面板 (提交文件)
|
## 提交文件
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: 将提交的文件名复制到剪贴板
|
<kbd>ctrl+o</kbd>: 将提交的文件名复制到剪贴板
|
||||||
|
@ -243,20 +148,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>`</kbd>: 切换文件树视图
|
<kbd>`</kbd>: 切换文件树视图
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## 文件 面板 (子模块)
|
## 文件
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>ctrl+o</kbd>: 将子模块名称复制到剪贴板
|
|
||||||
<kbd>enter</kbd>: 输入子模块
|
|
||||||
<kbd>d</kbd>: 删除子模块
|
|
||||||
<kbd>u</kbd>: 更新子模块
|
|
||||||
<kbd>n</kbd>: 添加新的子模块
|
|
||||||
<kbd>e</kbd>: 更新子模块 URL
|
|
||||||
<kbd>i</kbd>: 初始化子模块
|
|
||||||
<kbd>b</kbd>: 查看批量子模块选项
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## 文件 面板 (文件)
|
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>ctrl+o</kbd>: 将文件名复制到剪贴板
|
<kbd>ctrl+o</kbd>: 将文件名复制到剪贴板
|
||||||
|
@ -283,7 +175,77 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>f</kbd>: 抓取
|
<kbd>f</kbd>: 抓取
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## 状态 面板 (状态)
|
## 构建补丁中
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>esc</kbd>: 退出逐行模式
|
||||||
|
<kbd>o</kbd>: 打开文件
|
||||||
|
<kbd>▲</kbd>: 选择上一行
|
||||||
|
<kbd>▼</kbd>: 选择下一行
|
||||||
|
<kbd>◄</kbd>: 选择上一个区块
|
||||||
|
<kbd>►</kbd>: 选择下一个区块
|
||||||
|
<kbd>ctrl+o</kbd>: 将选中文本复制到剪贴板
|
||||||
|
<kbd>space</kbd>: 添加/移除 行到补丁
|
||||||
|
<kbd>v</kbd>: 切换拖动选择
|
||||||
|
<kbd>V</kbd>: 切换拖动选择
|
||||||
|
<kbd>a</kbd>: 切换选择区块
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## 标签页面
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>space</kbd>: 检出
|
||||||
|
<kbd>d</kbd>: 删除标签
|
||||||
|
<kbd>P</kbd>: 推送标签
|
||||||
|
<kbd>n</kbd>: 创建标签
|
||||||
|
<kbd>g</kbd>: 查看重置选项
|
||||||
|
<kbd>enter</kbd>: 查看提交
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## 正在合并
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>esc</kbd>: 返回文件面板
|
||||||
|
<kbd>M</kbd>: 打开外部合并工具 (git mergetool)
|
||||||
|
<kbd>space</kbd>: 选中区块
|
||||||
|
<kbd>b</kbd>: 选中所有区块
|
||||||
|
<kbd>◄</kbd>: 选择上一个冲突
|
||||||
|
<kbd>►</kbd>: 选择下一个冲突
|
||||||
|
<kbd>▲</kbd>: 选择顶部块
|
||||||
|
<kbd>▼</kbd>: 选择底部块
|
||||||
|
<kbd>z</kbd>: 撤销
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## 正在暂存
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>esc</kbd>: 返回文件面板
|
||||||
|
<kbd>space</kbd>: 切换行暂存状态
|
||||||
|
<kbd>d</kbd>: 取消变更 (git reset)
|
||||||
|
<kbd>tab</kbd>: 切换到其他面板
|
||||||
|
<kbd>o</kbd>: 打开文件
|
||||||
|
<kbd>▲</kbd>: 选择上一行
|
||||||
|
<kbd>▼</kbd>: 选择下一行
|
||||||
|
<kbd>◄</kbd>: 选择上一个区块
|
||||||
|
<kbd>►</kbd>: 选择下一个区块
|
||||||
|
<kbd>ctrl+o</kbd>: 将选中文本复制到剪贴板
|
||||||
|
<kbd>e</kbd>: 编辑文件
|
||||||
|
<kbd>v</kbd>: 切换拖动选择
|
||||||
|
<kbd>V</kbd>: 切换拖动选择
|
||||||
|
<kbd>a</kbd>: 切换选择区块
|
||||||
|
<kbd>c</kbd>: 提交更改
|
||||||
|
<kbd>w</kbd>: 提交更改而无需预先提交钩子
|
||||||
|
<kbd>C</kbd>: 提交更改(使用编辑器编辑提交信息)
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## 正常
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>mouse wheel down</kbd>: 向下滚动 (fn+up)
|
||||||
|
<kbd>mouse wheel up</kbd>: 向上滚动 (fn+down)
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## 状态
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>e</kbd>: 编辑配置文件
|
<kbd>e</kbd>: 编辑配置文件
|
||||||
|
@ -293,13 +255,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>a</kbd>: 显示所有分支的日志
|
<kbd>a</kbd>: 显示所有分支的日志
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## 菜单 面板
|
## 贮藏
|
||||||
|
|
||||||
<pre>
|
|
||||||
<kbd>esc</kbd>: 关闭菜单
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
## 贮藏 面板 (贮藏)
|
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>space</kbd>: 应用
|
<kbd>space</kbd>: 应用
|
||||||
|
@ -309,8 +265,25 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
|
||||||
<kbd>enter</kbd>: 查看提交的文件
|
<kbd>enter</kbd>: 查看提交的文件
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
## 附加 面板
|
## 远程分支
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<kbd>@</kbd>: 打开命令日志菜单
|
<kbd>space</kbd>: 检出
|
||||||
|
<kbd>n</kbd>: 新分支
|
||||||
|
<kbd>M</kbd>: 合并到当前检出的分支
|
||||||
|
<kbd>r</kbd>: 将已检出的分支变基到该分支
|
||||||
|
<kbd>d</kbd>: 删除分支
|
||||||
|
<kbd>u</kbd>: 设置为检出分支的上游
|
||||||
|
<kbd>esc</kbd>: 返回远程仓库列表
|
||||||
|
<kbd>g</kbd>: 查看重置选项
|
||||||
|
<kbd>enter</kbd>: 查看提交
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
## 远程页面
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<kbd>f</kbd>: 抓取远程仓库
|
||||||
|
<kbd>n</kbd>: 添加新的远程仓库
|
||||||
|
<kbd>d</kbd>: 删除远程
|
||||||
|
<kbd>e</kbd>: 编辑远程仓库
|
||||||
</pre>
|
</pre>
|
||||||
|
|
|
@ -131,7 +131,9 @@ func getBindingSections(bindings []*types.Binding, tr *i18n.TranslationSet) []*b
|
||||||
return getHeaders(binding, tr)
|
return getHeaders(binding, tr)
|
||||||
})
|
})
|
||||||
|
|
||||||
bindingGroups := maps.MapToSlice(bindingsByHeader, func(header header, hBindings []*types.Binding) headerWithBindings {
|
bindingGroups := maps.MapToSlice(
|
||||||
|
bindingsByHeader,
|
||||||
|
func(header header, hBindings []*types.Binding) headerWithBindings {
|
||||||
uniqBindings := lo.UniqBy(hBindings, func(binding *types.Binding) string {
|
uniqBindings := lo.UniqBy(hBindings, func(binding *types.Binding) string {
|
||||||
return binding.Description + gui.GetKeyDisplay(binding.Key)
|
return binding.Description + gui.GetKeyDisplay(binding.Key)
|
||||||
})
|
})
|
||||||
|
@ -140,7 +142,8 @@ func getBindingSections(bindings []*types.Binding, tr *i18n.TranslationSet) []*b
|
||||||
header: header,
|
header: header,
|
||||||
bindings: uniqBindings,
|
bindings: uniqBindings,
|
||||||
}
|
}
|
||||||
})
|
},
|
||||||
|
)
|
||||||
|
|
||||||
slices.SortFunc(bindingGroups, func(a, b headerWithBindings) bool {
|
slices.SortFunc(bindingGroups, func(a, b headerWithBindings) bool {
|
||||||
if a.header.priority != b.header.priority {
|
if a.header.priority != b.header.priority {
|
||||||
|
@ -169,18 +172,11 @@ func getHeaders(binding *types.Binding, tr *i18n.TranslationSet) []header {
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(binding.Contexts) == 0 {
|
if len(binding.Contexts) == 0 {
|
||||||
translatedView := localisedTitle(tr, binding.ViewName)
|
return []header{}
|
||||||
title := fmt.Sprintf("%s %s", translatedView, tr.Panel)
|
|
||||||
|
|
||||||
return []header{{priority: 1, title: title}}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return slices.Map(binding.Contexts, func(context string) header {
|
return slices.Map(binding.Contexts, func(context string) header {
|
||||||
translatedView := localisedTitle(tr, binding.ViewName)
|
return header{priority: 1, title: localisedTitle(tr, context)}
|
||||||
translatedContextName := localisedTitle(tr, context)
|
|
||||||
title := fmt.Sprintf("%s %s (%s)", translatedView, tr.Panel, translatedContextName)
|
|
||||||
|
|
||||||
return header{priority: 1, title: title}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -205,7 +201,12 @@ func formatTitle(title string) string {
|
||||||
|
|
||||||
func formatBinding(binding *types.Binding) string {
|
func formatBinding(binding *types.Binding) string {
|
||||||
if binding.Alternative != "" {
|
if binding.Alternative != "" {
|
||||||
return fmt.Sprintf(" <kbd>%s</kbd>: %s (%s)\n", gui.GetKeyDisplay(binding.Key), binding.Description, binding.Alternative)
|
return fmt.Sprintf(
|
||||||
|
" <kbd>%s</kbd>: %s (%s)\n",
|
||||||
|
gui.GetKeyDisplay(binding.Key),
|
||||||
|
binding.Description,
|
||||||
|
binding.Alternative,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
return fmt.Sprintf(" <kbd>%s</kbd>: %s\n", gui.GetKeyDisplay(binding.Key), binding.Description)
|
return fmt.Sprintf(" <kbd>%s</kbd>: %s\n", gui.GetKeyDisplay(binding.Key), binding.Description)
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,43 +26,23 @@ func TestGetBindingSections(t *testing.T) {
|
||||||
bindings: []*types.Binding{
|
bindings: []*types.Binding{
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "stage file",
|
Description: "stage file",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
expected: []*bindingSection{
|
expected: []*bindingSection{
|
||||||
{
|
{
|
||||||
title: "Files Panel",
|
title: "Files",
|
||||||
bindings: []*types.Binding{
|
bindings: []*types.Binding{
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "stage file",
|
Description: "stage file",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
testName: "one binding with context",
|
|
||||||
bindings: []*types.Binding{
|
|
||||||
{
|
|
||||||
ViewName: "files",
|
|
||||||
Description: "stage file",
|
|
||||||
Contexts: []string{"submodules"},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
expected: []*bindingSection{
|
|
||||||
{
|
|
||||||
title: "Files Panel (Submodules)",
|
|
||||||
bindings: []*types.Binding{
|
|
||||||
{
|
|
||||||
ViewName: "files",
|
|
||||||
Description: "stage file",
|
|
||||||
Contexts: []string{"submodules"},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
testName: "global binding",
|
testName: "global binding",
|
||||||
bindings: []*types.Binding{
|
bindings: []*types.Binding{
|
||||||
|
@ -101,23 +81,10 @@ func TestGetBindingSections(t *testing.T) {
|
||||||
Description: "drop submodule",
|
Description: "drop submodule",
|
||||||
Contexts: []string{"submodules"},
|
Contexts: []string{"submodules"},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
ViewName: "commits",
|
|
||||||
Description: "revert commit",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
expected: []*bindingSection{
|
expected: []*bindingSection{
|
||||||
{
|
{
|
||||||
title: "Commits Panel",
|
title: "Files",
|
||||||
bindings: []*types.Binding{
|
|
||||||
{
|
|
||||||
ViewName: "commits",
|
|
||||||
Description: "revert commit",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Files Panel (Files)",
|
|
||||||
bindings: []*types.Binding{
|
bindings: []*types.Binding{
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
@ -132,7 +99,7 @@ func TestGetBindingSections(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Files Panel (Submodules)",
|
title: "Submodules",
|
||||||
bindings: []*types.Binding{
|
bindings: []*types.Binding{
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
@ -148,19 +115,23 @@ func TestGetBindingSections(t *testing.T) {
|
||||||
bindings: []*types.Binding{
|
bindings: []*types.Binding{
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "stage file",
|
Description: "stage file",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "unstage file",
|
Description: "unstage file",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "scroll",
|
Description: "scroll",
|
||||||
Tag: "navigation",
|
Tag: "navigation",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ViewName: "commits",
|
ViewName: "commits",
|
||||||
|
Contexts: []string{"commits"},
|
||||||
Description: "revert commit",
|
Description: "revert commit",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -170,29 +141,33 @@ func TestGetBindingSections(t *testing.T) {
|
||||||
bindings: []*types.Binding{
|
bindings: []*types.Binding{
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "scroll",
|
Description: "scroll",
|
||||||
Tag: "navigation",
|
Tag: "navigation",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Commits Panel",
|
title: "Commits",
|
||||||
bindings: []*types.Binding{
|
bindings: []*types.Binding{
|
||||||
{
|
{
|
||||||
ViewName: "commits",
|
ViewName: "commits",
|
||||||
|
Contexts: []string{"commits"},
|
||||||
Description: "revert commit",
|
Description: "revert commit",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Files Panel",
|
title: "Files",
|
||||||
bindings: []*types.Binding{
|
bindings: []*types.Binding{
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "stage file",
|
Description: "stage file",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "unstage file",
|
Description: "unstage file",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -204,28 +179,34 @@ func TestGetBindingSections(t *testing.T) {
|
||||||
bindings: []*types.Binding{
|
bindings: []*types.Binding{
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "stage file",
|
Description: "stage file",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "unstage file",
|
Description: "unstage file",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "scroll",
|
Description: "scroll",
|
||||||
Tag: "navigation",
|
Tag: "navigation",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ViewName: "commits",
|
ViewName: "commits",
|
||||||
|
Contexts: []string{"commits"},
|
||||||
Description: "revert commit",
|
Description: "revert commit",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ViewName: "commits",
|
ViewName: "commits",
|
||||||
|
Contexts: []string{"commits"},
|
||||||
Description: "scroll",
|
Description: "scroll",
|
||||||
Tag: "navigation",
|
Tag: "navigation",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ViewName: "commits",
|
ViewName: "commits",
|
||||||
|
Contexts: []string{"commits"},
|
||||||
Description: "page up",
|
Description: "page up",
|
||||||
Tag: "navigation",
|
Tag: "navigation",
|
||||||
},
|
},
|
||||||
|
@ -236,34 +217,39 @@ func TestGetBindingSections(t *testing.T) {
|
||||||
bindings: []*types.Binding{
|
bindings: []*types.Binding{
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "scroll",
|
Description: "scroll",
|
||||||
Tag: "navigation",
|
Tag: "navigation",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ViewName: "commits",
|
ViewName: "commits",
|
||||||
|
Contexts: []string{"commits"},
|
||||||
Description: "page up",
|
Description: "page up",
|
||||||
Tag: "navigation",
|
Tag: "navigation",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Commits Panel",
|
title: "Commits",
|
||||||
bindings: []*types.Binding{
|
bindings: []*types.Binding{
|
||||||
{
|
{
|
||||||
ViewName: "commits",
|
ViewName: "commits",
|
||||||
|
Contexts: []string{"commits"},
|
||||||
Description: "revert commit",
|
Description: "revert commit",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Files Panel",
|
title: "Files",
|
||||||
bindings: []*types.Binding{
|
bindings: []*types.Binding{
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "stage file",
|
Description: "stage file",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ViewName: "files",
|
ViewName: "files",
|
||||||
|
Contexts: []string{"files"},
|
||||||
Description: "unstage file",
|
Description: "unstage file",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -41,6 +41,7 @@ func (gui *Gui) commitFilesRenderToMain() error {
|
||||||
func (gui *Gui) SwitchToCommitFilesContext(opts controllers.SwitchToCommitFilesContextOpts) error {
|
func (gui *Gui) SwitchToCommitFilesContext(opts controllers.SwitchToCommitFilesContextOpts) error {
|
||||||
gui.State.Contexts.CommitFiles.SetSelectedLineIdx(0)
|
gui.State.Contexts.CommitFiles.SetSelectedLineIdx(0)
|
||||||
gui.State.Contexts.CommitFiles.SetRefName(opts.RefName)
|
gui.State.Contexts.CommitFiles.SetRefName(opts.RefName)
|
||||||
|
gui.State.Contexts.CommitFiles.SetTitleRef(opts.RefDescription)
|
||||||
gui.State.Contexts.CommitFiles.SetCanRebase(opts.CanRebase)
|
gui.State.Contexts.CommitFiles.SetCanRebase(opts.CanRebase)
|
||||||
gui.State.Contexts.CommitFiles.SetParentContext(opts.Context)
|
gui.State.Contexts.CommitFiles.SetParentContext(opts.Context)
|
||||||
gui.State.Contexts.CommitFiles.SetWindowName(opts.Context.GetWindowName())
|
gui.State.Contexts.CommitFiles.SetWindowName(opts.Context.GetWindowName())
|
||||||
|
@ -54,7 +55,8 @@ func (gui *Gui) SwitchToCommitFilesContext(opts controllers.SwitchToCommitFilesC
|
||||||
|
|
||||||
func (gui *Gui) refreshCommitFilesContext() error {
|
func (gui *Gui) refreshCommitFilesContext() error {
|
||||||
currentSideContext := gui.currentSideContext()
|
currentSideContext := gui.currentSideContext()
|
||||||
if currentSideContext.GetKey() == context.COMMIT_FILES_CONTEXT_KEY || currentSideContext.GetKey() == context.LOCAL_COMMITS_CONTEXT_KEY {
|
if currentSideContext.GetKey() == context.COMMIT_FILES_CONTEXT_KEY ||
|
||||||
|
currentSideContext.GetKey() == context.LOCAL_COMMITS_CONTEXT_KEY {
|
||||||
if err := gui.handleRefreshPatchBuildingPanel(-1); err != nil {
|
if err := gui.handleRefreshPatchBuildingPanel(-1); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,8 +151,7 @@ func (gui *Gui) deactivateContext(c types.Context) error {
|
||||||
if view != nil &&
|
if view != nil &&
|
||||||
(c.GetKind() == types.TEMPORARY_POPUP ||
|
(c.GetKind() == types.TEMPORARY_POPUP ||
|
||||||
c.GetKind() == types.PERSISTENT_POPUP ||
|
c.GetKind() == types.PERSISTENT_POPUP ||
|
||||||
c.GetKey() == context.COMMIT_FILES_CONTEXT_KEY ||
|
c.IsTransient()) {
|
||||||
c.GetKey() == context.SUB_COMMITS_CONTEXT_KEY) {
|
|
||||||
view.Visible = false
|
view.Visible = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -393,11 +392,7 @@ func (gui *Gui) onViewFocusLost(oldView *gocui.View, newView *gocui.View) error
|
||||||
_ = oldView.SetOriginX(0)
|
_ = oldView.SetOriginX(0)
|
||||||
|
|
||||||
if !lo.Contains([]*gocui.View{gui.Views.Main, gui.Views.Secondary, gui.Views.Search}, newView) {
|
if !lo.Contains([]*gocui.View{gui.Views.Main, gui.Views.Secondary, gui.Views.Search}, newView) {
|
||||||
transientContexts := slices.Filter(gui.State.Contexts.Flatten(), func(context types.Context) bool {
|
for _, context := range gui.TransientContexts() {
|
||||||
return context.IsTransient()
|
|
||||||
})
|
|
||||||
|
|
||||||
for _, context := range transientContexts {
|
|
||||||
if oldView.Name() == context.GetViewName() {
|
if oldView.Name() == context.GetViewName() {
|
||||||
if err := gui.deactivateContext(context); err != nil {
|
if err := gui.deactivateContext(context); err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -409,6 +404,12 @@ func (gui *Gui) onViewFocusLost(oldView *gocui.View, newView *gocui.View) error
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (gui *Gui) TransientContexts() []types.Context {
|
||||||
|
return slices.Filter(gui.State.Contexts.Flatten(), func(context types.Context) bool {
|
||||||
|
return context.IsTransient()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// changeContext is a helper function for when we want to change a 'main' context
|
// changeContext is a helper function for when we want to change a 'main' context
|
||||||
// which currently just means a context that affects both the main and secondary views
|
// which currently just means a context that affects both the main and secondary views
|
||||||
// other views can have their context changed directly but this function helps
|
// other views can have their context changed directly but this function helps
|
||||||
|
|
|
@ -65,3 +65,13 @@ func (self *BranchesContext) GetSelectedRefName() string {
|
||||||
|
|
||||||
return item.RefName()
|
return item.RefName()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *BranchesContext) GetSelectedDescription() string {
|
||||||
|
item := self.GetSelected()
|
||||||
|
|
||||||
|
if item == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
return item.Description()
|
||||||
|
}
|
||||||
|
|
|
@ -1,18 +1,16 @@
|
||||||
package context
|
package context
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"github.com/jesseduffield/gocui"
|
"github.com/jesseduffield/gocui"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
||||||
"github.com/jesseduffield/lazygit/pkg/gui/filetree"
|
"github.com/jesseduffield/lazygit/pkg/gui/filetree"
|
||||||
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
||||||
"github.com/jesseduffield/lazygit/pkg/utils"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type CommitFilesContext struct {
|
type CommitFilesContext struct {
|
||||||
*filetree.CommitFileTreeViewModel
|
*filetree.CommitFileTreeViewModel
|
||||||
*ListContextTrait
|
*ListContextTrait
|
||||||
|
*DynamicTitleBuilder
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ types.IListContext = (*CommitFilesContext)(nil)
|
var _ types.IListContext = (*CommitFilesContext)(nil)
|
||||||
|
@ -32,6 +30,7 @@ func NewCommitFilesContext(
|
||||||
|
|
||||||
return &CommitFilesContext{
|
return &CommitFilesContext{
|
||||||
CommitFileTreeViewModel: viewModel,
|
CommitFileTreeViewModel: viewModel,
|
||||||
|
DynamicTitleBuilder: NewDynamicTitleBuilder(c.Tr.CommitFilesDynamicTitle),
|
||||||
ListContextTrait: &ListContextTrait{
|
ListContextTrait: &ListContextTrait{
|
||||||
Context: NewSimpleContext(
|
Context: NewSimpleContext(
|
||||||
NewBaseContext(NewBaseContextOpts{
|
NewBaseContext(NewBaseContextOpts{
|
||||||
|
@ -63,7 +62,3 @@ func (self *CommitFilesContext) GetSelectedItemId() string {
|
||||||
|
|
||||||
return item.ID()
|
return item.ID()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *CommitFilesContext) Title() string {
|
|
||||||
return fmt.Sprintf(self.c.Tr.CommitFilesDynamicTitle, utils.TruncateWithEllipsis(self.GetRefName(), 50))
|
|
||||||
}
|
|
||||||
|
|
|
@ -153,10 +153,7 @@ func (tree ContextTree) InitialViewTabContextMap() map[string][]TabContext {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Tab: "Remotes",
|
Tab: "Remotes",
|
||||||
Contexts: []types.Context{
|
Contexts: []types.Context{tree.Remotes},
|
||||||
tree.Remotes,
|
|
||||||
tree.RemoteBranches,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Tab: "Tags",
|
Tab: "Tags",
|
||||||
|
@ -170,9 +167,7 @@ func (tree ContextTree) InitialViewTabContextMap() map[string][]TabContext {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Tab: "Reflog",
|
Tab: "Reflog",
|
||||||
Contexts: []types.Context{
|
Contexts: []types.Context{tree.ReflogCommits},
|
||||||
tree.ReflogCommits,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"files": {
|
"files": {
|
||||||
|
@ -182,9 +177,7 @@ func (tree ContextTree) InitialViewTabContextMap() map[string][]TabContext {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Tab: "Submodules",
|
Tab: "Submodules",
|
||||||
Contexts: []types.Context{
|
Contexts: []types.Context{tree.Submodules},
|
||||||
tree.Submodules,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
23
pkg/gui/context/dynamic_title_builder.go
Normal file
23
pkg/gui/context/dynamic_title_builder.go
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
package context
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
type DynamicTitleBuilder struct {
|
||||||
|
formatStr string // e.g. 'remote branches for %s'
|
||||||
|
|
||||||
|
titleRef string // e.g. 'origin'
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewDynamicTitleBuilder(formatStr string) *DynamicTitleBuilder {
|
||||||
|
return &DynamicTitleBuilder{
|
||||||
|
formatStr: formatStr,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (self *DynamicTitleBuilder) SetTitleRef(titleRef string) {
|
||||||
|
self.titleRef = titleRef
|
||||||
|
}
|
||||||
|
|
||||||
|
func (self *DynamicTitleBuilder) Title() string {
|
||||||
|
return fmt.Sprintf(self.formatStr, self.titleRef)
|
||||||
|
}
|
|
@ -93,6 +93,16 @@ func (self *LocalCommitsContext) GetSelectedRefName() string {
|
||||||
return item.RefName()
|
return item.RefName()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *LocalCommitsViewModel) GetSelectedDescription() string {
|
||||||
|
item := self.GetSelected()
|
||||||
|
|
||||||
|
if item == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
return item.Description()
|
||||||
|
}
|
||||||
|
|
||||||
func (self *LocalCommitsViewModel) SetLimitCommits(value bool) {
|
func (self *LocalCommitsViewModel) SetLimitCommits(value bool) {
|
||||||
self.limitCommits = value
|
self.limitCommits = value
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,3 +74,13 @@ func (self *ReflogCommitsContext) GetSelectedRefName() string {
|
||||||
func (self *ReflogCommitsContext) GetCommits() []*models.Commit {
|
func (self *ReflogCommitsContext) GetCommits() []*models.Commit {
|
||||||
return self.getModel()
|
return self.getModel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *ReflogCommitsContext) GetSelectedDescription() string {
|
||||||
|
item := self.GetSelected()
|
||||||
|
|
||||||
|
if item == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
return item.Description()
|
||||||
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ import (
|
||||||
type RemoteBranchesContext struct {
|
type RemoteBranchesContext struct {
|
||||||
*BasicViewModel[*models.RemoteBranch]
|
*BasicViewModel[*models.RemoteBranch]
|
||||||
*ListContextTrait
|
*ListContextTrait
|
||||||
|
*DynamicTitleBuilder
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ types.IListContext = (*RemoteBranchesContext)(nil)
|
var _ types.IListContext = (*RemoteBranchesContext)(nil)
|
||||||
|
@ -28,13 +29,15 @@ func NewRemoteBranchesContext(
|
||||||
|
|
||||||
return &RemoteBranchesContext{
|
return &RemoteBranchesContext{
|
||||||
BasicViewModel: viewModel,
|
BasicViewModel: viewModel,
|
||||||
|
DynamicTitleBuilder: NewDynamicTitleBuilder(c.Tr.RemoteBranchesDynamicTitle),
|
||||||
ListContextTrait: &ListContextTrait{
|
ListContextTrait: &ListContextTrait{
|
||||||
Context: NewSimpleContext(NewBaseContext(NewBaseContextOpts{
|
Context: NewSimpleContext(NewBaseContext(NewBaseContextOpts{
|
||||||
ViewName: "branches",
|
ViewName: "remoteBranches",
|
||||||
WindowName: "branches",
|
WindowName: "branches",
|
||||||
Key: REMOTE_BRANCHES_CONTEXT_KEY,
|
Key: REMOTE_BRANCHES_CONTEXT_KEY,
|
||||||
Kind: types.SIDE_CONTEXT,
|
Kind: types.SIDE_CONTEXT,
|
||||||
Focusable: true,
|
Focusable: true,
|
||||||
|
Transient: true,
|
||||||
}), ContextCallbackOpts{
|
}), ContextCallbackOpts{
|
||||||
OnFocus: onFocus,
|
OnFocus: onFocus,
|
||||||
OnFocusLost: onFocusLost,
|
OnFocusLost: onFocusLost,
|
||||||
|
@ -65,3 +68,13 @@ func (self *RemoteBranchesContext) GetSelectedRefName() string {
|
||||||
|
|
||||||
return item.RefName()
|
return item.RefName()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *RemoteBranchesContext) GetSelectedDescription() string {
|
||||||
|
item := self.GetSelected()
|
||||||
|
|
||||||
|
if item == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
return item.Description()
|
||||||
|
}
|
||||||
|
|
|
@ -70,3 +70,13 @@ func (self *StashContext) GetSelectedRefName() string {
|
||||||
|
|
||||||
return item.RefName()
|
return item.RefName()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *StashContext) GetSelectedDescription() string {
|
||||||
|
item := self.GetSelected()
|
||||||
|
|
||||||
|
if item == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
return item.Description()
|
||||||
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ import (
|
||||||
type SubCommitsContext struct {
|
type SubCommitsContext struct {
|
||||||
*SubCommitsViewModel
|
*SubCommitsViewModel
|
||||||
*ViewportListContextTrait
|
*ViewportListContextTrait
|
||||||
|
*DynamicTitleBuilder
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ types.IListContext = (*SubCommitsContext)(nil)
|
var _ types.IListContext = (*SubCommitsContext)(nil)
|
||||||
|
@ -34,6 +35,7 @@ func NewSubCommitsContext(
|
||||||
|
|
||||||
return &SubCommitsContext{
|
return &SubCommitsContext{
|
||||||
SubCommitsViewModel: viewModel,
|
SubCommitsViewModel: viewModel,
|
||||||
|
DynamicTitleBuilder: NewDynamicTitleBuilder(c.Tr.SubCommitsDynamicTitle),
|
||||||
ViewportListContextTrait: &ViewportListContextTrait{
|
ViewportListContextTrait: &ViewportListContextTrait{
|
||||||
ListContextTrait: &ListContextTrait{
|
ListContextTrait: &ListContextTrait{
|
||||||
Context: NewSimpleContext(NewBaseContext(NewBaseContextOpts{
|
Context: NewSimpleContext(NewBaseContext(NewBaseContextOpts{
|
||||||
|
@ -99,3 +101,13 @@ func (self *SubCommitsContext) GetCommits() []*models.Commit {
|
||||||
func (self *SubCommitsContext) Title() string {
|
func (self *SubCommitsContext) Title() string {
|
||||||
return fmt.Sprintf(self.c.Tr.SubCommitsDynamicTitle, utils.TruncateWithEllipsis(self.refName, 50))
|
return fmt.Sprintf(self.c.Tr.SubCommitsDynamicTitle, utils.TruncateWithEllipsis(self.refName, 50))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *SubCommitsContext) GetSelectedDescription() string {
|
||||||
|
item := self.GetSelected()
|
||||||
|
|
||||||
|
if item == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
return item.Description()
|
||||||
|
}
|
||||||
|
|
|
@ -65,3 +65,13 @@ func (self *TagsContext) GetSelectedRefName() string {
|
||||||
|
|
||||||
return item.RefName()
|
return item.RefName()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *TagsContext) GetSelectedDescription() string {
|
||||||
|
item := self.GetSelected()
|
||||||
|
|
||||||
|
if item == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
return item.Description()
|
||||||
|
}
|
||||||
|
|
|
@ -497,9 +497,7 @@ func (self *LocalCommitsController) createFixupCommit(commit *models.Commit) err
|
||||||
func (self *LocalCommitsController) squashAllAboveFixupCommits(commit *models.Commit) error {
|
func (self *LocalCommitsController) squashAllAboveFixupCommits(commit *models.Commit) error {
|
||||||
prompt := utils.ResolvePlaceholderString(
|
prompt := utils.ResolvePlaceholderString(
|
||||||
self.c.Tr.SureSquashAboveCommits,
|
self.c.Tr.SureSquashAboveCommits,
|
||||||
map[string]string{
|
map[string]string{"commit": commit.Sha},
|
||||||
"commit": commit.Sha,
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
|
|
||||||
return self.c.Ask(types.AskOpts{
|
return self.c.Ask(types.AskOpts{
|
||||||
|
@ -561,7 +559,9 @@ func (self *LocalCommitsController) handleOpenLogMenu() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
return self.c.WithWaitingStatus(self.c.Tr.LcLoadingCommits, func() error {
|
return self.c.WithWaitingStatus(self.c.Tr.LcLoadingCommits, func() error {
|
||||||
return self.c.Refresh(types.RefreshOptions{Mode: types.SYNC, Scope: []types.RefreshableView{types.COMMITS}})
|
return self.c.Refresh(
|
||||||
|
types.RefreshOptions{Mode: types.SYNC, Scope: []types.RefreshableView{types.COMMITS}},
|
||||||
|
)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -602,7 +602,12 @@ func (self *LocalCommitsController) handleOpenLogMenu() error {
|
||||||
return func() error {
|
return func() error {
|
||||||
self.c.UserConfig.Git.Log.Order = value
|
self.c.UserConfig.Git.Log.Order = value
|
||||||
return self.c.WithWaitingStatus(self.c.Tr.LcLoadingCommits, func() error {
|
return self.c.WithWaitingStatus(self.c.Tr.LcLoadingCommits, func() error {
|
||||||
return self.c.Refresh(types.RefreshOptions{Mode: types.SYNC, Scope: []types.RefreshableView{types.COMMITS}})
|
return self.c.Refresh(
|
||||||
|
types.RefreshOptions{
|
||||||
|
Mode: types.SYNC,
|
||||||
|
Scope: []types.RefreshableView{types.COMMITS},
|
||||||
|
},
|
||||||
|
)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,6 +73,11 @@ func (self *RemotesController) enter(remote *models.Remote) error {
|
||||||
newSelectedLine = -1
|
newSelectedLine = -1
|
||||||
}
|
}
|
||||||
self.contexts.RemoteBranches.SetSelectedLineIdx(newSelectedLine)
|
self.contexts.RemoteBranches.SetSelectedLineIdx(newSelectedLine)
|
||||||
|
self.contexts.RemoteBranches.SetTitleRef(remote.Name)
|
||||||
|
|
||||||
|
if err := self.c.PostRefreshUpdate(self.contexts.RemoteBranches); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
return self.c.PushContext(self.contexts.RemoteBranches)
|
return self.c.PushContext(self.contexts.RemoteBranches)
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ type CanSwitchToDiffFiles interface {
|
||||||
types.Context
|
types.Context
|
||||||
CanRebase() bool
|
CanRebase() bool
|
||||||
GetSelectedRefName() string
|
GetSelectedRefName() string
|
||||||
|
GetSelectedDescription() string
|
||||||
}
|
}
|
||||||
|
|
||||||
type SwitchToDiffFilesController struct {
|
type SwitchToDiffFilesController struct {
|
||||||
|
@ -64,6 +65,7 @@ func (self *SwitchToDiffFilesController) checkSelected(callback func(string) err
|
||||||
func (self *SwitchToDiffFilesController) enter(refName string) error {
|
func (self *SwitchToDiffFilesController) enter(refName string) error {
|
||||||
return self.viewFiles(SwitchToCommitFilesContextOpts{
|
return self.viewFiles(SwitchToCommitFilesContextOpts{
|
||||||
RefName: refName,
|
RefName: refName,
|
||||||
|
RefDescription: self.context.GetSelectedDescription(),
|
||||||
CanRebase: self.context.CanRebase(),
|
CanRebase: self.context.CanRebase(),
|
||||||
Context: self.context,
|
Context: self.context,
|
||||||
})
|
})
|
||||||
|
|
|
@ -11,6 +11,7 @@ var _ types.IController = &SwitchToSubCommitsController{}
|
||||||
type CanSwitchToSubCommits interface {
|
type CanSwitchToSubCommits interface {
|
||||||
types.Context
|
types.Context
|
||||||
GetSelectedRefName() string
|
GetSelectedRefName() string
|
||||||
|
GetSelectedDescription() string
|
||||||
}
|
}
|
||||||
|
|
||||||
type SwitchToSubCommitsController struct {
|
type SwitchToSubCommitsController struct {
|
||||||
|
@ -74,6 +75,7 @@ func (self *SwitchToSubCommitsController) viewCommits() error {
|
||||||
self.contexts.SubCommits.SetSelectedLineIdx(0)
|
self.contexts.SubCommits.SetSelectedLineIdx(0)
|
||||||
self.contexts.SubCommits.SetParentContext(self.context)
|
self.contexts.SubCommits.SetParentContext(self.context)
|
||||||
self.contexts.SubCommits.SetWindowName(self.context.GetWindowName())
|
self.contexts.SubCommits.SetWindowName(self.context.GetWindowName())
|
||||||
|
self.contexts.SubCommits.SetTitleRef(self.context.GetSelectedDescription())
|
||||||
self.contexts.SubCommits.SetRefName(refName)
|
self.contexts.SubCommits.SetRefName(refName)
|
||||||
|
|
||||||
err = self.c.PostRefreshUpdate(self.contexts.SubCommits)
|
err = self.c.PostRefreshUpdate(self.contexts.SubCommits)
|
||||||
|
|
|
@ -6,7 +6,17 @@ import (
|
||||||
|
|
||||||
// all fields mandatory (except `CanRebase` because it's boolean)
|
// all fields mandatory (except `CanRebase` because it's boolean)
|
||||||
type SwitchToCommitFilesContextOpts struct {
|
type SwitchToCommitFilesContextOpts struct {
|
||||||
|
// this is something like a commit sha or branch name
|
||||||
RefName string
|
RefName string
|
||||||
|
|
||||||
|
// this will be displayed in the title of the view so we know whose diff files
|
||||||
|
// we're viewing
|
||||||
|
RefDescription string
|
||||||
|
|
||||||
|
// from the local commits view we're allowed to do rebase stuff with any patch
|
||||||
|
// we generate from the diff files context, but we don't have that same ability
|
||||||
|
// with say the sub commits context or the reflog context.
|
||||||
CanRebase bool
|
CanRebase bool
|
||||||
|
|
||||||
Context types.Context
|
Context types.Context
|
||||||
}
|
}
|
||||||
|
|
|
@ -243,6 +243,7 @@ type Views struct {
|
||||||
Status *gocui.View
|
Status *gocui.View
|
||||||
Files *gocui.View
|
Files *gocui.View
|
||||||
Branches *gocui.View
|
Branches *gocui.View
|
||||||
|
RemoteBranches *gocui.View
|
||||||
Commits *gocui.View
|
Commits *gocui.View
|
||||||
Stash *gocui.View
|
Stash *gocui.View
|
||||||
Main *gocui.View
|
Main *gocui.View
|
||||||
|
@ -409,6 +410,7 @@ func initialViewContextMapping(contextTree *context.ContextTree) map[string]type
|
||||||
"status": contextTree.Status,
|
"status": contextTree.Status,
|
||||||
"files": contextTree.Files,
|
"files": contextTree.Files,
|
||||||
"branches": contextTree.Branches,
|
"branches": contextTree.Branches,
|
||||||
|
"remoteBranches": contextTree.RemoteBranches,
|
||||||
"commits": contextTree.LocalCommits,
|
"commits": contextTree.LocalCommits,
|
||||||
"commitFiles": contextTree.CommitFiles,
|
"commitFiles": contextTree.CommitFiles,
|
||||||
"subCommits": contextTree.SubCommits,
|
"subCommits": contextTree.SubCommits,
|
||||||
|
@ -600,6 +602,7 @@ func (gui *Gui) createAllViews() error {
|
||||||
{viewPtr: &gui.Views.Status, name: "status"},
|
{viewPtr: &gui.Views.Status, name: "status"},
|
||||||
{viewPtr: &gui.Views.Files, name: "files"},
|
{viewPtr: &gui.Views.Files, name: "files"},
|
||||||
{viewPtr: &gui.Views.Branches, name: "branches"},
|
{viewPtr: &gui.Views.Branches, name: "branches"},
|
||||||
|
{viewPtr: &gui.Views.RemoteBranches, name: "remoteBranches"},
|
||||||
{viewPtr: &gui.Views.Commits, name: "commits"},
|
{viewPtr: &gui.Views.Commits, name: "commits"},
|
||||||
{viewPtr: &gui.Views.Stash, name: "stash"},
|
{viewPtr: &gui.Views.Stash, name: "stash"},
|
||||||
{viewPtr: &gui.Views.CommitFiles, name: "commitFiles"},
|
{viewPtr: &gui.Views.CommitFiles, name: "commitFiles"},
|
||||||
|
@ -649,6 +652,8 @@ func (gui *Gui) createAllViews() error {
|
||||||
gui.Views.Branches.Title = gui.c.Tr.BranchesTitle
|
gui.Views.Branches.Title = gui.c.Tr.BranchesTitle
|
||||||
gui.Views.Branches.FgColor = theme.GocuiDefaultTextColor
|
gui.Views.Branches.FgColor = theme.GocuiDefaultTextColor
|
||||||
|
|
||||||
|
gui.Views.RemoteBranches.FgColor = theme.GocuiDefaultTextColor
|
||||||
|
|
||||||
gui.Views.Files.Highlight = true
|
gui.Views.Files.Highlight = true
|
||||||
gui.Views.Files.Title = gui.c.Tr.FilesTitle
|
gui.Views.Files.Title = gui.c.Tr.FilesTitle
|
||||||
gui.Views.Files.FgColor = theme.GocuiDefaultTextColor
|
gui.Views.Files.FgColor = theme.GocuiDefaultTextColor
|
||||||
|
|
|
@ -999,7 +999,7 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
|
||||||
mouseKeybindings = append(mouseKeybindings, c.GetMouseKeybindings(opts)...)
|
mouseKeybindings = append(mouseKeybindings, c.GetMouseKeybindings(opts)...)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, viewName := range []string{"status", "branches", "files", "commits", "commitFiles", "subCommits", "stash", "menu"} {
|
for _, viewName := range []string{"status", "branches", "remoteBranches", "files", "commits", "commitFiles", "subCommits", "stash", "menu"} {
|
||||||
bindings = append(bindings, []*types.Binding{
|
bindings = append(bindings, []*types.Binding{
|
||||||
{ViewName: viewName, Key: opts.GetKey(opts.Config.Universal.PrevBlock), Modifier: gocui.ModNone, Handler: self.previousSideWindow},
|
{ViewName: viewName, Key: opts.GetKey(opts.Config.Universal.PrevBlock), Modifier: gocui.ModNone, Handler: self.previousSideWindow},
|
||||||
{ViewName: viewName, Key: opts.GetKey(opts.Config.Universal.NextBlock), Modifier: gocui.ModNone, Handler: self.nextSideWindow},
|
{ViewName: viewName, Key: opts.GetKey(opts.Config.Universal.NextBlock), Modifier: gocui.ModNone, Handler: self.nextSideWindow},
|
||||||
|
|
|
@ -2,7 +2,6 @@ package gui
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jesseduffield/gocui"
|
"github.com/jesseduffield/gocui"
|
||||||
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
|
||||||
"github.com/jesseduffield/lazygit/pkg/theme"
|
"github.com/jesseduffield/lazygit/pkg/theme"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -96,6 +95,7 @@ func (gui *Gui) layout(g *gocui.Gui) error {
|
||||||
{viewName: "status", windowName: "status", frame: true},
|
{viewName: "status", windowName: "status", frame: true},
|
||||||
{viewName: "files", windowName: "files", frame: true},
|
{viewName: "files", windowName: "files", frame: true},
|
||||||
{viewName: "branches", windowName: "branches", frame: true},
|
{viewName: "branches", windowName: "branches", frame: true},
|
||||||
|
{viewName: "remoteBranches", windowName: "branches", frame: true},
|
||||||
{viewName: "commitFiles", windowName: gui.State.Contexts.CommitFiles.GetWindowName(), frame: true},
|
{viewName: "commitFiles", windowName: gui.State.Contexts.CommitFiles.GetWindowName(), frame: true},
|
||||||
{viewName: "subCommits", windowName: gui.State.Contexts.SubCommits.GetWindowName(), frame: true},
|
{viewName: "subCommits", windowName: gui.State.Contexts.SubCommits.GetWindowName(), frame: true},
|
||||||
{viewName: "commits", windowName: "commits", frame: true},
|
{viewName: "commits", windowName: "commits", frame: true},
|
||||||
|
@ -115,7 +115,7 @@ func (gui *Gui) layout(g *gocui.Gui) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, context := range []types.Context{gui.State.Contexts.SubCommits, gui.State.Contexts.CommitFiles} {
|
for _, context := range gui.TransientContexts() {
|
||||||
view, err := gui.g.View(context.GetViewName())
|
view, err := gui.g.View(context.GetViewName())
|
||||||
if err != nil && err.Error() != UNKNOWN_VIEW_ERROR_MSG {
|
if err != nil && err.Error() != UNKNOWN_VIEW_ERROR_MSG {
|
||||||
return err
|
return err
|
||||||
|
@ -211,6 +211,7 @@ func (gui *Gui) onInitialViewsCreation() error {
|
||||||
gui.Views.Status,
|
gui.Views.Status,
|
||||||
gui.Views.Files,
|
gui.Views.Files,
|
||||||
gui.Views.Branches,
|
gui.Views.Branches,
|
||||||
|
gui.Views.RemoteBranches,
|
||||||
gui.Views.Commits,
|
gui.Views.Commits,
|
||||||
gui.Views.Stash,
|
gui.Views.Stash,
|
||||||
gui.Views.SubCommits,
|
gui.Views.SubCommits,
|
||||||
|
|
|
@ -71,7 +71,7 @@ func (gui *Gui) remotesListContext() *context.RemotesContext {
|
||||||
func (gui *Gui) remoteBranchesListContext() *context.RemoteBranchesContext {
|
func (gui *Gui) remoteBranchesListContext() *context.RemoteBranchesContext {
|
||||||
return context.NewRemoteBranchesContext(
|
return context.NewRemoteBranchesContext(
|
||||||
func() []*models.RemoteBranch { return gui.State.Model.RemoteBranches },
|
func() []*models.RemoteBranch { return gui.State.Model.RemoteBranches },
|
||||||
gui.Views.Branches,
|
gui.Views.RemoteBranches,
|
||||||
func(startIdx int, length int) [][]string {
|
func(startIdx int, length int) [][]string {
|
||||||
return presentation.GetRemoteBranchListDisplayStrings(gui.State.Model.RemoteBranches, gui.State.Modes.Diffing.Ref)
|
return presentation.GetRemoteBranchListDisplayStrings(gui.State.Model.RemoteBranches, gui.State.Modes.Diffing.Ref)
|
||||||
},
|
},
|
||||||
|
|
|
@ -187,6 +187,7 @@ func (gui *Gui) refreshCommits() {
|
||||||
commit := gui.getSelectedLocalCommit()
|
commit := gui.getSelectedLocalCommit()
|
||||||
if commit != nil {
|
if commit != nil {
|
||||||
gui.State.Contexts.CommitFiles.SetRefName(commit.RefName())
|
gui.State.Contexts.CommitFiles.SetRefName(commit.RefName())
|
||||||
|
gui.State.Contexts.CommitFiles.SetTitleRef(commit.RefName())
|
||||||
_ = gui.refreshCommitFilesContext()
|
_ = gui.refreshCommitFilesContext()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -490,6 +491,7 @@ func (gui *Gui) refreshRemotes() error {
|
||||||
for _, remote := range remotes {
|
for _, remote := range remotes {
|
||||||
if remote.Name == prevSelectedRemote.Name {
|
if remote.Name == prevSelectedRemote.Name {
|
||||||
gui.State.Model.RemoteBranches = remote.Branches
|
gui.State.Model.RemoteBranches = remote.Branches
|
||||||
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -196,7 +196,7 @@ func chineseTranslationSet() TranslationSet {
|
||||||
TagsTitle: "标签页面",
|
TagsTitle: "标签页面",
|
||||||
MenuTitle: "菜单",
|
MenuTitle: "菜单",
|
||||||
RemotesTitle: "远程页面",
|
RemotesTitle: "远程页面",
|
||||||
RemoteBranchesTitle: "远程分支(在远程页面中)",
|
RemoteBranchesTitle: "远程分支",
|
||||||
PatchBuildingTitle: "构建补丁中",
|
PatchBuildingTitle: "构建补丁中",
|
||||||
InformationTitle: "信息",
|
InformationTitle: "信息",
|
||||||
SecondaryTitle: "次要",
|
SecondaryTitle: "次要",
|
||||||
|
|
|
@ -156,16 +156,16 @@ func dutchTranslationSet() TranslationSet {
|
||||||
MergeOptionsTitle: "Merge Opties",
|
MergeOptionsTitle: "Merge Opties",
|
||||||
RebaseOptionsTitle: "Rebase Opties",
|
RebaseOptionsTitle: "Rebase Opties",
|
||||||
CommitMessageTitle: "Commit Bericht",
|
CommitMessageTitle: "Commit Bericht",
|
||||||
LocalBranchesTitle: "Branches Tabblad",
|
LocalBranchesTitle: "Branches",
|
||||||
SearchTitle: "Zoek",
|
SearchTitle: "Zoek",
|
||||||
TagsTitle: "Tags Tabblad",
|
TagsTitle: "Tags",
|
||||||
MenuTitle: "Menu",
|
MenuTitle: "Menu",
|
||||||
RemotesTitle: "Remotes Tabblad",
|
RemotesTitle: "Remotes",
|
||||||
RemoteBranchesTitle: "Remote Branches (in Remotes tabblad)",
|
RemoteBranchesTitle: "Remote Branches",
|
||||||
PatchBuildingTitle: "Patch Bouwen",
|
PatchBuildingTitle: "Patch Bouwen",
|
||||||
InformationTitle: "Informatie",
|
InformationTitle: "Informatie",
|
||||||
SecondaryTitle: "Secondary",
|
SecondaryTitle: "Secondary",
|
||||||
ReflogCommitsTitle: "Reflog Tabblad",
|
ReflogCommitsTitle: "Reflog",
|
||||||
GlobalTitle: "Globale Sneltoetsen",
|
GlobalTitle: "Globale Sneltoetsen",
|
||||||
ConflictsResolved: "alle merge conflicten zijn opgelost. Wilt je verder gaan?",
|
ConflictsResolved: "alle merge conflicten zijn opgelost. Wilt je verder gaan?",
|
||||||
RebasingTitle: "Rebasen",
|
RebasingTitle: "Rebasen",
|
||||||
|
|
|
@ -232,6 +232,7 @@ type TranslationSet struct {
|
||||||
CommitFiles string
|
CommitFiles string
|
||||||
SubCommitsDynamicTitle string
|
SubCommitsDynamicTitle string
|
||||||
CommitFilesDynamicTitle string
|
CommitFilesDynamicTitle string
|
||||||
|
RemoteBranchesDynamicTitle string
|
||||||
LcViewItemFiles string
|
LcViewItemFiles string
|
||||||
CommitFilesTitle string
|
CommitFilesTitle string
|
||||||
LcCheckoutCommitFile string
|
LcCheckoutCommitFile string
|
||||||
|
@ -611,9 +612,9 @@ func EnglishTranslationSet() TranslationSet {
|
||||||
UnstagedChanges: `Unstaged Changes`,
|
UnstagedChanges: `Unstaged Changes`,
|
||||||
StagedChanges: `Staged Changes`,
|
StagedChanges: `Staged Changes`,
|
||||||
MainTitle: "Main",
|
MainTitle: "Main",
|
||||||
StagingTitle: "Staging",
|
StagingTitle: "Main Panel (Staging)",
|
||||||
MergingTitle: "Merging",
|
MergingTitle: "Main Panel (Merging)",
|
||||||
NormalTitle: "Normal",
|
NormalTitle: "Main Panel (Normal)",
|
||||||
CommitMessage: "Commit message",
|
CommitMessage: "Commit message",
|
||||||
CredentialsUsername: "Username",
|
CredentialsUsername: "Username",
|
||||||
CredentialsPassword: "Password",
|
CredentialsPassword: "Password",
|
||||||
|
@ -762,16 +763,16 @@ func EnglishTranslationSet() TranslationSet {
|
||||||
MergeOptionsTitle: "Merge Options",
|
MergeOptionsTitle: "Merge Options",
|
||||||
RebaseOptionsTitle: "Rebase Options",
|
RebaseOptionsTitle: "Rebase Options",
|
||||||
CommitMessageTitle: "Commit Message",
|
CommitMessageTitle: "Commit Message",
|
||||||
LocalBranchesTitle: "Branches Tab",
|
LocalBranchesTitle: "Branches",
|
||||||
SearchTitle: "Search",
|
SearchTitle: "Search",
|
||||||
TagsTitle: "Tags Tab",
|
TagsTitle: "Tags",
|
||||||
MenuTitle: "Menu",
|
MenuTitle: "Menu",
|
||||||
RemotesTitle: "Remotes Tab",
|
RemotesTitle: "Remotes",
|
||||||
RemoteBranchesTitle: "Remote Branches (in Remotes tab)",
|
RemoteBranchesTitle: "Remote Branches",
|
||||||
PatchBuildingTitle: "Patch Building",
|
PatchBuildingTitle: "Main Panel (Patch Building)",
|
||||||
InformationTitle: "Information",
|
InformationTitle: "Information",
|
||||||
SecondaryTitle: "Secondary",
|
SecondaryTitle: "Secondary",
|
||||||
ReflogCommitsTitle: "Reflog Tab",
|
ReflogCommitsTitle: "Reflog",
|
||||||
GlobalTitle: "Global Keybindings",
|
GlobalTitle: "Global Keybindings",
|
||||||
ConflictsResolved: "all merge conflicts resolved. Continue?",
|
ConflictsResolved: "all merge conflicts resolved. Continue?",
|
||||||
RebasingTitle: "Rebasing",
|
RebasingTitle: "Rebasing",
|
||||||
|
@ -821,8 +822,9 @@ func EnglishTranslationSet() TranslationSet {
|
||||||
CheckingOutStatus: "checking out",
|
CheckingOutStatus: "checking out",
|
||||||
CommittingStatus: "committing",
|
CommittingStatus: "committing",
|
||||||
CommitFiles: "Commit files",
|
CommitFiles: "Commit files",
|
||||||
SubCommitsDynamicTitle: "Commits for %s",
|
SubCommitsDynamicTitle: "Commits (%s)",
|
||||||
CommitFilesDynamicTitle: "Diff files for %s",
|
CommitFilesDynamicTitle: "Diff files (%s)",
|
||||||
|
RemoteBranchesDynamicTitle: "Remote branches (%s)",
|
||||||
LcViewItemFiles: "view selected item's files",
|
LcViewItemFiles: "view selected item's files",
|
||||||
CommitFilesTitle: "Commit Files",
|
CommitFilesTitle: "Commit Files",
|
||||||
LcCheckoutCommitFile: "checkout file",
|
LcCheckoutCommitFile: "checkout file",
|
||||||
|
@ -1010,7 +1012,7 @@ func EnglishTranslationSet() TranslationSet {
|
||||||
NavigationTitle: "List Panel Navigation",
|
NavigationTitle: "List Panel Navigation",
|
||||||
SuggestionsCheatsheetTitle: "Suggestions",
|
SuggestionsCheatsheetTitle: "Suggestions",
|
||||||
SuggestionsTitle: "Suggestions (press %s to focus)",
|
SuggestionsTitle: "Suggestions (press %s to focus)",
|
||||||
ExtrasTitle: "Extras",
|
ExtrasTitle: "Command Log",
|
||||||
PushingTagStatus: "pushing tag",
|
PushingTagStatus: "pushing tag",
|
||||||
PullRequestURLCopiedToClipboard: "Pull request URL copied to clipboard",
|
PullRequestURLCopiedToClipboard: "Pull request URL copied to clipboard",
|
||||||
CommitDiffCopiedToClipboard: "Commit diff copied to clipboard",
|
CommitDiffCopiedToClipboard: "Commit diff copied to clipboard",
|
||||||
|
|
|
@ -1 +1,125 @@
|
||||||
{"KeyEvents":[{"Timestamp":608,"Mod":0,"Key":259,"Ch":0},{"Timestamp":768,"Mod":0,"Key":259,"Ch":0},{"Timestamp":1376,"Mod":0,"Key":256,"Ch":93},{"Timestamp":1817,"Mod":0,"Key":258,"Ch":0},{"Timestamp":2560,"Mod":0,"Key":13,"Ch":13},{"Timestamp":3271,"Mod":0,"Key":256,"Ch":32},{"Timestamp":3936,"Mod":2,"Key":16,"Ch":16},{"Timestamp":4680,"Mod":0,"Key":258,"Ch":0},{"Timestamp":4945,"Mod":0,"Key":258,"Ch":0},{"Timestamp":5216,"Mod":0,"Key":13,"Ch":13},{"Timestamp":5712,"Mod":0,"Key":260,"Ch":0},{"Timestamp":5952,"Mod":0,"Key":260,"Ch":0},{"Timestamp":6191,"Mod":0,"Key":256,"Ch":99},{"Timestamp":6456,"Mod":0,"Key":256,"Ch":97},{"Timestamp":6536,"Mod":0,"Key":256,"Ch":115},{"Timestamp":6647,"Mod":0,"Key":256,"Ch":100},{"Timestamp":6968,"Mod":0,"Key":13,"Ch":13},{"Timestamp":7376,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":272,"Height":74}]}
|
{
|
||||||
|
"KeyEvents": [
|
||||||
|
{
|
||||||
|
"Timestamp": 608,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 259,
|
||||||
|
"Ch": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 768,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 259,
|
||||||
|
"Ch": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 1376,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 256,
|
||||||
|
"Ch": 93
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 1817,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 258,
|
||||||
|
"Ch": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 2560,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 13,
|
||||||
|
"Ch": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 2860,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 13,
|
||||||
|
"Ch": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 3271,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 256,
|
||||||
|
"Ch": 32
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 3936,
|
||||||
|
"Mod": 2,
|
||||||
|
"Key": 16,
|
||||||
|
"Ch": 16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 4680,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 258,
|
||||||
|
"Ch": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 4945,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 258,
|
||||||
|
"Ch": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 5216,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 13,
|
||||||
|
"Ch": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 5712,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 260,
|
||||||
|
"Ch": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 5952,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 260,
|
||||||
|
"Ch": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 6191,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 256,
|
||||||
|
"Ch": 99
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 6456,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 256,
|
||||||
|
"Ch": 97
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 6536,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 256,
|
||||||
|
"Ch": 115
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 6647,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 256,
|
||||||
|
"Ch": 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 6968,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 13,
|
||||||
|
"Ch": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Timestamp": 7376,
|
||||||
|
"Mod": 0,
|
||||||
|
"Key": 256,
|
||||||
|
"Ch": 113
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"ResizeEvents": [
|
||||||
|
{
|
||||||
|
"Timestamp": 0,
|
||||||
|
"Width": 272,
|
||||||
|
"Height": 74
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue