Skip to content

feat: z.install.mod.listでmodの導入・更新状態を一覧表示する - #103

Merged
milkeclair merged 2 commits into
mainfrom
feat/install-mod-list
Nov 15, 2026
Merged

milkeclair merged 2 commits into
mainfrom
feat/install-mod-list

Conversation

@milkeclair

Copy link
Copy Markdown
Owner

チケット番号

closed #79

やったこと

  • z.install.mod.listを追加し、配布元と導入済みmodを名前順・重複なしで表示します。導入済みは緑、更新ありはオレンジ、未導入は赤です。
  • 配布archiveを1回取得し、Z_INSTALL_BRANCH(既定main)を比較元に使います。ディレクトリ内容の差分で更新を判定し、配布元にない導入済みmodも表示します。
  • 取得・状態判定・表示を3関数へ分け、追加した全関数に同じ階層の直接テストを配置します。オレンジは共通の色定義へ追加します。
  • mainの通常のlib読み込みへ接続し、既存の引数・配列・色表示APIを利用します。ダウンロードしたmodのコードは実行せず、一時領域を正常時・失敗時ともに片付けます。

やらないこと

  • 本変更は一覧と比較を提供します。既存z.installの単体動作とmodの導入・更新処理を維持します。

動作確認 (方法、事前準備、確認したこと、動画などの資料)

方法:

  • WSL worktreeでZ_ROOTを設定し、testからz.t -cを実行。
  • 追加関数・色表示はz.t -c lib/install lib/str/process_test.zsh lib/str/colorでも直接検証。zsh -n・git diff --checkを確認。
  • 実HTTPサーバーへGitの配布archiveを置き、curl・tar・diffを実行。GitHub本番の配布元からの取得も確認。

事前準備:

  • 既存installer・mod登録・main読み込み・色表示の実装と対応テストを確認。
  • 実HTTP検証は実際のtracked modと隔離した導入先を使用し、curlの接続先だけloopbackへ切替。ユーザーの実インストール先への書き込みは行っていません。

確認したこと:

  • 全1,120テスト、関連90テストが成功。追加3関数の直接テスト18件で、3状態・隠しfile・追加/削除・ローカル専用mod・空一覧・取得/比較失敗・後始末を確認。
  • 実HTTP通信で1コマンド1回の取得、緑/オレンジ/赤のANSI出力、404と実際のdiff読み取りerror、導入済みfile内容の不変、一時領域の除去を確認。サーバーは停止済みです。
  • GitHubのmainからcompletion・git・job・wtproxyを実際に取得できることを確認。既存install.zshとupdate配下の変更がないこと、追加関数とdescribeの対応を確認し、差分を2回レビューしました。

エビデンス:

  • 撮影対象のターミナル画面がないWSLのCLI実行環境のため、実行コマンドとANSI出力・実HTTP通信の検証結果を記載しています。

その他 (レビュワーへの注意点など)

  • 更新判定は配布元との内容比較です。ローカル編集・独自fileの追加もオレンジ表示となり、バージョン番号や新旧の履歴は判定しません。
  • この変更を含む本体を導入してmain.zshを読み直すと、z.install.mod.listが利用できます。

@milkeclair milkeclair self-assigned this Nov 15, 2026
@milkeclair milkeclair added the enhancement New feature or request label Nov 15, 2026
@milkeclair
milkeclair marked this pull request as ready for review November 15, 2026 05:36
@milkeclair
milkeclair merged commit afb2190 into main Nov 15, 2026
3 checks passed
@milkeclair
milkeclair deleted the feat/install-mod-list branch November 15, 2026 05:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

z.install.mod.list

1 participant