feat(tag): 支持从多个配置文件读取版本并交互选择

将 `read_project_version` 重构为 `read_project_versions`,支持从 Cargo.toml、package.json、pyproject.toml 等多个配置文件同时读取版本。当检测到多个版本时,提供交互式选择界面让用户决定使用哪个版本。
This commit is contained in:
2026-08-07 15:41:37 +08:00
parent 35fe6e09b7
commit cc80604710
7 changed files with 397 additions and 62 deletions

View File

@@ -930,6 +930,42 @@ impl Messages {
}
}
pub fn found_version_in(&self) -> &str {
match self.language {
Language::English => "Found version in",
Language::Chinese => "在配置文件中找到版本",
Language::Japanese => "設定ファイルでバージョンが見つかりました",
Language::Korean => "구성 파일에서 버전을 찾음",
Language::Spanish => "Versión encontrada en",
Language::French => "Version trouvée dans",
Language::German => "Version gefunden in",
}
}
pub fn found_multiple_versions(&self) -> &str {
match self.language {
Language::English => "Found versions in multiple config files:",
Language::Chinese => "在多个配置文件中找到版本:",
Language::Japanese => "複数の設定ファイルでバージョンが見つかりました:",
Language::Korean => "여러 구성 파일에서 버전을 찾음:",
Language::Spanish => "Versiones encontradas en múltiples archivos:",
Language::French => "Versions trouvées dans plusieurs fichiers :",
Language::German => "Versionen in mehreren Dateien gefunden:",
}
}
pub fn select_version_to_use(&self) -> &str {
match self.language {
Language::English => "Select version to use",
Language::Chinese => "选择要使用的版本",
Language::Japanese => "使用するバージョンを選択",
Language::Korean => "사용할 버전 선택",
Language::Spanish => "Seleccionar versión a usar",
Language::French => "Sélectionner la version à utiliser",
Language::German => "Zu verwendende Version auswählen",
}
}
pub fn profile_description(&self) -> &str {
match self.language {
Language::English => "Profile description (optional)",