この2年ほど、LazygitにちまちまとPull Requestを投げています。 マージされたものもなんだかんだでほどほどの数になったので、それぞれについて振り返ってみます。
ちなみに私は英語が大の苦手であるため、PRに書かれている英語はGoogle翻訳とパッションによって構成されています。
- Lazygitとは
- 1. fix a bug related to inserting and deleting wide characters by Ryooooooga · Pull Request #10 · jesseduffield/gocui · GitHub
- 2. Fix command escaping #1168 by Ryooooooga · Pull Request #1173 · jesseduffield/lazygit · GitHub
- 3. Improve command execution with strange file names. by Ryooooooga · Pull Request #1177 · jesseduffield/lazygit · GitHub
- 4. Fix a placeholder for remote name edit box by Ryooooooga · Pull Request #1178 · jesseduffield/lazygit · GitHub
- 5. the patch panel would crash if the filename contained an odd number of double quotes by Ryooooooga · Pull Request #1434 · jesseduffield/lazygit · GitHub
- 6. Fix submodule command escaping #1436 by Ryooooooga · Pull Request #1437 · jesseduffield/lazygit · GitHub
- 7. Fix stash submodule #1436 by Ryooooooga · Pull Request #1440 · jesseduffield/lazygit · GitHub
- 8. Fix crash on remove tracked files #1480 by Ryooooooga · Pull Request #1481 · jesseduffield/lazygit · GitHub
- 9. Improved command execution by Ryooooooga · Pull Request #1501 · jesseduffield/lazygit · GitHub
- 10. Fix staged renamed file with unstaged in file pane #1408 by Ryooooooga · Pull Request #1438 · jesseduffield/lazygit · GitHub
- 11. Fix panic during merge conflict #1375 by Ryooooooga · Pull Request #1446 · jesseduffield/lazygit · GitHub
- 12. Make os.editCommand customizable using template by Ryooooooga · Pull Request #1413 · jesseduffield/lazygit · GitHub
- 13. Fix open command in Windows #1403 by Ryooooooga · Pull Request #1448 · jesseduffield/lazygit · GitHub
- 14. Change not to use cat command #1299 by Ryooooooga · Pull Request #1449 · jesseduffield/lazygit · GitHub
- 15. Fix deletion of unmerged branches in languages other than English by Ryooooooga · Pull Request #1463 · jesseduffield/lazygit · GitHub
- 16. Save patch files in TempDir #1318 by Ryooooooga · Pull Request #1494 · jesseduffield/lazygit · GitHub
- 17. Fix open link command in Windows #470 by Ryooooooga · Pull Request #1504 · jesseduffield/lazygit · GitHub
- 18. CI tests on Windows by Ryooooooga · Pull Request #1503 · jesseduffield/lazygit · GitHub
- 19. Fix rendering of view titles containing multi-byte char by Ryooooooga · Pull Request #15 · jesseduffield/gocui · GitHub
- 20. Improve backward compatibility by Ryooooooga · Pull Request #1529 · jesseduffield/lazygit · GitHub
- 21. Fix multibyte initial characters by Ryooooooga · Pull Request #1540 · jesseduffield/lazygit · GitHub
- 22. Support `merge.conflictStyle diff3` #940 by Ryooooooga · Pull Request #1447 · jesseduffield/lazygit · GitHub
- 23. Fix permissions issue with temp dir #1318 by Ryooooooga · Pull Request #1852 · jesseduffield/lazygit · GitHub
- 24. Fix an error when pressing enter on the first commit in the commits panel by Ryooooooga · Pull Request #1483 · jesseduffield/lazygit · GitHub
- 25. Fix diff of renamed files by Ryooooooga · Pull Request #1859 · jesseduffield/lazygit · GitHub
- 26. Support open/edit files in merge conflict panel by Ryooooooga · Pull Request #1857 · jesseduffield/lazygit · GitHub
- 27. Fix line wrapping when combining wide characters with eraseInLineFromCursor. by Ryooooooga · Pull Request #18 · jesseduffield/gocui · GitHub
- 28. fix not to trim renamed file names by Ryooooooga · Pull Request #1876 · jesseduffield/lazygit · GitHub
- 29. Improve default editCommandTemplate by Ryooooooga · Pull Request #1891 · jesseduffield/lazygit · GitHub
- 30. Display Nerdfont icons by Ryooooooga · Pull Request #1894 · jesseduffield/lazygit · GitHub
- 31. Fix a crash that occurred when pressing enter on an empty commit, reflog, or stash panel by Ryooooooga · Pull Request #1914 · jesseduffield/lazygit · GitHub
- 32. Add Japanese translation by Ryooooooga · Pull Request #1913 · jesseduffield/lazygit · GitHub
- 33. add ability to edit hunk by Ryooooooga · Pull Request #1912 · jesseduffield/lazygit · GitHub
- 34. Fix the prompt height and appStatus width calculation when using multi byte characters by Ryooooooga · Pull Request #1920 · jesseduffield/lazygit · GitHub
- 35. fix subtitle collision by Ryooooooga · Pull Request #20 · jesseduffield/gocui · GitHub
- 36. Fix copying of the commit author to the clipboard by Ryooooooga · Pull Request #1923 · jesseduffield/lazygit · GitHub
- 37. Accept named colors for authorColors #1879 by Ryooooooga · Pull Request #1910 · jesseduffield/lazygit · GitHub
- 38. Improve loading speed of commits and reflog when `log.showSignature=true` by Ryooooooga · Pull Request #1911 · jesseduffield/lazygit · GitHub
- 39. WIP: Fix ambiguous refname by Ryooooooga · Pull Request #1944 · jesseduffield/lazygit · GitHub
- 40. Fix linter errors by Ryooooooga · Pull Request #1945 · jesseduffield/lazygit · GitHub
- 41. add ability to customize time format in commit log by Ryooooooga · Pull Request #1948 · jesseduffield/lazygit · GitHub
- 42. Localize panel titles by Ryooooooga · Pull Request #1936 · jesseduffield/lazygit · GitHub
- 43. add missing `keybinding.branches.renameBranch` to Config.md by Ryooooooga · Pull Request #2002 · jesseduffield/lazygit · GitHub
- 44. docs(Config.md): fix docs on specifying config file by Ryooooooga · Pull Request #2022 · jesseduffield/lazygit · GitHub
- 45. Change not to run `Generate Sponsors` action on the fork repository by Ryooooooga · Pull Request #2039 · jesseduffield/lazygit · GitHub
- 46. fix subtitle collision by Ryooooooga · Pull Request #20 · jesseduffield/gocui · GitHub
- 47. Add `notARepository: quit` by Ryooooooga · Pull Request #2098 · jesseduffield/lazygit · GitHub
- 48. improve integration test portability by Ryooooooga · Pull Request #2124 · jesseduffield/lazygit · GitHub
- 49. fix initial scroll position of edit box by Ryooooooga · Pull Request #2123 · jesseduffield/lazygit · GitHub
- 50. fix initial origin of editor box by Ryooooooga · Pull Request #2146 · jesseduffield/lazygit · GitHub
- 51. fix initial origin of commit message panel by Ryooooooga · Pull Request #2221 · jesseduffield/lazygit · GitHub
- 52. Ignore stderr when loading git status by Ryooooooga · Pull Request #2081 · jesseduffield/lazygit · GitHub
- 53. Add Ctrl+W keybind to delete word like shell by Ryooooooga · Pull Request #16 · jesseduffield/gocui · GitHub
- 54. add support for emacs keybindings by Ryooooooga · Pull Request #2183 · jesseduffield/lazygit · GitHub
- 55. Fix an issue where long inputs containing wide characters cause blank spaces on the right side. by Ryooooooga · Pull Request #17 · jesseduffield/gocui · GitHub
- 56. fix: improve hard tab rendering by Ryooooooga · Pull Request #21 · jesseduffield/gocui · GitHub
- 57. Support ANSI reset sequence by Ryooooooga · Pull Request #22 · jesseduffield/gocui · GitHub
- 58. Navigate by word using alt+left/right. by Ryooooooga · Pull Request #19 · jesseduffield/gocui · GitHub
- 59. navigate by word in the editor by Ryooooooga · Pull Request #2204 · jesseduffield/lazygit · GitHub
- 60. Allow `OSCommand.Quote` to be invoked within a custom command by Ryooooooga · Pull Request #2193 · jesseduffield/lazygit · GitHub
- 61. fix stash with empty message by Ryooooooga · Pull Request #2218 · jesseduffield/lazygit · GitHub
- 62. add stash icon by Ryooooooga · Pull Request #2219 · jesseduffield/lazygit · GitHub
- 63. allow nil in keybindings by Ryooooooga · Pull Request #23 · jesseduffield/gocui · GitHub
- 64. allow `null` in keybindings by Ryooooooga · Pull Request #2222 · jesseduffield/lazygit · GitHub
- 65. rename stash by Ryooooooga · Pull Request #2220 · jesseduffield/lazygit · GitHub
- 66. Ignore OSC sequence by Ryooooooga · Pull Request #24 · jesseduffield/gocui · GitHub
- 67. bump gocui by Ryooooooga · Pull Request #2276 · jesseduffield/lazygit · GitHub
- 68. fix ambiguous branch name by Ryooooooga · Pull Request #2224 · jesseduffield/lazygit · GitHub
- 69. fix goroutine leak by Ryooooooga · Pull Request #25 · jesseduffield/gocui · GitHub
- 70. fix diff scroll #2309 by Ryooooooga · Pull Request #2326 · jesseduffield/lazygit · GitHub
- まとめ
Lazygitとは
Lazygitは Jesse Duffield氏 (@jesseduffield) によって開発されているGo製のTUI Gitクライアントです。
競合するOSSに Tig や GitUI がありますが、画面レイアウトやデフォルトのキーバインディングがこれらに比べよく手に馴染むことからLazygitを選択しています。
一方で結構バグが多く、ちょっとだめな感じがかわいらしさと愛嬌を感じます。
1. fix a bug related to inserting and deleting wide characters by Ryooooooga · Pull Request #10 · jesseduffield/gocui · GitHub
Lazygitに対する最初のコントリビューションは、Lazygit本体ではなくGocuiに対するものでした。
Gocui はLazygitが使用しているTUIフレームワークです。
現在Lazygitが使用しているGocui (jesseduffield/gocui) は jroimartin/gocui のフォークです。jesseduffield/gocui は開発の停滞しているフォーク元に対しワイド文字の対応などを加えたものであり、同じく Jesse Duffield氏 によってメンテされています。紆余曲折を経て、中身はフォーク元とはほぼ別物になっています。ちなみにアクティブなブランチはmasterではなく awesome なのでGocuiにPRを投げる場合は注意しましょう。
上記のPRはLazygit上での日本語入力を改善するものです。当時のLazygitは日本語入力時の動作におかしなところがあった (入力の末尾がワイド文字の場合にbackspaceが動作しない、入力位置がおかしくなる、など) ためそれを修正しました。
2. Fix command escaping #1168 by Ryooooooga · Pull Request #1173 · jesseduffield/lazygit · GitHub
特定のバージョン以降でコミットメッセージに含まれる $
や `
が正しくエスケープされなくなったため、シェルエスケープ関数 (OSCommand#Quote()
) とその使用箇所を修正したものです。
Lazygitはコマンドの実行時に内部で str.ToArgv
という関数を利用しているのですがその動作が端的に言ってあたまおかしく、また、OSCommand#Quote()
の結果がstr.ToArgv
で正しく解析できること、Bashスクリプトとして正しくなること、さらにWindows上でも動作することを保証しなければならなかったため、変更の行数の少なさとは裏腹に調査と実装にかなり骨を折りました。
3. Improve command execution with strange file names. by Ryooooooga · Pull Request #1177 · jesseduffield/lazygit · GitHub
#1173 の実装中に、ファイル名が -
で始まるファイルに対する操作が正しく行えないことに気付いたためそれを修正しました。
また、非ASCII文字のファイル名が正しく表示されない問題もついでに直しています。
4. Fix a placeholder for remote name edit box by Ryooooooga · Pull Request #1178 · jesseduffield/lazygit · GitHub
プレースホルダーの展開に失敗していることに気がついたため、修正しました。
テキストテンプレート中に空白を含むのはGoの text/template 的には合法ですが、これを含むLazygitの多くでは text/template ではなく単に{{.placeholder}}
と{{placeholder}}
という文字列を置換するだけの軽量の関数 (ResolvePlaceholderString
) が使用されています。
5. the patch panel would crash if the filename contained an odd number of double quotes by Ryooooooga · Pull Request #1434 · jesseduffield/lazygit · GitHub
6. Fix submodule command escaping #1436 by Ryooooooga · Pull Request #1437 · jesseduffield/lazygit · GitHub
7. Fix stash submodule #1436 by Ryooooooga · Pull Request #1440 · jesseduffield/lazygit · GitHub
8. Fix crash on remove tracked files #1480 by Ryooooooga · Pull Request #1481 · jesseduffield/lazygit · GitHub
9. Improved command execution by Ryooooooga · Pull Request #1501 · jesseduffield/lazygit · GitHub
ひたすらコマンドのQuoteが足りない箇所にQuoteを足していきました。ちなみに #1501 で1箇所エンバグがありました。ごめんなさい。
10. Fix staged renamed file with unstaged in file pane #1408 by Ryooooooga · Pull Request #1438 · jesseduffield/lazygit · GitHub
->
を名前に含むファイルを正しく扱えないのを修正しました。
11. Fix panic during merge conflict #1375 by Ryooooooga · Pull Request #1446 · jesseduffield/lazygit · GitHub
異常なコンフリクトマーカー (<<<<<<<
, =======
, >>>>>>>
) を含むファイルで発生するnilアクセスによるクラッシュを修正しました。
12. Make os.editCommand customizable using template by Ryooooooga · Pull Request #1413 · jesseduffield/lazygit · GitHub
editCommandTemplate
という設定項目を追加し、選択されている行をvimなどのエディタで開けるようにしました。本当は openCommand
と同様に editCommand
の役割を変更するつもりでしたが、後方互換性のために項目を新設することになりました。
13. Fix open command in Windows #1403 by Ryooooooga · Pull Request #1448 · jesseduffield/lazygit · GitHub
Windows上でファイルやリンクが正しく開けないのを修正しました。
14. Change not to use cat command #1299 by Ryooooooga · Pull Request #1449 · jesseduffield/lazygit · GitHub
Windows上で一部のコマンドが動作しないのを修正しました。
15. Fix deletion of unmerged branches in languages other than English by Ryooooooga · Pull Request #1463 · jesseduffield/lazygit · GitHub
一部の動作がGitのエラーメッセージに依存しており、英語以外のロケールで動作しないのを修正しました。
16. Save patch files in TempDir #1318 by Ryooooooga · Pull Request #1494 · jesseduffield/lazygit · GitHub
行単位で変更をステージングする際にconfigディレクトリ以下に.patch
ファイルが作成されるのが鬱陶しかったため、$TMPDIR
以下に作成するように変更しました。
17. Fix open link command in Windows #470 by Ryooooooga · Pull Request #1504 · jesseduffield/lazygit · GitHub
Linux上でファイルを開くためのコード周りに汚い特殊化が必要なのを取り除くための修正です。
18. CI tests on Windows by Ryooooooga · Pull Request #1503 · jesseduffield/lazygit · GitHub
CIをWindows上で動かすものです。
19. Fix rendering of view titles containing multi-byte char by Ryooooooga · Pull Request #15 · jesseduffield/gocui · GitHub
RuneWidth(s)
を使用すべき箇所で len(s)
を使用している非CJK語圏あるあるの修正です。
20. Improve backward compatibility by Ryooooooga · Pull Request #1529 · jesseduffield/lazygit · GitHub
古いGitでコミット一覧が表示されないのを修正するものです。
これの検証のためにGitのDockerイメージを作りました。
21. Fix multibyte initial characters by Ryooooooga · Pull Request #1540 · jesseduffield/lazygit · GitHub
コミット一覧に表示されるcommit authorのイニシャルがマルチバイト文字を考慮されていなかったためその修正です。
22. Support `merge.conflictStyle diff3` #940 by Ryooooooga · Pull Request #1447 · jesseduffield/lazygit · GitHub
マージコンフリクトリソルバーの diff3
形式への対応です。難産でした。
23. Fix permissions issue with temp dir #1318 by Ryooooooga · Pull Request #1852 · jesseduffield/lazygit · GitHub
#1494 がマルチユーザを考慮していなかったため発生した権限関係の不具合の修正です。
24. Fix an error when pressing enter on the first commit in the commits panel by Ryooooooga · Pull Request #1483 · jesseduffield/lazygit · GitHub
最初のコミットの詳細が閲覧できないことの修正です。途中、私がJesse氏の指摘を正しく理解できなかったため放置してしまい、マージまでに半年以上かかってしまいました。
25. Fix diff of renamed files by Ryooooooga · Pull Request #1859 · jesseduffield/lazygit · GitHub
リネームされたファイルのdiffが正しく表示されなかったため、それを修正しました。
26. Support open/edit files in merge conflict panel by Ryooooooga · Pull Request #1857 · jesseduffield/lazygit · GitHub
マージコンフリクトの位置を外部エディタで開けるようにしました。コンフリクト解消のときにかなり便利です。
27. Fix line wrapping when combining wide characters with eraseInLineFromCursor. by Ryooooooga · Pull Request #18 · jesseduffield/gocui · GitHub
日本語を含むファイルのdiffを delta
で表示した際に表示が崩れるバグの修正です。これも RuneWidth()
を正しく使えていないことが原因でした。
28. fix not to trim renamed file names by Ryooooooga · Pull Request #1876 · jesseduffield/lazygit · GitHub
空白文字を含むファイル名を正しく扱えないのを修正します。気付いたから直しましたが、そのようなファイル名が現実に使用されることはほぼないでしょう。
29. Improve default editCommandTemplate by Ryooooooga · Pull Request #1891 · jesseduffield/lazygit · GitHub
#1775 の筋の悪さにキレながら投げたPRです。
30. Display Nerdfont icons by Ryooooooga · Pull Request #1894 · jesseduffield/lazygit · GitHub
Nerd Fontsでファイル等にアイコンを表示する変更です。
Jesse氏にも気に入ってもらえたようで良かったです。
31. Fix a crash that occurred when pressing enter on an empty commit, reflog, or stash panel by Ryooooooga · Pull Request #1914 · jesseduffield/lazygit · GitHub
[#1483] でエンバグした不具合に気付いたためそれを修正しました。結果的にGoの nil != nil
問題について詳しくなりました。
32. Add Japanese translation by Ryooooooga · Pull Request #1913 · jesseduffield/lazygit · GitHub
日本語ローカライゼーションの追加です。翻訳の質は良好だと思うのですが、Twitterで検索すると良くない反応が多いです。草。
ちなみに私は責任をとってLazygitを日本語で使用しています。
33. add ability to edit hunk by Ryooooooga · Pull Request #1912 · jesseduffield/lazygit · GitHub
git add -e
のようにエディタからステージングパッチを編集できるようにしました。稀に便利です。
34. Fix the prompt height and appStatus width calculation when using multi byte characters by Ryooooooga · Pull Request #1920 · jesseduffield/lazygit · GitHub
35. fix subtitle collision by Ryooooooga · Pull Request #20 · jesseduffield/gocui · GitHub
日本語ローカライズの過程で気がついたワイド文字の表示に関する不具合の修正です。
36. Fix copying of the commit author to the clipboard by Ryooooooga · Pull Request #1923 · jesseduffield/lazygit · GitHub
commit authorの名前に |
が含まれているとコミッタ名のコピーがうまく機能しなくなるバグの修正です。そんなことが現実にあるのかはわかりません。
37. Accept named colors for authorColors #1879 by Ryooooooga · Pull Request #1910 · jesseduffield/lazygit · GitHub
設定の gui.authorColors
に #rrggbb
形式の文字列のみでなく、red
, black
などの名前を使用できるようにするものです。
38. Improve loading speed of commits and reflog when `log.showSignature=true` by Ryooooooga · Pull Request #1911 · jesseduffield/lazygit · GitHub
Gitの log.showSignature
が true
であった場合、コミットの読み込みが低速であることに気がついたため、それを改善するものです。
39. WIP: Fix ambiguous refname by Ryooooooga · Pull Request #1944 · jesseduffield/lazygit · GitHub
ブランチと同名のファイル・ディレクトリが存在しているときにコミットの読み込みに失敗するバグの修正です。
(test/
ディレクトリが存在している状態で) test
という名前のブランチを作成したときに発覚しました。
タイトルにWIPをつけたまま数日放置していたらそのままマージされて笑いました (実際にはマージ準備はすでに整っており、WIPを外し忘れていただけだったので問題はありませんでしたが)。
40. Fix linter errors by Ryooooooga · Pull Request #1945 · jesseduffield/lazygit · GitHub
golangci-lintの更新でCIが落ちるようになったため修正しました。
41. add ability to customize time format in commit log by Ryooooooga · Pull Request #1948 · jesseduffield/lazygit · GitHub
コミット一覧の時刻形式を変更するための設定項目を追加します。
RFC822 (02 Jan 06 15:04 MST
) 形式は日本人には読みにくすぎます。
42. Localize panel titles by Ryooooooga · Pull Request #1936 · jesseduffield/lazygit · GitHub
パネルのタイトルがローカライズされないのを修正します。
43. add missing `keybinding.branches.renameBranch` to Config.md by Ryooooooga · Pull Request #2002 · jesseduffield/lazygit · GitHub
44. docs(Config.md): fix docs on specifying config file by Ryooooooga · Pull Request #2022 · jesseduffield/lazygit · GitHub
軽微なドキュメントの変更です。
45. Change not to run `Generate Sponsors` action on the fork repository by Ryooooooga · Pull Request #2039 · jesseduffield/lazygit · GitHub
forkリポジトリでCIが落ちるのを修正しました。
46. fix subtitle collision by Ryooooooga · Pull Request #20 · jesseduffield/gocui · GitHub
ワイド文字のクリック判定がおかしいのを修正しました。
47. Add `notARepository: quit` by Ryooooooga · Pull Request #2098 · jesseduffield/lazygit · GitHub
Gitリポジトリ外でLazygitを起動した場合に終了するオプションを追加しました。
48. improve integration test portability by Ryooooooga · Pull Request #2124 · jesseduffield/lazygit · GitHub
インテグレーションテストがgit config
の一部の項目の設定値に関わらず動作するように修正しました。
49. fix initial scroll position of edit box by Ryooooooga · Pull Request #2123 · jesseduffield/lazygit · GitHub
50. fix initial origin of editor box by Ryooooooga · Pull Request #2146 · jesseduffield/lazygit · GitHub
51. fix initial origin of commit message panel by Ryooooooga · Pull Request #2221 · jesseduffield/lazygit · GitHub
入力ボックスの初期スクロール位置がおかしいのを修正しました。
52. Ignore stderr when loading git status by Ryooooooga · Pull Request #2081 · jesseduffield/lazygit · GitHub
git status
コマンドが警告を出力する場合に先頭のファイルが表示されないバグを修正しました。
53. Add Ctrl+W keybind to delete word like shell by Ryooooooga · Pull Request #16 · jesseduffield/gocui · GitHub
54. add support for emacs keybindings by Ryooooooga · Pull Request #2183 · jesseduffield/lazygit · GitHub
入力ボックス内で C-W
, C-K
などのEmacsキーバインディングが使用できるようにしました。
便利。
55. Fix an issue where long inputs containing wide characters cause blank spaces on the right side. by Ryooooooga · Pull Request #17 · jesseduffield/gocui · GitHub
ワイド文字を含む文字列で横方向のスクロール位置がおかしくなるのを修正しました。例に漏れずこれも RuneWidth()
を使用している箇所でインデックスを使用していました。
56. fix: improve hard tab rendering by Ryooooooga · Pull Request #21 · jesseduffield/gocui · GitHub
ハードタブが常に4幅で表示されるのを修正しました。
57. Support ANSI reset sequence by Ryooooooga · Pull Request #22 · jesseduffield/gocui · GitHub
ANSIエスケープシーケンスの解釈が不完全で表示が崩れるのを修正しました。
58. Navigate by word using alt+left/right. by Ryooooooga · Pull Request #19 · jesseduffield/gocui · GitHub
59. navigate by word in the editor by Ryooooooga · Pull Request #2204 · jesseduffield/lazygit · GitHub
入力ボックス内で、alt+←/→ によってワード単位でカーソルを移動できるようにしました。
60. Allow `OSCommand.Quote` to be invoked within a custom command by Ryooooooga · Pull Request #2193 · jesseduffield/lazygit · GitHub
カスタムコマンドのテンプレート内でシェルエスケープをする quote
関数を使用できるようにしました。
61. fix stash with empty message by Ryooooooga · Pull Request #2218 · jesseduffield/lazygit · GitHub
Stashメッセージが空のStashが無視されるのを修正しました。
62. add stash icon by Ryooooooga · Pull Request #2219 · jesseduffield/lazygit · GitHub
StashパネルにNerdfontsのアイコンを表示するようにしました。
63. allow nil in keybindings by Ryooooooga · Pull Request #23 · jesseduffield/gocui · GitHub
64. allow `null` in keybindings by Ryooooooga · Pull Request #2222 · jesseduffield/lazygit · GitHub
キーバインディングを無効化できるようにしました。
65. rename stash by Ryooooooga · Pull Request #2220 · jesseduffield/lazygit · GitHub
Stashのメッセージを変更するコマンドを追加しました。
66. Ignore OSC sequence by Ryooooooga · Pull Request #24 · jesseduffield/gocui · GitHub
67. bump gocui by Ryooooooga · Pull Request #2276 · jesseduffield/lazygit · GitHub
OSCのエスケープシーケンスを無視して解釈するように変更しました。
68. fix ambiguous branch name by Ryooooooga · Pull Request #2224 · jesseduffield/lazygit · GitHub
head
や @
といった特殊な名前をブランチ名として用いても正しく動作するように修正しました。そんなことをする人がいるのかはわかりません。
69. fix goroutine leak by Ryooooooga · Pull Request #25 · jesseduffield/gocui · GitHub
ゴルーチンリークを修正しました。が、致命的なゴルーチンリークを根本的に解消できているわけではないので性能に対する寄与はありません。
70. fix diff scroll #2309 by Ryooooooga · Pull Request #2326 · jesseduffield/lazygit · GitHub
diffが全文読み込まれないのを修正しました。
まとめ
日本語・ワイド文字対応や、コマンド実行系の改善を中心にLazygitにコントリビュートしています。
この通り、Lazygitは未だ多くのバグが存在しており、特にWindows周りのissueも多くが放置されているのでコントリビュートのチャンスが豊富です。