ちなみに

火曜日の空は僕を押しつぶした。

VSCode (Cursor) のTerminalでもzellijを自動起動したい

zellij.dev

最近、zellij を使ったワークフローが手に馴染んできたので、VSCode (実際は Cursor 使ってる) の Terminal でも自動起動するようにした。

ドキュメント によると eval "$(zellij setup --generate-auto-start zsh)" って書いておけば自動起動できるのだけれど、各リポジトリ毎に別の Session になってほしいので以下のようにした。

# zellij https://github.com/zellij-org/zellij
if [[ "$TERM_PROGRAM" == 'vscode' ]]; then
  if [[ -z "$ZELLIJ" ]]; then
    zellij attach --create "$(basename "$(git rev-parse --show-toplevel 2>/dev/null || echo "$PWD")")"
    exit
  fi
else
  if [[ -z "$VSCODE_RESOLVING_ENVIRONMENT" ]]; then
    # export ZELLIJ_AUTO_ATTACH=true
    export ZELLIJ_AUTO_EXIT=true
    eval "$(zellij setup --generate-auto-start zsh)"
  fi
fi

補足として、通常のターミナル側の処理で $VSCODE_RESOLVING_ENVIRONMENT を見ているのは、VSCode の起動時にユーザーのシェルの設定を読みに行く処理が失敗してぶっ壊れるので回避策。