mirror of
				https://github.com/jesseduffield/lazygit.git
				synced 2025-10-30 23:57:43 +02:00 
			
		
		
		
	show namesake for child views
This commit is contained in:
		| @@ -41,7 +41,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct | ||||
|   <kbd>[</kbd>: previous tab | ||||
| </pre> | ||||
|  | ||||
| ## Branches Panel (Branches Tab) | ||||
| ## Branches | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Branches Panel (Remote Branches (in Remotes tab)) | ||||
|  | ||||
| <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) | ||||
| ## Commit Files | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Commits Panel (Commits) | ||||
| ## Commits | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Commits Panel (Reflog Tab) | ||||
|  | ||||
| <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) | ||||
| ## Files | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </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) | ||||
|  | ||||
| <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 | ||||
| </pre> | ||||
|  | ||||
| ## Menu Panel | ||||
| ## Reflog | ||||
|  | ||||
| <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> | ||||
|  | ||||
| ## 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> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Status Panel (Status) | ||||
| ## Status | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Sub-commits Panel (Sub-commits) | ||||
| ## Sub-commits | ||||
|  | ||||
| <pre> | ||||
|   <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>enter</kbd>: view selected item's files | ||||
| </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 | ||||
| </pre> | ||||
|  | ||||
| ## Bestanden Paneel (Bestanden) | ||||
| ## Bestanden | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Bestanden Paneel (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> | ||||
|  | ||||
| ## Branches Paneel (Branches Tabblad) | ||||
| ## Branches | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Branches Paneel (Remote Branches (in Remotes tabblad)) | ||||
|  | ||||
| <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) | ||||
| ## Commit bestanden | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Commits Paneel (Commits) | ||||
| ## Commits | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Commits Paneel (Reflog Tabblad) | ||||
|  | ||||
| <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) | ||||
| ## Mergen | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Hoofd Paneel (Normaal) | ||||
| ## Normaal | ||||
|  | ||||
| <pre> | ||||
|   <kbd>mouse wheel down</kbd>: scroll omlaag (fn+up) | ||||
|   <kbd>mouse wheel up</kbd>: scroll omhoog (fn+down) | ||||
| </pre> | ||||
|  | ||||
| ## Hoofd Paneel (Patch Bouwen) | ||||
| ## Patch Bouwen | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </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> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Menu Paneel | ||||
|  | ||||
| <pre> | ||||
|   <kbd>esc</kbd>: sluit menu | ||||
| </pre> | ||||
|  | ||||
| ## Stash Paneel (Stash) | ||||
| ## Stash | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Status Paneel (Status) | ||||
| ## Status | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Sub-commits Paneel (Sub-commits) | ||||
| ## Sub-commits | ||||
|  | ||||
| <pre> | ||||
|   <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>enter</kbd>: bekijk gecommite bestanden | ||||
| </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 | ||||
| </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> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Commity Panel (Reflog Tab) | ||||
|  | ||||
| <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) | ||||
| ## Main Panel (Patch Building) | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Główne Panel (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> | ||||
|  | ||||
| ## 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) | ||||
| ## Pliki | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Pliki 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> | ||||
|  | ||||
| ## Pliki commita Panel (Pliki commita) | ||||
| ## Pliki commita | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </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> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Status Panel (Status) | ||||
| ## Status | ||||
|  | ||||
| <pre> | ||||
|   <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 | ||||
| </pre> | ||||
|  | ||||
| ## Sub-commits Panel (Sub-commits) | ||||
| ## Sub-commits | ||||
|  | ||||
| <pre> | ||||
|   <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>enter</kbd>: przeglądaj pliki commita | ||||
| </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>: 上一个标签 | ||||
| </pre> | ||||
|  | ||||
| ## 主要 面板 (构建补丁中) | ||||
| ## Reflog 页面 | ||||
|  | ||||
| <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>: 切换选择区块 | ||||
|   <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> | ||||
|   <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> | ||||
|   <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>: 查看提交 | ||||
| </pre> | ||||
|  | ||||
| ## 分支 面板 (子提交) | ||||
| ## 子提交 | ||||
|  | ||||
| <pre> | ||||
|   <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>: 查看提交的文件 | ||||
| </pre> | ||||
|  | ||||
| ## 分支 面板 (标签页面) | ||||
| ## 子模块 | ||||
|  | ||||
| <pre> | ||||
|   <kbd>space</kbd>: 检出 | ||||
|   <kbd>d</kbd>: 删除标签 | ||||
|   <kbd>P</kbd>: 推送标签 | ||||
|   <kbd>n</kbd>: 创建标签 | ||||
|   <kbd>g</kbd>: 查看重置选项 | ||||
|   <kbd>enter</kbd>: 查看提交 | ||||
|   <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> | ||||
|   <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> | ||||
|   <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>: 查看提交的文件 | ||||
| </pre> | ||||
|  | ||||
| ## 提交文件 面板 (提交文件) | ||||
| ## 提交文件 | ||||
|  | ||||
| <pre> | ||||
|   <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>: 切换文件树视图 | ||||
| </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> | ||||
|   <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>: 抓取 | ||||
| </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> | ||||
|   <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>: 显示所有分支的日志 | ||||
| </pre> | ||||
|  | ||||
| ## 菜单 面板 | ||||
|  | ||||
| <pre> | ||||
|   <kbd>esc</kbd>: 关闭菜单 | ||||
| </pre> | ||||
|  | ||||
| ## 贮藏 面板 (贮藏) | ||||
| ## 贮藏 | ||||
|  | ||||
| <pre> | ||||
|   <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>: 查看提交的文件 | ||||
| </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> | ||||
|   | ||||
| @@ -131,16 +131,19 @@ func getBindingSections(bindings []*types.Binding, tr *i18n.TranslationSet) []*b | ||||
| 		return getHeaders(binding, tr) | ||||
| 	}) | ||||
|  | ||||
| 	bindingGroups := maps.MapToSlice(bindingsByHeader, func(header header, hBindings []*types.Binding) headerWithBindings { | ||||
| 		uniqBindings := lo.UniqBy(hBindings, func(binding *types.Binding) string { | ||||
| 			return binding.Description + gui.GetKeyDisplay(binding.Key) | ||||
| 		}) | ||||
| 	bindingGroups := maps.MapToSlice( | ||||
| 		bindingsByHeader, | ||||
| 		func(header header, hBindings []*types.Binding) headerWithBindings { | ||||
| 			uniqBindings := lo.UniqBy(hBindings, func(binding *types.Binding) string { | ||||
| 				return binding.Description + gui.GetKeyDisplay(binding.Key) | ||||
| 			}) | ||||
|  | ||||
| 		return headerWithBindings{ | ||||
| 			header:   header, | ||||
| 			bindings: uniqBindings, | ||||
| 		} | ||||
| 	}) | ||||
| 			return headerWithBindings{ | ||||
| 				header:   header, | ||||
| 				bindings: uniqBindings, | ||||
| 			} | ||||
| 		}, | ||||
| 	) | ||||
|  | ||||
| 	slices.SortFunc(bindingGroups, func(a, b headerWithBindings) bool { | ||||
| 		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 { | ||||
| 		translatedView := localisedTitle(tr, binding.ViewName) | ||||
| 		title := fmt.Sprintf("%s %s", translatedView, tr.Panel) | ||||
|  | ||||
| 		return []header{{priority: 1, title: title}} | ||||
| 		return []header{} | ||||
| 	} | ||||
|  | ||||
| 	return slices.Map(binding.Contexts, func(context string) header { | ||||
| 		translatedView := localisedTitle(tr, binding.ViewName) | ||||
| 		translatedContextName := localisedTitle(tr, context) | ||||
| 		title := fmt.Sprintf("%s %s (%s)", translatedView, tr.Panel, translatedContextName) | ||||
|  | ||||
| 		return header{priority: 1, title: title} | ||||
| 		return header{priority: 1, title: localisedTitle(tr, context)} | ||||
| 	}) | ||||
| } | ||||
|  | ||||
| @@ -205,7 +201,12 @@ func formatTitle(title string) string { | ||||
|  | ||||
| func formatBinding(binding *types.Binding) string { | ||||
| 	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) | ||||
| } | ||||
|   | ||||
| @@ -26,43 +26,23 @@ func TestGetBindingSections(t *testing.T) { | ||||
| 			bindings: []*types.Binding{ | ||||
| 				{ | ||||
| 					ViewName:    "files", | ||||
| 					Contexts:    []string{"files"}, | ||||
| 					Description: "stage file", | ||||
| 				}, | ||||
| 			}, | ||||
| 			expected: []*bindingSection{ | ||||
| 				{ | ||||
| 					title: "Files Panel", | ||||
| 					title: "Files", | ||||
| 					bindings: []*types.Binding{ | ||||
| 						{ | ||||
| 							ViewName:    "files", | ||||
| 							Contexts:    []string{"files"}, | ||||
| 							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", | ||||
| 			bindings: []*types.Binding{ | ||||
| @@ -101,23 +81,10 @@ func TestGetBindingSections(t *testing.T) { | ||||
| 					Description: "drop submodule", | ||||
| 					Contexts:    []string{"submodules"}, | ||||
| 				}, | ||||
| 				{ | ||||
| 					ViewName:    "commits", | ||||
| 					Description: "revert commit", | ||||
| 				}, | ||||
| 			}, | ||||
| 			expected: []*bindingSection{ | ||||
| 				{ | ||||
| 					title: "Commits Panel", | ||||
| 					bindings: []*types.Binding{ | ||||
| 						{ | ||||
| 							ViewName:    "commits", | ||||
| 							Description: "revert commit", | ||||
| 						}, | ||||
| 					}, | ||||
| 				}, | ||||
| 				{ | ||||
| 					title: "Files Panel (Files)", | ||||
| 					title: "Files", | ||||
| 					bindings: []*types.Binding{ | ||||
| 						{ | ||||
| 							ViewName:    "files", | ||||
| @@ -132,7 +99,7 @@ func TestGetBindingSections(t *testing.T) { | ||||
| 					}, | ||||
| 				}, | ||||
| 				{ | ||||
| 					title: "Files Panel (Submodules)", | ||||
| 					title: "Submodules", | ||||
| 					bindings: []*types.Binding{ | ||||
| 						{ | ||||
| 							ViewName:    "files", | ||||
| @@ -148,19 +115,23 @@ func TestGetBindingSections(t *testing.T) { | ||||
| 			bindings: []*types.Binding{ | ||||
| 				{ | ||||
| 					ViewName:    "files", | ||||
| 					Contexts:    []string{"files"}, | ||||
| 					Description: "stage file", | ||||
| 				}, | ||||
| 				{ | ||||
| 					ViewName:    "files", | ||||
| 					Contexts:    []string{"files"}, | ||||
| 					Description: "unstage file", | ||||
| 				}, | ||||
| 				{ | ||||
| 					ViewName:    "files", | ||||
| 					Contexts:    []string{"files"}, | ||||
| 					Description: "scroll", | ||||
| 					Tag:         "navigation", | ||||
| 				}, | ||||
| 				{ | ||||
| 					ViewName:    "commits", | ||||
| 					Contexts:    []string{"commits"}, | ||||
| 					Description: "revert commit", | ||||
| 				}, | ||||
| 			}, | ||||
| @@ -170,29 +141,33 @@ func TestGetBindingSections(t *testing.T) { | ||||
| 					bindings: []*types.Binding{ | ||||
| 						{ | ||||
| 							ViewName:    "files", | ||||
| 							Contexts:    []string{"files"}, | ||||
| 							Description: "scroll", | ||||
| 							Tag:         "navigation", | ||||
| 						}, | ||||
| 					}, | ||||
| 				}, | ||||
| 				{ | ||||
| 					title: "Commits Panel", | ||||
| 					title: "Commits", | ||||
| 					bindings: []*types.Binding{ | ||||
| 						{ | ||||
| 							ViewName:    "commits", | ||||
| 							Contexts:    []string{"commits"}, | ||||
| 							Description: "revert commit", | ||||
| 						}, | ||||
| 					}, | ||||
| 				}, | ||||
| 				{ | ||||
| 					title: "Files Panel", | ||||
| 					title: "Files", | ||||
| 					bindings: []*types.Binding{ | ||||
| 						{ | ||||
| 							ViewName:    "files", | ||||
| 							Contexts:    []string{"files"}, | ||||
| 							Description: "stage file", | ||||
| 						}, | ||||
| 						{ | ||||
| 							ViewName:    "files", | ||||
| 							Contexts:    []string{"files"}, | ||||
| 							Description: "unstage file", | ||||
| 						}, | ||||
| 					}, | ||||
| @@ -204,28 +179,34 @@ func TestGetBindingSections(t *testing.T) { | ||||
| 			bindings: []*types.Binding{ | ||||
| 				{ | ||||
| 					ViewName:    "files", | ||||
| 					Contexts:    []string{"files"}, | ||||
| 					Description: "stage file", | ||||
| 				}, | ||||
| 				{ | ||||
| 					ViewName:    "files", | ||||
| 					Contexts:    []string{"files"}, | ||||
| 					Description: "unstage file", | ||||
| 				}, | ||||
| 				{ | ||||
| 					ViewName:    "files", | ||||
| 					Contexts:    []string{"files"}, | ||||
| 					Description: "scroll", | ||||
| 					Tag:         "navigation", | ||||
| 				}, | ||||
| 				{ | ||||
| 					ViewName:    "commits", | ||||
| 					Contexts:    []string{"commits"}, | ||||
| 					Description: "revert commit", | ||||
| 				}, | ||||
| 				{ | ||||
| 					ViewName:    "commits", | ||||
| 					Contexts:    []string{"commits"}, | ||||
| 					Description: "scroll", | ||||
| 					Tag:         "navigation", | ||||
| 				}, | ||||
| 				{ | ||||
| 					ViewName:    "commits", | ||||
| 					Contexts:    []string{"commits"}, | ||||
| 					Description: "page up", | ||||
| 					Tag:         "navigation", | ||||
| 				}, | ||||
| @@ -236,34 +217,39 @@ func TestGetBindingSections(t *testing.T) { | ||||
| 					bindings: []*types.Binding{ | ||||
| 						{ | ||||
| 							ViewName:    "files", | ||||
| 							Contexts:    []string{"files"}, | ||||
| 							Description: "scroll", | ||||
| 							Tag:         "navigation", | ||||
| 						}, | ||||
| 						{ | ||||
| 							ViewName:    "commits", | ||||
| 							Contexts:    []string{"commits"}, | ||||
| 							Description: "page up", | ||||
| 							Tag:         "navigation", | ||||
| 						}, | ||||
| 					}, | ||||
| 				}, | ||||
| 				{ | ||||
| 					title: "Commits Panel", | ||||
| 					title: "Commits", | ||||
| 					bindings: []*types.Binding{ | ||||
| 						{ | ||||
| 							ViewName:    "commits", | ||||
| 							Contexts:    []string{"commits"}, | ||||
| 							Description: "revert commit", | ||||
| 						}, | ||||
| 					}, | ||||
| 				}, | ||||
| 				{ | ||||
| 					title: "Files Panel", | ||||
| 					title: "Files", | ||||
| 					bindings: []*types.Binding{ | ||||
| 						{ | ||||
| 							ViewName:    "files", | ||||
| 							Contexts:    []string{"files"}, | ||||
| 							Description: "stage file", | ||||
| 						}, | ||||
| 						{ | ||||
| 							ViewName:    "files", | ||||
| 							Contexts:    []string{"files"}, | ||||
| 							Description: "unstage file", | ||||
| 						}, | ||||
| 					}, | ||||
|   | ||||
| @@ -41,6 +41,7 @@ func (gui *Gui) commitFilesRenderToMain() error { | ||||
| func (gui *Gui) SwitchToCommitFilesContext(opts controllers.SwitchToCommitFilesContextOpts) error { | ||||
| 	gui.State.Contexts.CommitFiles.SetSelectedLineIdx(0) | ||||
| 	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.SetParentContext(opts.Context) | ||||
| 	gui.State.Contexts.CommitFiles.SetWindowName(opts.Context.GetWindowName()) | ||||
| @@ -54,7 +55,8 @@ func (gui *Gui) SwitchToCommitFilesContext(opts controllers.SwitchToCommitFilesC | ||||
|  | ||||
| func (gui *Gui) refreshCommitFilesContext() error { | ||||
| 	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 { | ||||
| 			return err | ||||
| 		} | ||||
|   | ||||
| @@ -151,8 +151,7 @@ func (gui *Gui) deactivateContext(c types.Context) error { | ||||
| 	if view != nil && | ||||
| 		(c.GetKind() == types.TEMPORARY_POPUP || | ||||
| 			c.GetKind() == types.PERSISTENT_POPUP || | ||||
| 			c.GetKey() == context.COMMIT_FILES_CONTEXT_KEY || | ||||
| 			c.GetKey() == context.SUB_COMMITS_CONTEXT_KEY) { | ||||
| 			c.IsTransient()) { | ||||
| 		view.Visible = false | ||||
| 	} | ||||
|  | ||||
| @@ -393,11 +392,7 @@ func (gui *Gui) onViewFocusLost(oldView *gocui.View, newView *gocui.View) error | ||||
| 	_ = oldView.SetOriginX(0) | ||||
|  | ||||
| 	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 { | ||||
| 			return context.IsTransient() | ||||
| 		}) | ||||
|  | ||||
| 		for _, context := range transientContexts { | ||||
| 		for _, context := range gui.TransientContexts() { | ||||
| 			if oldView.Name() == context.GetViewName() { | ||||
| 				if err := gui.deactivateContext(context); err != nil { | ||||
| 					return err | ||||
| @@ -409,6 +404,12 @@ func (gui *Gui) onViewFocusLost(oldView *gocui.View, newView *gocui.View) error | ||||
| 	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 | ||||
| // 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 | ||||
|   | ||||
| @@ -65,3 +65,13 @@ func (self *BranchesContext) GetSelectedRefName() string { | ||||
|  | ||||
| 	return item.RefName() | ||||
| } | ||||
|  | ||||
| func (self *BranchesContext) GetSelectedDescription() string { | ||||
| 	item := self.GetSelected() | ||||
|  | ||||
| 	if item == nil { | ||||
| 		return "" | ||||
| 	} | ||||
|  | ||||
| 	return item.Description() | ||||
| } | ||||
|   | ||||
| @@ -1,18 +1,16 @@ | ||||
| package context | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
|  | ||||
| 	"github.com/jesseduffield/gocui" | ||||
| 	"github.com/jesseduffield/lazygit/pkg/commands/models" | ||||
| 	"github.com/jesseduffield/lazygit/pkg/gui/filetree" | ||||
| 	"github.com/jesseduffield/lazygit/pkg/gui/types" | ||||
| 	"github.com/jesseduffield/lazygit/pkg/utils" | ||||
| ) | ||||
|  | ||||
| type CommitFilesContext struct { | ||||
| 	*filetree.CommitFileTreeViewModel | ||||
| 	*ListContextTrait | ||||
| 	*DynamicTitleBuilder | ||||
| } | ||||
|  | ||||
| var _ types.IListContext = (*CommitFilesContext)(nil) | ||||
| @@ -32,6 +30,7 @@ func NewCommitFilesContext( | ||||
|  | ||||
| 	return &CommitFilesContext{ | ||||
| 		CommitFileTreeViewModel: viewModel, | ||||
| 		DynamicTitleBuilder:     NewDynamicTitleBuilder(c.Tr.CommitFilesDynamicTitle), | ||||
| 		ListContextTrait: &ListContextTrait{ | ||||
| 			Context: NewSimpleContext( | ||||
| 				NewBaseContext(NewBaseContextOpts{ | ||||
| @@ -63,7 +62,3 @@ func (self *CommitFilesContext) GetSelectedItemId() string { | ||||
|  | ||||
| 	return item.ID() | ||||
| } | ||||
|  | ||||
| func (self *CommitFilesContext) Title() string { | ||||
| 	return fmt.Sprintf(self.c.Tr.CommitFilesDynamicTitle, utils.TruncateWithEllipsis(self.GetRefName(), 50)) | ||||
| } | ||||
|   | ||||
| @@ -152,11 +152,8 @@ func (tree ContextTree) InitialViewTabContextMap() map[string][]TabContext { | ||||
| 				Contexts: []types.Context{tree.Branches}, | ||||
| 			}, | ||||
| 			{ | ||||
| 				Tab: "Remotes", | ||||
| 				Contexts: []types.Context{ | ||||
| 					tree.Remotes, | ||||
| 					tree.RemoteBranches, | ||||
| 				}, | ||||
| 				Tab:      "Remotes", | ||||
| 				Contexts: []types.Context{tree.Remotes}, | ||||
| 			}, | ||||
| 			{ | ||||
| 				Tab:      "Tags", | ||||
| @@ -169,10 +166,8 @@ func (tree ContextTree) InitialViewTabContextMap() map[string][]TabContext { | ||||
| 				Contexts: []types.Context{tree.LocalCommits}, | ||||
| 			}, | ||||
| 			{ | ||||
| 				Tab: "Reflog", | ||||
| 				Contexts: []types.Context{ | ||||
| 					tree.ReflogCommits, | ||||
| 				}, | ||||
| 				Tab:      "Reflog", | ||||
| 				Contexts: []types.Context{tree.ReflogCommits}, | ||||
| 			}, | ||||
| 		}, | ||||
| 		"files": { | ||||
| @@ -181,10 +176,8 @@ func (tree ContextTree) InitialViewTabContextMap() map[string][]TabContext { | ||||
| 				Contexts: []types.Context{tree.Files}, | ||||
| 			}, | ||||
| 			{ | ||||
| 				Tab: "Submodules", | ||||
| 				Contexts: []types.Context{ | ||||
| 					tree.Submodules, | ||||
| 				}, | ||||
| 				Tab:      "Submodules", | ||||
| 				Contexts: []types.Context{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() | ||||
| } | ||||
|  | ||||
| func (self *LocalCommitsViewModel) GetSelectedDescription() string { | ||||
| 	item := self.GetSelected() | ||||
|  | ||||
| 	if item == nil { | ||||
| 		return "" | ||||
| 	} | ||||
|  | ||||
| 	return item.Description() | ||||
| } | ||||
|  | ||||
| func (self *LocalCommitsViewModel) SetLimitCommits(value bool) { | ||||
| 	self.limitCommits = value | ||||
| } | ||||
|   | ||||
| @@ -74,3 +74,13 @@ func (self *ReflogCommitsContext) GetSelectedRefName() string { | ||||
| func (self *ReflogCommitsContext) GetCommits() []*models.Commit { | ||||
| 	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 { | ||||
| 	*BasicViewModel[*models.RemoteBranch] | ||||
| 	*ListContextTrait | ||||
| 	*DynamicTitleBuilder | ||||
| } | ||||
|  | ||||
| var _ types.IListContext = (*RemoteBranchesContext)(nil) | ||||
| @@ -27,14 +28,16 @@ func NewRemoteBranchesContext( | ||||
| 	viewModel := NewBasicViewModel(getModel) | ||||
|  | ||||
| 	return &RemoteBranchesContext{ | ||||
| 		BasicViewModel: viewModel, | ||||
| 		BasicViewModel:      viewModel, | ||||
| 		DynamicTitleBuilder: NewDynamicTitleBuilder(c.Tr.RemoteBranchesDynamicTitle), | ||||
| 		ListContextTrait: &ListContextTrait{ | ||||
| 			Context: NewSimpleContext(NewBaseContext(NewBaseContextOpts{ | ||||
| 				ViewName:   "branches", | ||||
| 				ViewName:   "remoteBranches", | ||||
| 				WindowName: "branches", | ||||
| 				Key:        REMOTE_BRANCHES_CONTEXT_KEY, | ||||
| 				Kind:       types.SIDE_CONTEXT, | ||||
| 				Focusable:  true, | ||||
| 				Transient:  true, | ||||
| 			}), ContextCallbackOpts{ | ||||
| 				OnFocus:        onFocus, | ||||
| 				OnFocusLost:    onFocusLost, | ||||
| @@ -65,3 +68,13 @@ func (self *RemoteBranchesContext) GetSelectedRefName() string { | ||||
|  | ||||
| 	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() | ||||
| } | ||||
|  | ||||
| func (self *StashContext) GetSelectedDescription() string { | ||||
| 	item := self.GetSelected() | ||||
|  | ||||
| 	if item == nil { | ||||
| 		return "" | ||||
| 	} | ||||
|  | ||||
| 	return item.Description() | ||||
| } | ||||
|   | ||||
| @@ -12,6 +12,7 @@ import ( | ||||
| type SubCommitsContext struct { | ||||
| 	*SubCommitsViewModel | ||||
| 	*ViewportListContextTrait | ||||
| 	*DynamicTitleBuilder | ||||
| } | ||||
|  | ||||
| var _ types.IListContext = (*SubCommitsContext)(nil) | ||||
| @@ -34,6 +35,7 @@ func NewSubCommitsContext( | ||||
|  | ||||
| 	return &SubCommitsContext{ | ||||
| 		SubCommitsViewModel: viewModel, | ||||
| 		DynamicTitleBuilder: NewDynamicTitleBuilder(c.Tr.SubCommitsDynamicTitle), | ||||
| 		ViewportListContextTrait: &ViewportListContextTrait{ | ||||
| 			ListContextTrait: &ListContextTrait{ | ||||
| 				Context: NewSimpleContext(NewBaseContext(NewBaseContextOpts{ | ||||
| @@ -99,3 +101,13 @@ func (self *SubCommitsContext) GetCommits() []*models.Commit { | ||||
| func (self *SubCommitsContext) Title() string { | ||||
| 	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() | ||||
| } | ||||
|  | ||||
| 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 { | ||||
| 	prompt := utils.ResolvePlaceholderString( | ||||
| 		self.c.Tr.SureSquashAboveCommits, | ||||
| 		map[string]string{ | ||||
| 			"commit": commit.Sha, | ||||
| 		}, | ||||
| 		map[string]string{"commit": commit.Sha}, | ||||
| 	) | ||||
|  | ||||
| 	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.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 { | ||||
| 							self.c.UserConfig.Git.Log.Order = value | ||||
| 							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 | ||||
| 	} | ||||
| 	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) | ||||
| } | ||||
|   | ||||
| @@ -12,6 +12,7 @@ type CanSwitchToDiffFiles interface { | ||||
| 	types.Context | ||||
| 	CanRebase() bool | ||||
| 	GetSelectedRefName() string | ||||
| 	GetSelectedDescription() string | ||||
| } | ||||
|  | ||||
| type SwitchToDiffFilesController struct { | ||||
| @@ -63,9 +64,10 @@ func (self *SwitchToDiffFilesController) checkSelected(callback func(string) err | ||||
|  | ||||
| func (self *SwitchToDiffFilesController) enter(refName string) error { | ||||
| 	return self.viewFiles(SwitchToCommitFilesContextOpts{ | ||||
| 		RefName:   refName, | ||||
| 		CanRebase: self.context.CanRebase(), | ||||
| 		Context:   self.context, | ||||
| 		RefName:        refName, | ||||
| 		RefDescription: self.context.GetSelectedDescription(), | ||||
| 		CanRebase:      self.context.CanRebase(), | ||||
| 		Context:        self.context, | ||||
| 	}) | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -11,6 +11,7 @@ var _ types.IController = &SwitchToSubCommitsController{} | ||||
| type CanSwitchToSubCommits interface { | ||||
| 	types.Context | ||||
| 	GetSelectedRefName() string | ||||
| 	GetSelectedDescription() string | ||||
| } | ||||
|  | ||||
| type SwitchToSubCommitsController struct { | ||||
| @@ -74,6 +75,7 @@ func (self *SwitchToSubCommitsController) viewCommits() error { | ||||
| 	self.contexts.SubCommits.SetSelectedLineIdx(0) | ||||
| 	self.contexts.SubCommits.SetParentContext(self.context) | ||||
| 	self.contexts.SubCommits.SetWindowName(self.context.GetWindowName()) | ||||
| 	self.contexts.SubCommits.SetTitleRef(self.context.GetSelectedDescription()) | ||||
| 	self.contexts.SubCommits.SetRefName(refName) | ||||
|  | ||||
| 	err = self.c.PostRefreshUpdate(self.contexts.SubCommits) | ||||
|   | ||||
| @@ -6,7 +6,17 @@ import ( | ||||
|  | ||||
| // all fields mandatory (except `CanRebase` because it's boolean) | ||||
| type SwitchToCommitFilesContextOpts struct { | ||||
| 	RefName   string | ||||
| 	// this is something like a commit sha or branch name | ||||
| 	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 | ||||
| 	Context   types.Context | ||||
|  | ||||
| 	Context types.Context | ||||
| } | ||||
|   | ||||
| @@ -240,26 +240,27 @@ type panelStates struct { | ||||
| } | ||||
|  | ||||
| type Views struct { | ||||
| 	Status        *gocui.View | ||||
| 	Files         *gocui.View | ||||
| 	Branches      *gocui.View | ||||
| 	Commits       *gocui.View | ||||
| 	Stash         *gocui.View | ||||
| 	Main          *gocui.View | ||||
| 	Secondary     *gocui.View | ||||
| 	Options       *gocui.View | ||||
| 	Confirmation  *gocui.View | ||||
| 	Menu          *gocui.View | ||||
| 	CommitMessage *gocui.View | ||||
| 	CommitFiles   *gocui.View | ||||
| 	SubCommits    *gocui.View | ||||
| 	Information   *gocui.View | ||||
| 	AppStatus     *gocui.View | ||||
| 	Search        *gocui.View | ||||
| 	SearchPrefix  *gocui.View | ||||
| 	Limit         *gocui.View | ||||
| 	Suggestions   *gocui.View | ||||
| 	Extras        *gocui.View | ||||
| 	Status         *gocui.View | ||||
| 	Files          *gocui.View | ||||
| 	Branches       *gocui.View | ||||
| 	RemoteBranches *gocui.View | ||||
| 	Commits        *gocui.View | ||||
| 	Stash          *gocui.View | ||||
| 	Main           *gocui.View | ||||
| 	Secondary      *gocui.View | ||||
| 	Options        *gocui.View | ||||
| 	Confirmation   *gocui.View | ||||
| 	Menu           *gocui.View | ||||
| 	CommitMessage  *gocui.View | ||||
| 	CommitFiles    *gocui.View | ||||
| 	SubCommits     *gocui.View | ||||
| 	Information    *gocui.View | ||||
| 	AppStatus      *gocui.View | ||||
| 	Search         *gocui.View | ||||
| 	SearchPrefix   *gocui.View | ||||
| 	Limit          *gocui.View | ||||
| 	Suggestions    *gocui.View | ||||
| 	Extras         *gocui.View | ||||
| } | ||||
|  | ||||
| type searchingState struct { | ||||
| @@ -406,19 +407,20 @@ func (gui *Gui) syncViewContexts() { | ||||
|  | ||||
| func initialViewContextMapping(contextTree *context.ContextTree) map[string]types.Context { | ||||
| 	return map[string]types.Context{ | ||||
| 		"status":        contextTree.Status, | ||||
| 		"files":         contextTree.Files, | ||||
| 		"branches":      contextTree.Branches, | ||||
| 		"commits":       contextTree.LocalCommits, | ||||
| 		"commitFiles":   contextTree.CommitFiles, | ||||
| 		"subCommits":    contextTree.SubCommits, | ||||
| 		"stash":         contextTree.Stash, | ||||
| 		"menu":          contextTree.Menu, | ||||
| 		"confirmation":  contextTree.Confirmation, | ||||
| 		"commitMessage": contextTree.CommitMessage, | ||||
| 		"main":          contextTree.Normal, | ||||
| 		"secondary":     contextTree.Normal, | ||||
| 		"extras":        contextTree.CommandLog, | ||||
| 		"status":         contextTree.Status, | ||||
| 		"files":          contextTree.Files, | ||||
| 		"branches":       contextTree.Branches, | ||||
| 		"remoteBranches": contextTree.RemoteBranches, | ||||
| 		"commits":        contextTree.LocalCommits, | ||||
| 		"commitFiles":    contextTree.CommitFiles, | ||||
| 		"subCommits":     contextTree.SubCommits, | ||||
| 		"stash":          contextTree.Stash, | ||||
| 		"menu":           contextTree.Menu, | ||||
| 		"confirmation":   contextTree.Confirmation, | ||||
| 		"commitMessage":  contextTree.CommitMessage, | ||||
| 		"main":           contextTree.Normal, | ||||
| 		"secondary":      contextTree.Normal, | ||||
| 		"extras":         contextTree.CommandLog, | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -600,6 +602,7 @@ func (gui *Gui) createAllViews() error { | ||||
| 		{viewPtr: &gui.Views.Status, name: "status"}, | ||||
| 		{viewPtr: &gui.Views.Files, name: "files"}, | ||||
| 		{viewPtr: &gui.Views.Branches, name: "branches"}, | ||||
| 		{viewPtr: &gui.Views.RemoteBranches, name: "remoteBranches"}, | ||||
| 		{viewPtr: &gui.Views.Commits, name: "commits"}, | ||||
| 		{viewPtr: &gui.Views.Stash, name: "stash"}, | ||||
| 		{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.FgColor = theme.GocuiDefaultTextColor | ||||
|  | ||||
| 	gui.Views.RemoteBranches.FgColor = theme.GocuiDefaultTextColor | ||||
|  | ||||
| 	gui.Views.Files.Highlight = true | ||||
| 	gui.Views.Files.Title = gui.c.Tr.FilesTitle | ||||
| 	gui.Views.Files.FgColor = theme.GocuiDefaultTextColor | ||||
|   | ||||
| @@ -999,7 +999,7 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi | ||||
| 		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{ | ||||
| 			{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}, | ||||
|   | ||||
| @@ -2,7 +2,6 @@ package gui | ||||
|  | ||||
| import ( | ||||
| 	"github.com/jesseduffield/gocui" | ||||
| 	"github.com/jesseduffield/lazygit/pkg/gui/types" | ||||
| 	"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: "files", windowName: "files", 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: "subCommits", windowName: gui.State.Contexts.SubCommits.GetWindowName(), 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()) | ||||
| 		if err != nil && err.Error() != UNKNOWN_VIEW_ERROR_MSG { | ||||
| 			return err | ||||
| @@ -211,6 +211,7 @@ func (gui *Gui) onInitialViewsCreation() error { | ||||
| 		gui.Views.Status, | ||||
| 		gui.Views.Files, | ||||
| 		gui.Views.Branches, | ||||
| 		gui.Views.RemoteBranches, | ||||
| 		gui.Views.Commits, | ||||
| 		gui.Views.Stash, | ||||
| 		gui.Views.SubCommits, | ||||
|   | ||||
| @@ -71,7 +71,7 @@ func (gui *Gui) remotesListContext() *context.RemotesContext { | ||||
| func (gui *Gui) remoteBranchesListContext() *context.RemoteBranchesContext { | ||||
| 	return context.NewRemoteBranchesContext( | ||||
| 		func() []*models.RemoteBranch { return gui.State.Model.RemoteBranches }, | ||||
| 		gui.Views.Branches, | ||||
| 		gui.Views.RemoteBranches, | ||||
| 		func(startIdx int, length int) [][]string { | ||||
| 			return presentation.GetRemoteBranchListDisplayStrings(gui.State.Model.RemoteBranches, gui.State.Modes.Diffing.Ref) | ||||
| 		}, | ||||
|   | ||||
| @@ -187,6 +187,7 @@ func (gui *Gui) refreshCommits() { | ||||
| 			commit := gui.getSelectedLocalCommit() | ||||
| 			if commit != nil { | ||||
| 				gui.State.Contexts.CommitFiles.SetRefName(commit.RefName()) | ||||
| 				gui.State.Contexts.CommitFiles.SetTitleRef(commit.RefName()) | ||||
| 				_ = gui.refreshCommitFilesContext() | ||||
| 			} | ||||
| 		} | ||||
| @@ -490,6 +491,7 @@ func (gui *Gui) refreshRemotes() error { | ||||
| 		for _, remote := range remotes { | ||||
| 			if remote.Name == prevSelectedRemote.Name { | ||||
| 				gui.State.Model.RemoteBranches = remote.Branches | ||||
| 				break | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|   | ||||
| @@ -196,7 +196,7 @@ func chineseTranslationSet() TranslationSet { | ||||
| 		TagsTitle:                           "标签页面", | ||||
| 		MenuTitle:                           "菜单", | ||||
| 		RemotesTitle:                        "远程页面", | ||||
| 		RemoteBranchesTitle:                 "远程分支(在远程页面中)", | ||||
| 		RemoteBranchesTitle:                 "远程分支", | ||||
| 		PatchBuildingTitle:                  "构建补丁中", | ||||
| 		InformationTitle:                    "信息", | ||||
| 		SecondaryTitle:                      "次要", | ||||
|   | ||||
| @@ -156,16 +156,16 @@ func dutchTranslationSet() TranslationSet { | ||||
| 		MergeOptionsTitle:                   "Merge Opties", | ||||
| 		RebaseOptionsTitle:                  "Rebase Opties", | ||||
| 		CommitMessageTitle:                  "Commit Bericht", | ||||
| 		LocalBranchesTitle:                  "Branches Tabblad", | ||||
| 		LocalBranchesTitle:                  "Branches", | ||||
| 		SearchTitle:                         "Zoek", | ||||
| 		TagsTitle:                           "Tags Tabblad", | ||||
| 		TagsTitle:                           "Tags", | ||||
| 		MenuTitle:                           "Menu", | ||||
| 		RemotesTitle:                        "Remotes Tabblad", | ||||
| 		RemoteBranchesTitle:                 "Remote Branches (in Remotes tabblad)", | ||||
| 		RemotesTitle:                        "Remotes", | ||||
| 		RemoteBranchesTitle:                 "Remote Branches", | ||||
| 		PatchBuildingTitle:                  "Patch Bouwen", | ||||
| 		InformationTitle:                    "Informatie", | ||||
| 		SecondaryTitle:                      "Secondary", | ||||
| 		ReflogCommitsTitle:                  "Reflog Tabblad", | ||||
| 		ReflogCommitsTitle:                  "Reflog", | ||||
| 		GlobalTitle:                         "Globale Sneltoetsen", | ||||
| 		ConflictsResolved:                   "alle merge conflicten zijn opgelost. Wilt je verder gaan?", | ||||
| 		RebasingTitle:                       "Rebasen", | ||||
|   | ||||
| @@ -232,6 +232,7 @@ type TranslationSet struct { | ||||
| 	CommitFiles                         string | ||||
| 	SubCommitsDynamicTitle              string | ||||
| 	CommitFilesDynamicTitle             string | ||||
| 	RemoteBranchesDynamicTitle          string | ||||
| 	LcViewItemFiles                     string | ||||
| 	CommitFilesTitle                    string | ||||
| 	LcCheckoutCommitFile                string | ||||
| @@ -611,9 +612,9 @@ func EnglishTranslationSet() TranslationSet { | ||||
| 		UnstagedChanges:                     `Unstaged Changes`, | ||||
| 		StagedChanges:                       `Staged Changes`, | ||||
| 		MainTitle:                           "Main", | ||||
| 		StagingTitle:                        "Staging", | ||||
| 		MergingTitle:                        "Merging", | ||||
| 		NormalTitle:                         "Normal", | ||||
| 		StagingTitle:                        "Main Panel (Staging)", | ||||
| 		MergingTitle:                        "Main Panel (Merging)", | ||||
| 		NormalTitle:                         "Main Panel (Normal)", | ||||
| 		CommitMessage:                       "Commit message", | ||||
| 		CredentialsUsername:                 "Username", | ||||
| 		CredentialsPassword:                 "Password", | ||||
| @@ -762,16 +763,16 @@ func EnglishTranslationSet() TranslationSet { | ||||
| 		MergeOptionsTitle:                   "Merge Options", | ||||
| 		RebaseOptionsTitle:                  "Rebase Options", | ||||
| 		CommitMessageTitle:                  "Commit Message", | ||||
| 		LocalBranchesTitle:                  "Branches Tab", | ||||
| 		LocalBranchesTitle:                  "Branches", | ||||
| 		SearchTitle:                         "Search", | ||||
| 		TagsTitle:                           "Tags Tab", | ||||
| 		TagsTitle:                           "Tags", | ||||
| 		MenuTitle:                           "Menu", | ||||
| 		RemotesTitle:                        "Remotes Tab", | ||||
| 		RemoteBranchesTitle:                 "Remote Branches (in Remotes tab)", | ||||
| 		PatchBuildingTitle:                  "Patch Building", | ||||
| 		RemotesTitle:                        "Remotes", | ||||
| 		RemoteBranchesTitle:                 "Remote Branches", | ||||
| 		PatchBuildingTitle:                  "Main Panel (Patch Building)", | ||||
| 		InformationTitle:                    "Information", | ||||
| 		SecondaryTitle:                      "Secondary", | ||||
| 		ReflogCommitsTitle:                  "Reflog Tab", | ||||
| 		ReflogCommitsTitle:                  "Reflog", | ||||
| 		GlobalTitle:                         "Global Keybindings", | ||||
| 		ConflictsResolved:                   "all merge conflicts resolved. Continue?", | ||||
| 		RebasingTitle:                       "Rebasing", | ||||
| @@ -821,8 +822,9 @@ func EnglishTranslationSet() TranslationSet { | ||||
| 		CheckingOutStatus:                   "checking out", | ||||
| 		CommittingStatus:                    "committing", | ||||
| 		CommitFiles:                         "Commit files", | ||||
| 		SubCommitsDynamicTitle:              "Commits for %s", | ||||
| 		CommitFilesDynamicTitle:             "Diff files for %s", | ||||
| 		SubCommitsDynamicTitle:              "Commits (%s)", | ||||
| 		CommitFilesDynamicTitle:             "Diff files (%s)", | ||||
| 		RemoteBranchesDynamicTitle:          "Remote branches (%s)", | ||||
| 		LcViewItemFiles:                     "view selected item's files", | ||||
| 		CommitFilesTitle:                    "Commit Files", | ||||
| 		LcCheckoutCommitFile:                "checkout file", | ||||
| @@ -1010,7 +1012,7 @@ func EnglishTranslationSet() TranslationSet { | ||||
| 		NavigationTitle:                     "List Panel Navigation", | ||||
| 		SuggestionsCheatsheetTitle:          "Suggestions", | ||||
| 		SuggestionsTitle:                    "Suggestions (press %s to focus)", | ||||
| 		ExtrasTitle:                         "Extras", | ||||
| 		ExtrasTitle:                         "Command Log", | ||||
| 		PushingTagStatus:                    "pushing tag", | ||||
| 		PullRequestURLCopiedToClipboard:     "Pull request URL 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 | ||||
|     } | ||||
|   ] | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user