mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-02-09 13:47:11 +02:00
Add command to open git difftool (#3156)
This commit is contained in:
commit
aeb017e029
@ -52,6 +52,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>d</kbd>: Discard this commit's changes to this file
|
<kbd>d</kbd>: Discard this commit's changes to this file
|
||||||
<kbd>o</kbd>: Open file
|
<kbd>o</kbd>: Open file
|
||||||
<kbd>e</kbd>: Edit file
|
<kbd>e</kbd>: Edit file
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><space></kbd>: Toggle file included in patch
|
<kbd><space></kbd>: Toggle file included in patch
|
||||||
<kbd>a</kbd>: Toggle all files included in patch
|
<kbd>a</kbd>: Toggle all files included in patch
|
||||||
<kbd><enter></kbd>: Enter file to add selected lines to the patch (or toggle directory collapsed)
|
<kbd><enter></kbd>: Enter file to add selected lines to the patch (or toggle directory collapsed)
|
||||||
@ -98,6 +99,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>g</kbd>: View reset options
|
<kbd>g</kbd>: View reset options
|
||||||
<kbd>c</kbd>: Copy commit (cherry-pick)
|
<kbd>c</kbd>: Copy commit (cherry-pick)
|
||||||
<kbd>C</kbd>: Copy commit range (cherry-pick)
|
<kbd>C</kbd>: Copy commit range (cherry-pick)
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: View selected item's files
|
<kbd><enter></kbd>: View selected item's files
|
||||||
<kbd>/</kbd>: Search the current view by text
|
<kbd>/</kbd>: Search the current view by text
|
||||||
</pre>
|
</pre>
|
||||||
@ -132,6 +134,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>g</kbd>: View upstream reset options
|
<kbd>g</kbd>: View upstream reset options
|
||||||
<kbd>D</kbd>: View reset options
|
<kbd>D</kbd>: View reset options
|
||||||
<kbd>`</kbd>: Toggle file tree view
|
<kbd>`</kbd>: Toggle file tree view
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd>M</kbd>: Open external merge tool (git mergetool)
|
<kbd>M</kbd>: Open external merge tool (git mergetool)
|
||||||
<kbd>f</kbd>: Fetch
|
<kbd>f</kbd>: Fetch
|
||||||
<kbd>/</kbd>: Search the current view by text
|
<kbd>/</kbd>: Search the current view by text
|
||||||
@ -245,6 +248,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>c</kbd>: Copy commit (cherry-pick)
|
<kbd>c</kbd>: Copy commit (cherry-pick)
|
||||||
<kbd>C</kbd>: Copy commit range (cherry-pick)
|
<kbd>C</kbd>: Copy commit range (cherry-pick)
|
||||||
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: View commits
|
<kbd><enter></kbd>: View commits
|
||||||
<kbd>/</kbd>: Filter the current view by text
|
<kbd>/</kbd>: Filter the current view by text
|
||||||
</pre>
|
</pre>
|
||||||
@ -312,6 +316,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>c</kbd>: Copy commit (cherry-pick)
|
<kbd>c</kbd>: Copy commit (cherry-pick)
|
||||||
<kbd>C</kbd>: Copy commit range (cherry-pick)
|
<kbd>C</kbd>: Copy commit range (cherry-pick)
|
||||||
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: View selected item's files
|
<kbd><enter></kbd>: View selected item's files
|
||||||
<kbd>/</kbd>: Search the current view by text
|
<kbd>/</kbd>: Search the current view by text
|
||||||
</pre>
|
</pre>
|
||||||
|
@ -70,6 +70,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>c</kbd>: コミットをコピー (cherry-pick)
|
<kbd>c</kbd>: コミットをコピー (cherry-pick)
|
||||||
<kbd>C</kbd>: コミットを範囲コピー (cherry-pick)
|
<kbd>C</kbd>: コミットを範囲コピー (cherry-pick)
|
||||||
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: View selected item's files
|
<kbd><enter></kbd>: View selected item's files
|
||||||
<kbd>/</kbd>: 検索を開始
|
<kbd>/</kbd>: 検索を開始
|
||||||
</pre>
|
</pre>
|
||||||
@ -117,6 +118,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>g</kbd>: View reset options
|
<kbd>g</kbd>: View reset options
|
||||||
<kbd>c</kbd>: コミットをコピー (cherry-pick)
|
<kbd>c</kbd>: コミットをコピー (cherry-pick)
|
||||||
<kbd>C</kbd>: コミットを範囲コピー (cherry-pick)
|
<kbd>C</kbd>: コミットを範囲コピー (cherry-pick)
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: View selected item's files
|
<kbd><enter></kbd>: View selected item's files
|
||||||
<kbd>/</kbd>: 検索を開始
|
<kbd>/</kbd>: 検索を開始
|
||||||
</pre>
|
</pre>
|
||||||
@ -129,6 +131,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>d</kbd>: Discard this commit's changes to this file
|
<kbd>d</kbd>: Discard this commit's changes to this file
|
||||||
<kbd>o</kbd>: ファイルを開く
|
<kbd>o</kbd>: ファイルを開く
|
||||||
<kbd>e</kbd>: ファイルを編集
|
<kbd>e</kbd>: ファイルを編集
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><space></kbd>: Toggle file included in patch
|
<kbd><space></kbd>: Toggle file included in patch
|
||||||
<kbd>a</kbd>: Toggle all files included in patch
|
<kbd>a</kbd>: Toggle all files included in patch
|
||||||
<kbd><enter></kbd>: Enter file to add selected lines to the patch (or toggle directory collapsed)
|
<kbd><enter></kbd>: Enter file to add selected lines to the patch (or toggle directory collapsed)
|
||||||
@ -204,6 +207,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>g</kbd>: View upstream reset options
|
<kbd>g</kbd>: View upstream reset options
|
||||||
<kbd>D</kbd>: View reset options
|
<kbd>D</kbd>: View reset options
|
||||||
<kbd>`</kbd>: ファイルツリーの表示を切り替え
|
<kbd>`</kbd>: ファイルツリーの表示を切り替え
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd>M</kbd>: Git mergetoolを開く
|
<kbd>M</kbd>: Git mergetoolを開く
|
||||||
<kbd>f</kbd>: Fetch
|
<kbd>f</kbd>: Fetch
|
||||||
<kbd>/</kbd>: 検索を開始
|
<kbd>/</kbd>: 検索を開始
|
||||||
@ -344,6 +348,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>c</kbd>: コミットをコピー (cherry-pick)
|
<kbd>c</kbd>: コミットをコピー (cherry-pick)
|
||||||
<kbd>C</kbd>: コミットを範囲コピー (cherry-pick)
|
<kbd>C</kbd>: コミットを範囲コピー (cherry-pick)
|
||||||
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: コミットを閲覧
|
<kbd><enter></kbd>: コミットを閲覧
|
||||||
<kbd>/</kbd>: Filter the current view by text
|
<kbd>/</kbd>: Filter the current view by text
|
||||||
</pre>
|
</pre>
|
||||||
|
@ -57,6 +57,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>c</kbd>: 커밋을 복사 (cherry-pick)
|
<kbd>c</kbd>: 커밋을 복사 (cherry-pick)
|
||||||
<kbd>C</kbd>: 커밋을 범위로 복사 (cherry-pick)
|
<kbd>C</kbd>: 커밋을 범위로 복사 (cherry-pick)
|
||||||
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: 커밋 보기
|
<kbd><enter></kbd>: 커밋 보기
|
||||||
<kbd>/</kbd>: Filter the current view by text
|
<kbd>/</kbd>: Filter the current view by text
|
||||||
</pre>
|
</pre>
|
||||||
@ -87,6 +88,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>c</kbd>: 커밋을 복사 (cherry-pick)
|
<kbd>c</kbd>: 커밋을 복사 (cherry-pick)
|
||||||
<kbd>C</kbd>: 커밋을 범위로 복사 (cherry-pick)
|
<kbd>C</kbd>: 커밋을 범위로 복사 (cherry-pick)
|
||||||
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: View selected item's files
|
<kbd><enter></kbd>: View selected item's files
|
||||||
<kbd>/</kbd>: 검색 시작
|
<kbd>/</kbd>: 검색 시작
|
||||||
</pre>
|
</pre>
|
||||||
@ -281,6 +283,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>g</kbd>: View reset options
|
<kbd>g</kbd>: View reset options
|
||||||
<kbd>c</kbd>: 커밋을 복사 (cherry-pick)
|
<kbd>c</kbd>: 커밋을 복사 (cherry-pick)
|
||||||
<kbd>C</kbd>: 커밋을 범위로 복사 (cherry-pick)
|
<kbd>C</kbd>: 커밋을 범위로 복사 (cherry-pick)
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: View selected item's files
|
<kbd><enter></kbd>: View selected item's files
|
||||||
<kbd>/</kbd>: 검색 시작
|
<kbd>/</kbd>: 검색 시작
|
||||||
</pre>
|
</pre>
|
||||||
@ -293,6 +296,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>d</kbd>: Discard this commit's changes to this file
|
<kbd>d</kbd>: Discard this commit's changes to this file
|
||||||
<kbd>o</kbd>: 파일 닫기
|
<kbd>o</kbd>: 파일 닫기
|
||||||
<kbd>e</kbd>: 파일 편집
|
<kbd>e</kbd>: 파일 편집
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><space></kbd>: Toggle file included in patch
|
<kbd><space></kbd>: Toggle file included in patch
|
||||||
<kbd>a</kbd>: Toggle all files included in patch
|
<kbd>a</kbd>: Toggle all files included in patch
|
||||||
<kbd><enter></kbd>: Enter file to add selected lines to the patch (or toggle directory collapsed)
|
<kbd><enter></kbd>: Enter file to add selected lines to the patch (or toggle directory collapsed)
|
||||||
@ -343,6 +347,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>g</kbd>: View upstream reset options
|
<kbd>g</kbd>: View upstream reset options
|
||||||
<kbd>D</kbd>: View reset options
|
<kbd>D</kbd>: View reset options
|
||||||
<kbd>`</kbd>: 파일 트리뷰로 전환
|
<kbd>`</kbd>: 파일 트리뷰로 전환
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd>M</kbd>: Git mergetool를 열기
|
<kbd>M</kbd>: Git mergetool를 열기
|
||||||
<kbd>f</kbd>: Fetch
|
<kbd>f</kbd>: Fetch
|
||||||
<kbd>/</kbd>: 검색 시작
|
<kbd>/</kbd>: 검색 시작
|
||||||
|
@ -67,6 +67,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>g</kbd>: Bekijk upstream reset opties
|
<kbd>g</kbd>: Bekijk upstream reset opties
|
||||||
<kbd>D</kbd>: Bekijk reset opties
|
<kbd>D</kbd>: Bekijk reset opties
|
||||||
<kbd>`</kbd>: Toggle bestandsboom weergave
|
<kbd>`</kbd>: Toggle bestandsboom weergave
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd>M</kbd>: Open external merge tool (git mergetool)
|
<kbd>M</kbd>: Open external merge tool (git mergetool)
|
||||||
<kbd>f</kbd>: Fetch
|
<kbd>f</kbd>: Fetch
|
||||||
<kbd>/</kbd>: Start met zoeken
|
<kbd>/</kbd>: Start met zoeken
|
||||||
@ -120,6 +121,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>d</kbd>: Uitsluit deze commit zijn veranderingen aan dit bestand
|
<kbd>d</kbd>: Uitsluit deze commit zijn veranderingen aan dit bestand
|
||||||
<kbd>o</kbd>: Open bestand
|
<kbd>o</kbd>: Open bestand
|
||||||
<kbd>e</kbd>: Verander bestand
|
<kbd>e</kbd>: Verander bestand
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><space></kbd>: Toggle bestand inbegrepen in patch
|
<kbd><space></kbd>: Toggle bestand inbegrepen in patch
|
||||||
<kbd>a</kbd>: Toggle all files included in patch
|
<kbd>a</kbd>: Toggle all files included in patch
|
||||||
<kbd><enter></kbd>: Enter bestand om geselecteerde regels toe te voegen aan de patch
|
<kbd><enter></kbd>: Enter bestand om geselecteerde regels toe te voegen aan de patch
|
||||||
@ -159,6 +161,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>g</kbd>: Bekijk reset opties
|
<kbd>g</kbd>: Bekijk reset opties
|
||||||
<kbd>c</kbd>: Kopieer commit (cherry-pick)
|
<kbd>c</kbd>: Kopieer commit (cherry-pick)
|
||||||
<kbd>C</kbd>: Kopieer commit reeks (cherry-pick)
|
<kbd>C</kbd>: Kopieer commit reeks (cherry-pick)
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: Bekijk gecommite bestanden
|
<kbd><enter></kbd>: Bekijk gecommite bestanden
|
||||||
<kbd>/</kbd>: Start met zoeken
|
<kbd>/</kbd>: Start met zoeken
|
||||||
</pre>
|
</pre>
|
||||||
@ -223,6 +226,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>c</kbd>: Kopieer commit (cherry-pick)
|
<kbd>c</kbd>: Kopieer commit (cherry-pick)
|
||||||
<kbd>C</kbd>: Kopieer commit reeks (cherry-pick)
|
<kbd>C</kbd>: Kopieer commit reeks (cherry-pick)
|
||||||
<kbd><c-r></kbd>: Reset cherry-picked (gekopieerde) commits selectie
|
<kbd><c-r></kbd>: Reset cherry-picked (gekopieerde) commits selectie
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: Bekijk commits
|
<kbd><enter></kbd>: Bekijk commits
|
||||||
<kbd>/</kbd>: Filter the current view by text
|
<kbd>/</kbd>: Filter the current view by text
|
||||||
</pre>
|
</pre>
|
||||||
@ -312,6 +316,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>c</kbd>: Kopieer commit (cherry-pick)
|
<kbd>c</kbd>: Kopieer commit (cherry-pick)
|
||||||
<kbd>C</kbd>: Kopieer commit reeks (cherry-pick)
|
<kbd>C</kbd>: Kopieer commit reeks (cherry-pick)
|
||||||
<kbd><c-r></kbd>: Reset cherry-picked (gekopieerde) commits selectie
|
<kbd><c-r></kbd>: Reset cherry-picked (gekopieerde) commits selectie
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: Bekijk gecommite bestanden
|
<kbd><enter></kbd>: Bekijk gecommite bestanden
|
||||||
<kbd>/</kbd>: Start met zoeken
|
<kbd>/</kbd>: Start met zoeken
|
||||||
</pre>
|
</pre>
|
||||||
|
@ -83,6 +83,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>g</kbd>: Wyświetl opcje resetu
|
<kbd>g</kbd>: Wyświetl opcje resetu
|
||||||
<kbd>c</kbd>: Kopiuj commit (przebieranie)
|
<kbd>c</kbd>: Kopiuj commit (przebieranie)
|
||||||
<kbd>C</kbd>: Kopiuj zakres commitów (przebieranie)
|
<kbd>C</kbd>: Kopiuj zakres commitów (przebieranie)
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: Przeglądaj pliki commita
|
<kbd><enter></kbd>: Przeglądaj pliki commita
|
||||||
<kbd>/</kbd>: Search the current view by text
|
<kbd>/</kbd>: Search the current view by text
|
||||||
</pre>
|
</pre>
|
||||||
@ -167,6 +168,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>g</kbd>: View upstream reset options
|
<kbd>g</kbd>: View upstream reset options
|
||||||
<kbd>D</kbd>: Wyświetl opcje resetu
|
<kbd>D</kbd>: Wyświetl opcje resetu
|
||||||
<kbd>`</kbd>: Toggle file tree view
|
<kbd>`</kbd>: Toggle file tree view
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd>M</kbd>: Open external merge tool (git mergetool)
|
<kbd>M</kbd>: Open external merge tool (git mergetool)
|
||||||
<kbd>f</kbd>: Pobierz
|
<kbd>f</kbd>: Pobierz
|
||||||
<kbd>/</kbd>: Search the current view by text
|
<kbd>/</kbd>: Search the current view by text
|
||||||
@ -180,6 +182,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>d</kbd>: Porzuć zmiany commita dla tego pliku
|
<kbd>d</kbd>: Porzuć zmiany commita dla tego pliku
|
||||||
<kbd>o</kbd>: Otwórz plik
|
<kbd>o</kbd>: Otwórz plik
|
||||||
<kbd>e</kbd>: Edytuj plik
|
<kbd>e</kbd>: Edytuj plik
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><space></kbd>: Toggle file included in patch
|
<kbd><space></kbd>: Toggle file included in patch
|
||||||
<kbd>a</kbd>: Toggle all files included in patch
|
<kbd>a</kbd>: Toggle all files included in patch
|
||||||
<kbd><enter></kbd>: Enter file to add selected lines to the patch (or toggle directory collapsed)
|
<kbd><enter></kbd>: Enter file to add selected lines to the patch (or toggle directory collapsed)
|
||||||
@ -222,6 +225,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>c</kbd>: Kopiuj commit (przebieranie)
|
<kbd>c</kbd>: Kopiuj commit (przebieranie)
|
||||||
<kbd>C</kbd>: Kopiuj zakres commitów (przebieranie)
|
<kbd>C</kbd>: Kopiuj zakres commitów (przebieranie)
|
||||||
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: View commits
|
<kbd><enter></kbd>: View commits
|
||||||
<kbd>/</kbd>: Filter the current view by text
|
<kbd>/</kbd>: Filter the current view by text
|
||||||
</pre>
|
</pre>
|
||||||
@ -305,6 +309,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>c</kbd>: Kopiuj commit (przebieranie)
|
<kbd>c</kbd>: Kopiuj commit (przebieranie)
|
||||||
<kbd>C</kbd>: Kopiuj zakres commitów (przebieranie)
|
<kbd>C</kbd>: Kopiuj zakres commitów (przebieranie)
|
||||||
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
<kbd><c-r></kbd>: Reset cherry-picked (copied) commits selection
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: Przeglądaj pliki commita
|
<kbd><enter></kbd>: Przeglądaj pliki commita
|
||||||
<kbd>/</kbd>: Search the current view by text
|
<kbd>/</kbd>: Search the current view by text
|
||||||
</pre>
|
</pre>
|
||||||
|
@ -129,6 +129,7 @@ _Связки клавиш_
|
|||||||
<kbd>c</kbd>: Скопировать отобранные коммит (cherry-pick)
|
<kbd>c</kbd>: Скопировать отобранные коммит (cherry-pick)
|
||||||
<kbd>C</kbd>: Скопировать несколько отобранных коммитов (cherry-pick)
|
<kbd>C</kbd>: Скопировать несколько отобранных коммитов (cherry-pick)
|
||||||
<kbd><c-r></kbd>: Сбросить отобранную (скопированную | cherry-picked) выборку коммитов
|
<kbd><c-r></kbd>: Сбросить отобранную (скопированную | cherry-picked) выборку коммитов
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: Просмотреть коммиты
|
<kbd><enter></kbd>: Просмотреть коммиты
|
||||||
<kbd>/</kbd>: Filter the current view by text
|
<kbd>/</kbd>: Filter the current view by text
|
||||||
</pre>
|
</pre>
|
||||||
@ -165,6 +166,7 @@ _Связки клавиш_
|
|||||||
<kbd>g</kbd>: Просмотреть параметры сброса
|
<kbd>g</kbd>: Просмотреть параметры сброса
|
||||||
<kbd>c</kbd>: Скопировать отобранные коммит (cherry-pick)
|
<kbd>c</kbd>: Скопировать отобранные коммит (cherry-pick)
|
||||||
<kbd>C</kbd>: Скопировать несколько отобранных коммитов (cherry-pick)
|
<kbd>C</kbd>: Скопировать несколько отобранных коммитов (cherry-pick)
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: Просмотреть файлы выбранного элемента
|
<kbd><enter></kbd>: Просмотреть файлы выбранного элемента
|
||||||
<kbd>/</kbd>: Найти
|
<kbd>/</kbd>: Найти
|
||||||
</pre>
|
</pre>
|
||||||
@ -223,6 +225,7 @@ _Связки клавиш_
|
|||||||
<kbd>c</kbd>: Скопировать отобранные коммит (cherry-pick)
|
<kbd>c</kbd>: Скопировать отобранные коммит (cherry-pick)
|
||||||
<kbd>C</kbd>: Скопировать несколько отобранных коммитов (cherry-pick)
|
<kbd>C</kbd>: Скопировать несколько отобранных коммитов (cherry-pick)
|
||||||
<kbd><c-r></kbd>: Сбросить отобранную (скопированную | cherry-picked) выборку коммитов
|
<kbd><c-r></kbd>: Сбросить отобранную (скопированную | cherry-picked) выборку коммитов
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: Просмотреть файлы выбранного элемента
|
<kbd><enter></kbd>: Просмотреть файлы выбранного элемента
|
||||||
<kbd>/</kbd>: Найти
|
<kbd>/</kbd>: Найти
|
||||||
</pre>
|
</pre>
|
||||||
@ -257,6 +260,7 @@ _Связки клавиш_
|
|||||||
<kbd>d</kbd>: Отменить изменения коммита в этом файле
|
<kbd>d</kbd>: Отменить изменения коммита в этом файле
|
||||||
<kbd>o</kbd>: Открыть файл
|
<kbd>o</kbd>: Открыть файл
|
||||||
<kbd>e</kbd>: Редактировать файл
|
<kbd>e</kbd>: Редактировать файл
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><space></kbd>: Переключить файлы включённые в патч
|
<kbd><space></kbd>: Переключить файлы включённые в патч
|
||||||
<kbd>a</kbd>: Переключить все файлы, включённые в патч
|
<kbd>a</kbd>: Переключить все файлы, включённые в патч
|
||||||
<kbd><enter></kbd>: Введите файл, чтобы добавить выбранные строки в патч (или свернуть каталог переключения)
|
<kbd><enter></kbd>: Введите файл, чтобы добавить выбранные строки в патч (или свернуть каталог переключения)
|
||||||
@ -337,6 +341,7 @@ _Связки клавиш_
|
|||||||
<kbd>g</kbd>: Просмотреть параметры сброса upstream-ветки
|
<kbd>g</kbd>: Просмотреть параметры сброса upstream-ветки
|
||||||
<kbd>D</kbd>: Просмотреть параметры сброса
|
<kbd>D</kbd>: Просмотреть параметры сброса
|
||||||
<kbd>`</kbd>: Переключить вид дерева файлов
|
<kbd>`</kbd>: Переключить вид дерева файлов
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd>M</kbd>: Открыть внешний инструмент слияния (git mergetool)
|
<kbd>M</kbd>: Открыть внешний инструмент слияния (git mergetool)
|
||||||
<kbd>f</kbd>: Получить изменения
|
<kbd>f</kbd>: Получить изменения
|
||||||
<kbd>/</kbd>: Найти
|
<kbd>/</kbd>: Найти
|
||||||
|
@ -57,6 +57,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>c</kbd>: 复制提交(拣选)
|
<kbd>c</kbd>: 复制提交(拣选)
|
||||||
<kbd>C</kbd>: 复制提交范围(拣选)
|
<kbd>C</kbd>: 复制提交范围(拣选)
|
||||||
<kbd><c-r></kbd>: 重置已拣选(复制)的提交
|
<kbd><c-r></kbd>: 重置已拣选(复制)的提交
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: 查看提交
|
<kbd><enter></kbd>: 查看提交
|
||||||
<kbd>/</kbd>: Filter the current view by text
|
<kbd>/</kbd>: Filter the current view by text
|
||||||
</pre>
|
</pre>
|
||||||
@ -111,6 +112,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>c</kbd>: 复制提交(拣选)
|
<kbd>c</kbd>: 复制提交(拣选)
|
||||||
<kbd>C</kbd>: 复制提交范围(拣选)
|
<kbd>C</kbd>: 复制提交范围(拣选)
|
||||||
<kbd><c-r></kbd>: 重置已拣选(复制)的提交
|
<kbd><c-r></kbd>: 重置已拣选(复制)的提交
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: 查看提交的文件
|
<kbd><enter></kbd>: 查看提交的文件
|
||||||
<kbd>/</kbd>: 开始搜索
|
<kbd>/</kbd>: 开始搜索
|
||||||
</pre>
|
</pre>
|
||||||
@ -162,6 +164,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>g</kbd>: 查看重置选项
|
<kbd>g</kbd>: 查看重置选项
|
||||||
<kbd>c</kbd>: 复制提交(拣选)
|
<kbd>c</kbd>: 复制提交(拣选)
|
||||||
<kbd>C</kbd>: 复制提交范围(拣选)
|
<kbd>C</kbd>: 复制提交范围(拣选)
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: 查看提交的文件
|
<kbd><enter></kbd>: 查看提交的文件
|
||||||
<kbd>/</kbd>: 开始搜索
|
<kbd>/</kbd>: 开始搜索
|
||||||
</pre>
|
</pre>
|
||||||
@ -174,6 +177,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>d</kbd>: 放弃对此文件的提交更改
|
<kbd>d</kbd>: 放弃对此文件的提交更改
|
||||||
<kbd>o</kbd>: 打开文件
|
<kbd>o</kbd>: 打开文件
|
||||||
<kbd>e</kbd>: 编辑文件
|
<kbd>e</kbd>: 编辑文件
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><space></kbd>: 补丁中包含的切换文件
|
<kbd><space></kbd>: 补丁中包含的切换文件
|
||||||
<kbd>a</kbd>: Toggle all files included in patch
|
<kbd>a</kbd>: Toggle all files included in patch
|
||||||
<kbd><enter></kbd>: 输入文件以将所选行添加到补丁中(或切换目录折叠)
|
<kbd><enter></kbd>: 输入文件以将所选行添加到补丁中(或切换目录折叠)
|
||||||
@ -211,6 +215,7 @@ _Legend: `<c-b>` means ctrl+b, `<a-b>` means alt+b, `B` means shift+b_
|
|||||||
<kbd>g</kbd>: 查看上游重置选项
|
<kbd>g</kbd>: 查看上游重置选项
|
||||||
<kbd>D</kbd>: 查看重置选项
|
<kbd>D</kbd>: 查看重置选项
|
||||||
<kbd>`</kbd>: 切换文件树视图
|
<kbd>`</kbd>: 切换文件树视图
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd>M</kbd>: 打开外部合并工具 (git mergetool)
|
<kbd>M</kbd>: 打开外部合并工具 (git mergetool)
|
||||||
<kbd>f</kbd>: 抓取
|
<kbd>f</kbd>: 抓取
|
||||||
<kbd>/</kbd>: 开始搜索
|
<kbd>/</kbd>: 开始搜索
|
||||||
|
@ -57,6 +57,7 @@ _說明:`<c-b>` 表示 Ctrl+B、`<a-b>` 表示 Alt+B,`B`表示 Shift+B_
|
|||||||
<kbd>c</kbd>: 複製提交 (揀選)
|
<kbd>c</kbd>: 複製提交 (揀選)
|
||||||
<kbd>C</kbd>: 複製提交範圍 (揀選)
|
<kbd>C</kbd>: 複製提交範圍 (揀選)
|
||||||
<kbd><c-r></kbd>: 重設選定的揀選 (複製) 提交
|
<kbd><c-r></kbd>: 重設選定的揀選 (複製) 提交
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: 檢視提交
|
<kbd><enter></kbd>: 檢視提交
|
||||||
<kbd>/</kbd>: Filter the current view by text
|
<kbd>/</kbd>: Filter the current view by text
|
||||||
</pre>
|
</pre>
|
||||||
@ -154,6 +155,7 @@ _說明:`<c-b>` 表示 Ctrl+B、`<a-b>` 表示 Alt+B,`B`表示 Shift+B_
|
|||||||
<kbd>c</kbd>: 複製提交 (揀選)
|
<kbd>c</kbd>: 複製提交 (揀選)
|
||||||
<kbd>C</kbd>: 複製提交範圍 (揀選)
|
<kbd>C</kbd>: 複製提交範圍 (揀選)
|
||||||
<kbd><c-r></kbd>: 重設選定的揀選 (複製) 提交
|
<kbd><c-r></kbd>: 重設選定的揀選 (複製) 提交
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: 檢視所選項目的檔案
|
<kbd><enter></kbd>: 檢視所選項目的檔案
|
||||||
<kbd>/</kbd>: 開始搜尋
|
<kbd>/</kbd>: 開始搜尋
|
||||||
</pre>
|
</pre>
|
||||||
@ -205,6 +207,7 @@ _說明:`<c-b>` 表示 Ctrl+B、`<a-b>` 表示 Alt+B,`B`表示 Shift+B_
|
|||||||
<kbd>g</kbd>: 檢視重設選項
|
<kbd>g</kbd>: 檢視重設選項
|
||||||
<kbd>c</kbd>: 複製提交 (揀選)
|
<kbd>c</kbd>: 複製提交 (揀選)
|
||||||
<kbd>C</kbd>: 複製提交範圍 (揀選)
|
<kbd>C</kbd>: 複製提交範圍 (揀選)
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><enter></kbd>: 檢視所選項目的檔案
|
<kbd><enter></kbd>: 檢視所選項目的檔案
|
||||||
<kbd>/</kbd>: 開始搜尋
|
<kbd>/</kbd>: 開始搜尋
|
||||||
</pre>
|
</pre>
|
||||||
@ -224,6 +227,7 @@ _說明:`<c-b>` 表示 Ctrl+B、`<a-b>` 表示 Alt+B,`B`表示 Shift+B_
|
|||||||
<kbd>d</kbd>: 捨棄此提交對此檔案的更改
|
<kbd>d</kbd>: 捨棄此提交對此檔案的更改
|
||||||
<kbd>o</kbd>: 開啟檔案
|
<kbd>o</kbd>: 開啟檔案
|
||||||
<kbd>e</kbd>: 編輯檔案
|
<kbd>e</kbd>: 編輯檔案
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd><space></kbd>: 切換檔案是否包含在補丁中
|
<kbd><space></kbd>: 切換檔案是否包含在補丁中
|
||||||
<kbd>a</kbd>: 切換所有檔案是否包含在補丁中
|
<kbd>a</kbd>: 切換所有檔案是否包含在補丁中
|
||||||
<kbd><enter></kbd>: 輸入檔案以將選定的行添加至補丁(或切換目錄折疊)
|
<kbd><enter></kbd>: 輸入檔案以將選定的行添加至補丁(或切換目錄折疊)
|
||||||
@ -306,6 +310,7 @@ _說明:`<c-b>` 表示 Ctrl+B、`<a-b>` 表示 Alt+B,`B`表示 Shift+B_
|
|||||||
<kbd>g</kbd>: 檢視上游重設選項
|
<kbd>g</kbd>: 檢視上游重設選項
|
||||||
<kbd>D</kbd>: 檢視重設選項
|
<kbd>D</kbd>: 檢視重設選項
|
||||||
<kbd>`</kbd>: 切換檔案樹狀視圖
|
<kbd>`</kbd>: 切換檔案樹狀視圖
|
||||||
|
<kbd><c-t></kbd>: Open external diff tool (git difftool)
|
||||||
<kbd>M</kbd>: 開啟外部合併工具 (git mergetool)
|
<kbd>M</kbd>: 開啟外部合併工具 (git mergetool)
|
||||||
<kbd>f</kbd>: 擷取
|
<kbd>f</kbd>: 擷取
|
||||||
<kbd>/</kbd>: 開始搜尋
|
<kbd>/</kbd>: 開始搜尋
|
||||||
|
@ -40,3 +40,41 @@ func (self *DiffCommands) GetAllDiff(staged bool) (string, error) {
|
|||||||
ToArgv(),
|
ToArgv(),
|
||||||
).RunWithOutput()
|
).RunWithOutput()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type DiffToolCmdOptions struct {
|
||||||
|
// The path to show a diff for. Pass "." for the entire repo.
|
||||||
|
Filepath string
|
||||||
|
|
||||||
|
// The commit against which to show the diff. Leave empty to show a diff of
|
||||||
|
// the working copy.
|
||||||
|
FromCommit string
|
||||||
|
|
||||||
|
// The commit to diff against FromCommit. Leave empty to diff the working
|
||||||
|
// copy against FromCommit. Leave both FromCommit and ToCommit empty to show
|
||||||
|
// the diff of the unstaged working copy changes against the index if Staged
|
||||||
|
// is false, or the staged changes against HEAD if Staged is true.
|
||||||
|
ToCommit string
|
||||||
|
|
||||||
|
// Whether to reverse the left and right sides of the diff.
|
||||||
|
Reverse bool
|
||||||
|
|
||||||
|
// Whether the given Filepath is a directory. We'll pass --dir-diff to
|
||||||
|
// git-difftool in that case.
|
||||||
|
IsDirectory bool
|
||||||
|
|
||||||
|
// Whether to show the staged or the unstaged changes. Must be false if both
|
||||||
|
// FromCommit and ToCommit are non-empty.
|
||||||
|
Staged bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (self *DiffCommands) OpenDiffToolCmdObj(opts DiffToolCmdOptions) oscommands.ICmdObj {
|
||||||
|
return self.cmd.New(NewGitCmd("difftool").
|
||||||
|
Arg("--no-prompt").
|
||||||
|
ArgIf(opts.IsDirectory, "--dir-diff").
|
||||||
|
ArgIf(opts.Staged, "--cached").
|
||||||
|
ArgIf(opts.FromCommit != "", opts.FromCommit).
|
||||||
|
ArgIf(opts.ToCommit != "", opts.ToCommit).
|
||||||
|
ArgIf(opts.Reverse, "-R").
|
||||||
|
Arg("--", opts.Filepath).
|
||||||
|
ToArgv())
|
||||||
|
}
|
||||||
|
@ -31,10 +31,6 @@ func (self *WorkingTreeCommands) OpenMergeToolCmdObj() oscommands.ICmdObj {
|
|||||||
return self.cmd.New(NewGitCmd("mergetool").ToArgv())
|
return self.cmd.New(NewGitCmd("mergetool").ToArgv())
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *WorkingTreeCommands) OpenMergeTool() error {
|
|
||||||
return self.OpenMergeToolCmdObj().Run()
|
|
||||||
}
|
|
||||||
|
|
||||||
// StageFile stages a file
|
// StageFile stages a file
|
||||||
func (self *WorkingTreeCommands) StageFile(path string) error {
|
func (self *WorkingTreeCommands) StageFile(path string) error {
|
||||||
return self.StageFiles([]string{path})
|
return self.StageFiles([]string{path})
|
||||||
|
@ -347,6 +347,7 @@ type KeybindingUniversalConfig struct {
|
|||||||
ToggleWhitespaceInDiffView string `yaml:"toggleWhitespaceInDiffView"`
|
ToggleWhitespaceInDiffView string `yaml:"toggleWhitespaceInDiffView"`
|
||||||
IncreaseContextInDiffView string `yaml:"increaseContextInDiffView"`
|
IncreaseContextInDiffView string `yaml:"increaseContextInDiffView"`
|
||||||
DecreaseContextInDiffView string `yaml:"decreaseContextInDiffView"`
|
DecreaseContextInDiffView string `yaml:"decreaseContextInDiffView"`
|
||||||
|
OpenDiffTool string `yaml:"openDiffTool"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type KeybindingStatusConfig struct {
|
type KeybindingStatusConfig struct {
|
||||||
@ -743,6 +744,7 @@ func GetDefaultConfig() *UserConfig {
|
|||||||
ToggleWhitespaceInDiffView: "<c-w>",
|
ToggleWhitespaceInDiffView: "<c-w>",
|
||||||
IncreaseContextInDiffView: "}",
|
IncreaseContextInDiffView: "}",
|
||||||
DecreaseContextInDiffView: "{",
|
DecreaseContextInDiffView: "{",
|
||||||
|
OpenDiffTool: "<c-t>",
|
||||||
},
|
},
|
||||||
Status: KeybindingStatusConfig{
|
Status: KeybindingStatusConfig{
|
||||||
CheckForUpdate: "u",
|
CheckForUpdate: "u",
|
||||||
|
@ -3,6 +3,7 @@ package controllers
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/commands/git_commands"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
||||||
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
"github.com/jesseduffield/lazygit/pkg/gui/types"
|
||||||
)
|
)
|
||||||
@ -76,6 +77,11 @@ func (self *BasicCommitsController) GetKeybindings(opts types.KeybindingsOpts) [
|
|||||||
Handler: self.c.Helpers().CherryPick.Reset,
|
Handler: self.c.Helpers().CherryPick.Reset,
|
||||||
Description: self.c.Tr.ResetCherryPick,
|
Description: self.c.Tr.ResetCherryPick,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Key: opts.GetKey(opts.Config.Universal.OpenDiffTool),
|
||||||
|
Handler: self.checkSelected(self.openDiffTool),
|
||||||
|
Description: self.c.Tr.OpenDiffTool,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
return bindings
|
return bindings
|
||||||
@ -272,3 +278,18 @@ func (self *BasicCommitsController) copy(commit *models.Commit) error {
|
|||||||
func (self *BasicCommitsController) copyRange(*models.Commit) error {
|
func (self *BasicCommitsController) copyRange(*models.Commit) error {
|
||||||
return self.c.Helpers().CherryPick.CopyRange(self.context.GetSelectedLineIdx(), self.context.GetCommits(), self.context)
|
return self.c.Helpers().CherryPick.CopyRange(self.context.GetSelectedLineIdx(), self.context.GetCommits(), self.context)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *BasicCommitsController) openDiffTool(commit *models.Commit) error {
|
||||||
|
to := commit.RefName()
|
||||||
|
from, reverse := self.c.Modes().Diffing.GetFromAndReverseArgsForDiff(commit.ParentRefName())
|
||||||
|
_, err := self.c.RunSubprocess(self.c.Git().Diff.OpenDiffToolCmdObj(
|
||||||
|
git_commands.DiffToolCmdOptions{
|
||||||
|
Filepath: ".",
|
||||||
|
FromCommit: from,
|
||||||
|
ToCommit: to,
|
||||||
|
Reverse: reverse,
|
||||||
|
IsDirectory: true,
|
||||||
|
Staged: false,
|
||||||
|
}))
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
@ -2,6 +2,7 @@ package controllers
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jesseduffield/gocui"
|
"github.com/jesseduffield/gocui"
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/commands/git_commands"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/patch"
|
"github.com/jesseduffield/lazygit/pkg/commands/patch"
|
||||||
"github.com/jesseduffield/lazygit/pkg/gui/context"
|
"github.com/jesseduffield/lazygit/pkg/gui/context"
|
||||||
@ -47,6 +48,11 @@ func (self *CommitFilesController) GetKeybindings(opts types.KeybindingsOpts) []
|
|||||||
Handler: self.checkSelected(self.edit),
|
Handler: self.checkSelected(self.edit),
|
||||||
Description: self.c.Tr.EditFile,
|
Description: self.c.Tr.EditFile,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Key: opts.GetKey(opts.Config.Universal.OpenDiffTool),
|
||||||
|
Handler: self.checkSelected(self.openDiffTool),
|
||||||
|
Description: self.c.Tr.OpenDiffTool,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Key: opts.GetKey(opts.Config.Universal.Select),
|
Key: opts.GetKey(opts.Config.Universal.Select),
|
||||||
Handler: self.checkSelected(self.toggleForPatch),
|
Handler: self.checkSelected(self.toggleForPatch),
|
||||||
@ -201,6 +207,22 @@ func (self *CommitFilesController) edit(node *filetree.CommitFileNode) error {
|
|||||||
return self.c.Helpers().Files.EditFile(node.GetPath())
|
return self.c.Helpers().Files.EditFile(node.GetPath())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *CommitFilesController) openDiffTool(node *filetree.CommitFileNode) error {
|
||||||
|
ref := self.context().GetRef()
|
||||||
|
to := ref.RefName()
|
||||||
|
from, reverse := self.c.Modes().Diffing.GetFromAndReverseArgsForDiff(ref.ParentRefName())
|
||||||
|
_, err := self.c.RunSubprocess(self.c.Git().Diff.OpenDiffToolCmdObj(
|
||||||
|
git_commands.DiffToolCmdOptions{
|
||||||
|
Filepath: node.GetPath(),
|
||||||
|
FromCommit: from,
|
||||||
|
ToCommit: to,
|
||||||
|
Reverse: reverse,
|
||||||
|
IsDirectory: !node.IsFile(),
|
||||||
|
Staged: false,
|
||||||
|
}))
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func (self *CommitFilesController) toggleForPatch(node *filetree.CommitFileNode) error {
|
func (self *CommitFilesController) toggleForPatch(node *filetree.CommitFileNode) error {
|
||||||
toggle := func() error {
|
toggle := func() error {
|
||||||
return self.c.WithWaitingStatus(self.c.Tr.UpdatingPatch, func(gocui.Task) error {
|
return self.c.WithWaitingStatus(self.c.Tr.UpdatingPatch, func(gocui.Task) error {
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/jesseduffield/gocui"
|
"github.com/jesseduffield/gocui"
|
||||||
|
"github.com/jesseduffield/lazygit/pkg/commands/git_commands"
|
||||||
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
"github.com/jesseduffield/lazygit/pkg/commands/models"
|
||||||
"github.com/jesseduffield/lazygit/pkg/gui/context"
|
"github.com/jesseduffield/lazygit/pkg/gui/context"
|
||||||
"github.com/jesseduffield/lazygit/pkg/gui/filetree"
|
"github.com/jesseduffield/lazygit/pkg/gui/filetree"
|
||||||
@ -122,6 +123,11 @@ func (self *FilesController) GetKeybindings(opts types.KeybindingsOpts) []*types
|
|||||||
Handler: self.toggleTreeView,
|
Handler: self.toggleTreeView,
|
||||||
Description: self.c.Tr.ToggleTreeView,
|
Description: self.c.Tr.ToggleTreeView,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Key: opts.GetKey(opts.Config.Universal.OpenDiffTool),
|
||||||
|
Handler: self.checkSelectedFileNode(self.openDiffTool),
|
||||||
|
Description: self.c.Tr.OpenDiffTool,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Key: opts.GetKey(opts.Config.Files.OpenMergeTool),
|
Key: opts.GetKey(opts.Config.Files.OpenMergeTool),
|
||||||
Handler: self.c.Helpers().WorkingTree.OpenMergeTool,
|
Handler: self.c.Helpers().WorkingTree.OpenMergeTool,
|
||||||
@ -684,6 +690,26 @@ func (self *FilesController) Open() error {
|
|||||||
return self.c.Helpers().Files.OpenFile(node.GetPath())
|
return self.c.Helpers().Files.OpenFile(node.GetPath())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *FilesController) openDiffTool(node *filetree.FileNode) error {
|
||||||
|
fromCommit := ""
|
||||||
|
reverse := false
|
||||||
|
if self.c.Modes().Diffing.Active() {
|
||||||
|
fromCommit = self.c.Modes().Diffing.Ref
|
||||||
|
reverse = self.c.Modes().Diffing.Reverse
|
||||||
|
}
|
||||||
|
return self.c.RunSubprocessAndRefresh(
|
||||||
|
self.c.Git().Diff.OpenDiffToolCmdObj(
|
||||||
|
git_commands.DiffToolCmdOptions{
|
||||||
|
Filepath: node.Path,
|
||||||
|
FromCommit: fromCommit,
|
||||||
|
ToCommit: "",
|
||||||
|
Reverse: reverse,
|
||||||
|
IsDirectory: !node.IsFile(),
|
||||||
|
Staged: !node.GetHasUnstagedChanges(),
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
func (self *FilesController) switchToMerge() error {
|
func (self *FilesController) switchToMerge() error {
|
||||||
file := self.getSelectedFile()
|
file := self.getSelectedFile()
|
||||||
if file == nil {
|
if file == nil {
|
||||||
|
@ -46,6 +46,7 @@ type TranslationSet struct {
|
|||||||
ToggleStaged string
|
ToggleStaged string
|
||||||
ToggleStagedAll string
|
ToggleStagedAll string
|
||||||
ToggleTreeView string
|
ToggleTreeView string
|
||||||
|
OpenDiffTool string
|
||||||
OpenMergeTool string
|
OpenMergeTool string
|
||||||
Refresh string
|
Refresh string
|
||||||
Push string
|
Push string
|
||||||
@ -782,6 +783,7 @@ type Actions struct {
|
|||||||
Undo string
|
Undo string
|
||||||
Redo string
|
Redo string
|
||||||
CopyPullRequestURL string
|
CopyPullRequestURL string
|
||||||
|
OpenDiffTool string
|
||||||
OpenMergeTool string
|
OpenMergeTool string
|
||||||
OpenCommitInBrowser string
|
OpenCommitInBrowser string
|
||||||
OpenPullRequest string
|
OpenPullRequest string
|
||||||
@ -862,6 +864,7 @@ func EnglishTranslationSet() TranslationSet {
|
|||||||
ToggleStaged: "Toggle staged",
|
ToggleStaged: "Toggle staged",
|
||||||
ToggleStagedAll: "Stage/unstage all",
|
ToggleStagedAll: "Stage/unstage all",
|
||||||
ToggleTreeView: "Toggle file tree view",
|
ToggleTreeView: "Toggle file tree view",
|
||||||
|
OpenDiffTool: "Open external diff tool (git difftool)",
|
||||||
OpenMergeTool: "Open external merge tool (git mergetool)",
|
OpenMergeTool: "Open external merge tool (git mergetool)",
|
||||||
Refresh: "Refresh",
|
Refresh: "Refresh",
|
||||||
Push: "Push",
|
Push: "Push",
|
||||||
@ -1558,6 +1561,7 @@ func EnglishTranslationSet() TranslationSet {
|
|||||||
Undo: "Undo",
|
Undo: "Undo",
|
||||||
Redo: "Redo",
|
Redo: "Redo",
|
||||||
CopyPullRequestURL: "Copy pull request URL",
|
CopyPullRequestURL: "Copy pull request URL",
|
||||||
|
OpenDiffTool: "Open diff tool",
|
||||||
OpenMergeTool: "Open merge tool",
|
OpenMergeTool: "Open merge tool",
|
||||||
OpenCommitInBrowser: "Open commit in browser",
|
OpenCommitInBrowser: "Open commit in browser",
|
||||||
OpenPullRequest: "Open pull request in browser",
|
OpenPullRequest: "Open pull request in browser",
|
||||||
|
@ -864,6 +864,10 @@
|
|||||||
"decreaseContextInDiffView": {
|
"decreaseContextInDiffView": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"default": "{"
|
"default": "{"
|
||||||
|
},
|
||||||
|
"openDiffTool": {
|
||||||
|
"type": "string",
|
||||||
|
"default": "\u003cc-t\u003e"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user