2024-12-30

PCの大掃除をした

ディスクの空きが少なくなっていたので何が埋めてるのだろうと思ったら、steam osを以前インストールしてみたときに一時的にダウンロードしたイメージがずっと生き残っていた。それもなぜか似たようなのが三つあり、それらを消すだけでだいぶ効いた。

ゴミ箱を定期的に空にする設定がデフォルトになっていなかったのが生き残っていた原因だったみたい。

あとはGoとかNextとかの依存がでかい。そこの掃除はしないでおく。

コミケに参加した

友達が出店するとのことで売り子として参加した。学生の頃に夏に一般参加したきりで、そのときは入場までにだいぶ並んだことを覚えている。サークルとして参加すると入場枠が異なりサクッと入れて楽だった。

友達は今回が初出店とのことで苦戦していた。応援してる。

ghostty使ってみている

今まではmacのデフォルトのターミナルを使っていた。おおよそ変わりなく使えているが、fishのviモードをnormalにしたときにカーソルが切り替わらならいのが気になる。カーソルのフォーマットはghosttyがアプリケーションからの命令を受け付けるとドキュメントされていたので、fishとghosttyの双方にバグがなければ正しく動くような気がしている。

切り分けして直すほど困っていないので放置する。ghosttyはzigで書かれているから気になるが、fishはそんなに触りたくない。

Zedのソースリポジトリが教えてくれたtips

gitのHunkとチェリーピック

https://github.com/zed-industries/zed/blob/f6dabadaf79bd29c89c8d55a1e9f1d33236f736e/docs/src/git.md?plain=1#L13-L22

概要

https://www.webdesignleaves.com/pr/plugins/git-hunk.html これを読んで学びになった。以下が学びポイント。

  • gitで差分の一塊のことをhunkと呼ぶこと
    • チェリーピックで操作する単位
  • あれを編集できること

typos

https://github.com/zed-industries/zed/blob/f6dabadaf79bd29c89c8d55a1e9f1d33236f736e/typos.toml ここで存在を知った。

概要

https://github.com/crate-ci/typos

  • コード向けのスペルチェッカー
  • CLIと、CIでそれを実行するためのワークフローが提供されている。
  • LSPサーバも存在して、ZedにもVSCodeにもプラグインがある。
    • LSPサーバはこれ。https://github.com/tekumara/typos-lsp
    • 残念なのがrenameシンボルではなくただの文字列の修正をしてるぽい点。CSpellにはそこが劣ると思っている。

ブログで試したけど、シュッといい感じにできた。このためにTOMLの読み書きを覚えた。

CIの導入も簡単だった。こんな感じで入れている。

...
    steps:
      - uses: actions/checkout@v4
      - name: Check for typos
        uses: crate-ci/typos@master
      - uses: actions/setup-node@v4
...

こんな具合に落ちた。

https://github.com/naoyafurudono/naoyafurudono.github.io/actions/runs/12541376886/job/34969858991

git brame ignore revs

https://github.com/zed-industries/zed/pull/13889

概要

「フォーマッタを新しく導入したい、でもblameするときに汚染されるのが嫌だ...」の悩みが軽くなる。

Zedの拡張機能のインストール状況を同期する方法

dotfilesを同期している前提で書く。

setting.json の auto_install_extensions に指定すると良いらしい。以下のように設定する。typos extensionを勝手にインストールするようにした。

"auto_install_extensions": {
  // typos-cliと同等の機能を提供するLSP
  // typos-cliのバイナリを別途インストールする必要がある
  "typos": true
},

https://github.com/naoyafurudono/.config/blob/025fa90716af783dd00b6290850092c4f5593c5f/zed/settings.json#L29-L34

例にも書いた通り、多くの拡張機能はファイルの拡張子に関連づけられていてファイルを開いたときに提案してくれるので自動インストールしないでいいやと思っている。

https://github.com/zed-industries/zed/issues/19512#issuecomment-2427055270 で存在を知った。

pre-commit がまあまあ便利

https://github.com/crate-ci/typos/blob/master/docs/pre-commit.md

pre-commitフックで呼び出すlinterのインストール、呼び出しをしてくれるツール。ローカルに入れるのか、の気持ちもある。

< 2024-12-282024-12-31 >