diff --git a/docs/keybindings/Keybindings_en.md b/docs/keybindings/Keybindings_en.md index 5987624d6..ab1a86842 100644 --- a/docs/keybindings/Keybindings_en.md +++ b/docs/keybindings/Keybindings_en.md @@ -221,7 +221,7 @@ _Legend: `` means ctrl+b, `` means alt+b, `B` means shift+b_ | `` `` | Go to previous hunk | | | `` `` | Go to next hunk | | | `` v `` | Toggle range select | | -| `` a `` | Select hunk | Toggle hunk selection mode. | +| `` a `` | Toggle hunk selection | Toggle line-by-line vs. hunk selection mode. | | `` `` | Copy selected text to clipboard | | | `` o `` | Open file | Open file in default application. | | `` e `` | Edit file | Open file in external editor. | @@ -236,7 +236,7 @@ _Legend: `` means ctrl+b, `` means alt+b, `B` means shift+b_ | `` `` | Go to previous hunk | | | `` `` | Go to next hunk | | | `` v `` | Toggle range select | | -| `` a `` | Select hunk | Toggle hunk selection mode. | +| `` a `` | Toggle hunk selection | Toggle line-by-line vs. hunk selection mode. | | `` `` | Copy selected text to clipboard | | | `` `` | Stage | Toggle selection staged / unstaged. | | `` d `` | Discard | When unstaged change is selected, discard the change using `git reset`. When staged change is selected, unstage the change. | diff --git a/docs/keybindings/Keybindings_ko.md b/docs/keybindings/Keybindings_ko.md index 20d4565a1..4c026a36c 100644 --- a/docs/keybindings/Keybindings_ko.md +++ b/docs/keybindings/Keybindings_ko.md @@ -164,7 +164,7 @@ _Legend: `` means ctrl+b, `` means alt+b, `B` means shift+b_ | `` `` | 이전 hunk를 선택 | | | `` `` | 다음 hunk를 선택 | | | `` v `` | 드래그 선택 전환 | | -| `` a `` | Toggle select hunk | Toggle hunk selection mode. | +| `` a `` | Toggle select hunk | Toggle line-by-line vs. hunk selection mode. | | `` `` | 선택한 텍스트를 클립보드에 복사 | | | `` o `` | 파일 닫기 | Open file in default application. | | `` e `` | 파일 편집 | Open file in external editor. | @@ -179,7 +179,7 @@ _Legend: `` means ctrl+b, `` means alt+b, `B` means shift+b_ | `` `` | 이전 hunk를 선택 | | | `` `` | 다음 hunk를 선택 | | | `` v `` | 드래그 선택 전환 | | -| `` a `` | Toggle select hunk | Toggle hunk selection mode. | +| `` a `` | Toggle select hunk | Toggle line-by-line vs. hunk selection mode. | | `` `` | 선택한 텍스트를 클립보드에 복사 | | | `` `` | Staged 전환 | 선택한 행을 staged / unstaged | | `` d `` | 변경을 삭제 (git reset) | When unstaged change is selected, discard the change using `git reset`. When staged change is selected, unstage the change. | diff --git a/docs/keybindings/Keybindings_nl.md b/docs/keybindings/Keybindings_nl.md index 960c2da63..97e3040e8 100644 --- a/docs/keybindings/Keybindings_nl.md +++ b/docs/keybindings/Keybindings_nl.md @@ -229,7 +229,7 @@ _Legend: `` means ctrl+b, `` means alt+b, `B` means shift+b_ | `` `` | Selecteer de vorige hunk | | | `` `` | Selecteer de volgende hunk | | | `` v `` | Toggle drag selecteer | | -| `` a `` | Toggle selecteer hunk | Toggle hunk selection mode. | +| `` a `` | Toggle selecteer hunk | Toggle line-by-line vs. hunk selection mode. | | `` `` | Copy selected text to clipboard | | | `` o `` | Open bestand | Open file in default application. | | `` e `` | Verander bestand | Open file in external editor. | @@ -302,7 +302,7 @@ _Legend: `` means ctrl+b, `` means alt+b, `B` means shift+b_ | `` `` | Selecteer de vorige hunk | | | `` `` | Selecteer de volgende hunk | | | `` v `` | Toggle drag selecteer | | -| `` a `` | Toggle selecteer hunk | Toggle hunk selection mode. | +| `` a `` | Toggle selecteer hunk | Toggle line-by-line vs. hunk selection mode. | | `` `` | Copy selected text to clipboard | | | `` `` | Toggle staged | Toggle lijnen staged / unstaged | | `` d `` | Verwijdert change (git reset) | When unstaged change is selected, discard the change using `git reset`. When staged change is selected, unstage the change. | diff --git a/docs/keybindings/Keybindings_ru.md b/docs/keybindings/Keybindings_ru.md index 3b8b0009b..c905ae331 100644 --- a/docs/keybindings/Keybindings_ru.md +++ b/docs/keybindings/Keybindings_ru.md @@ -76,7 +76,7 @@ _Связки клавиш_ | `` `` | Выбрать предыдущую часть | | | `` `` | Выбрать следующую часть | | | `` v `` | Переключить выборку перетаскивания | | -| `` a `` | Переключить выборку частей | Toggle hunk selection mode. | +| `` a `` | Переключить выборку частей | Toggle line-by-line vs. hunk selection mode. | | `` `` | Скопировать выделенный текст в буфер обмена | | | `` `` | Переключить индекс | Переключить строку в проиндексированные / непроиндексированные | | `` d `` | Отменить изменение (git reset) | When unstaged change is selected, discard the change using `git reset`. When staged change is selected, unstage the change. | @@ -124,7 +124,7 @@ _Связки клавиш_ | `` `` | Выбрать предыдущую часть | | | `` `` | Выбрать следующую часть | | | `` v `` | Переключить выборку перетаскивания | | -| `` a `` | Переключить выборку частей | Toggle hunk selection mode. | +| `` a `` | Переключить выборку частей | Toggle line-by-line vs. hunk selection mode. | | `` `` | Скопировать выделенный текст в буфер обмена | | | `` o `` | Открыть файл | Open file in default application. | | `` e `` | Редактировать файл | Open file in external editor. | diff --git a/docs/keybindings/Keybindings_zh-TW.md b/docs/keybindings/Keybindings_zh-TW.md index 61393f493..1df33a964 100644 --- a/docs/keybindings/Keybindings_zh-TW.md +++ b/docs/keybindings/Keybindings_zh-TW.md @@ -58,7 +58,7 @@ _說明:`` 表示 Ctrl+B、`` 表示 Alt+B,`B`表示 Shift+B | `` `` | 選擇上一段 | | | `` `` | 選擇下一段 | | | `` v `` | 切換拖曳選擇 | | -| `` a `` | 切換選擇程式碼塊 | Toggle hunk selection mode. | +| `` a `` | 切換選擇程式碼塊 | Toggle line-by-line vs. hunk selection mode. | | `` `` | 複製所選文本至剪貼簿 | | | `` o `` | 開啟檔案 | 使用預設軟體開啟 | | `` e `` | 編輯檔案 | 使用外部編輯器開啟 | @@ -99,7 +99,7 @@ _說明:`` 表示 Ctrl+B、`` 表示 Alt+B,`B`表示 Shift+B | `` `` | 選擇上一段 | | | `` `` | 選擇下一段 | | | `` v `` | 切換拖曳選擇 | | -| `` a `` | 切換選擇程式碼塊 | Toggle hunk selection mode. | +| `` a `` | 切換選擇程式碼塊 | Toggle line-by-line vs. hunk selection mode. | | `` `` | 複製所選文本至剪貼簿 | | | `` `` | 切換預存 | 切換現有行的狀態 (已預存/未預存) | | `` d `` | 刪除變更 (git reset) | When unstaged change is selected, discard the change using `git reset`. When staged change is selected, unstage the change. | diff --git a/pkg/gui/controllers/patch_explorer_controller.go b/pkg/gui/controllers/patch_explorer_controller.go index 7f0a88c0f..fdaafec5d 100644 --- a/pkg/gui/controllers/patch_explorer_controller.go +++ b/pkg/gui/controllers/patch_explorer_controller.go @@ -95,9 +95,15 @@ func (self *PatchExplorerController) GetKeybindings(opts types.KeybindingsOpts) Description: self.c.Tr.ToggleRangeSelect, }, { - Key: opts.GetKey(opts.Config.Main.ToggleSelectHunk), - Handler: self.withRenderAndFocus(self.HandleToggleSelectHunk), - Description: self.c.Tr.ToggleSelectHunk, + Key: opts.GetKey(opts.Config.Main.ToggleSelectHunk), + Handler: self.withRenderAndFocus(self.HandleToggleSelectHunk), + Description: self.c.Tr.ToggleSelectHunk, + DescriptionFunc: func() string { + if state := self.context.GetState(); state != nil && state.SelectingHunk() { + return self.c.Tr.SelectLineByLine + } + return self.c.Tr.SelectHunk + }, Tooltip: self.c.Tr.ToggleSelectHunkTooltip, DisplayOnScreen: true, }, diff --git a/pkg/i18n/english.go b/pkg/i18n/english.go index 49e796403..4818729b3 100644 --- a/pkg/i18n/english.go +++ b/pkg/i18n/english.go @@ -289,6 +289,8 @@ type TranslationSet struct { DiscardSelection string DiscardSelectionTooltip string ToggleSelectHunk string + SelectHunk string + SelectLineByLine string ToggleSelectHunkTooltip string ToggleSelectionForPatch string EditHunk string @@ -1336,8 +1338,10 @@ func EnglishTranslationSet() *TranslationSet { DiscardSelection: `Discard`, DiscardSelectionTooltip: "When unstaged change is selected, discard the change using `git reset`. When staged change is selected, unstage the change.", ToggleRangeSelect: "Toggle range select", - ToggleSelectHunk: "Select hunk", - ToggleSelectHunkTooltip: "Toggle hunk selection mode.", + ToggleSelectHunk: "Toggle hunk selection", + SelectHunk: "Select hunks", + SelectLineByLine: "Select line-by-line", + ToggleSelectHunkTooltip: "Toggle line-by-line vs. hunk selection mode.", ToggleSelectionForPatch: `Toggle lines in patch`, EditHunk: `Edit hunk`, EditHunkTooltip: "Edit selected hunk in external editor.",