From f9fa7d65d775959efbc9609ccafd1fdce76129e4 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Fri, 23 Jan 2026 09:42:09 +0800 Subject: Add localization and refactor status command output --- src/outputs/status.rs | 46 ++++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 22 deletions(-) (limited to 'src/outputs') diff --git a/src/outputs/status.rs b/src/outputs/status.rs index f9ce875..2b8d9c6 100644 --- a/src/outputs/status.rs +++ b/src/outputs/status.rs @@ -1,43 +1,45 @@ -use std::{ - collections::{HashMap, HashSet}, - path::PathBuf, - time::SystemTime, -}; +use std::{collections::HashMap, time::SystemTime}; use just_enough_vcs::vcs::data::{ - local::workspace_analyzer::{ - CreatedRelativePathBuf, FromRelativePathBuf, LostRelativePathBuf, ModifiedRelativePathBuf, - ToRelativePathBuf, - }, + local::workspace_analyzer::{AnalyzeResultPure, ModifiedRelativePathBuf}, member::MemberId, sheet::SheetName, - vault::virtual_file::VirtualFileId, }; use serde::Serialize; #[derive(Serialize)] -pub struct JVStatusResult { +pub struct JVStatusOutput { pub current_account: MemberId, pub current_sheet: SheetName, - pub moved: HashMap, - pub created: HashSet, - pub lost: HashSet, - pub erased: HashSet, - pub modified: HashSet, + pub is_host_mode: bool, + pub in_ref_sheet: bool, + pub analyzed_result: AnalyzeResultPure, + pub wrong_modified_items: HashMap, pub update_time: SystemTime, pub now_time: SystemTime, } -impl Default for JVStatusResult { +#[derive(Serialize)] +pub enum JVStatusWrongModifyReason { + BaseVersionMismatch { + base_version: String, + latest_version: String, + }, + ModifiedButNotHeld { + holder: String, + }, + NoHolder, +} + +impl Default for JVStatusOutput { fn default() -> Self { Self { current_account: MemberId::default(), current_sheet: SheetName::default(), - moved: HashMap::default(), - created: HashSet::default(), - lost: HashSet::default(), - erased: HashSet::default(), - modified: HashSet::default(), + is_host_mode: false, + in_ref_sheet: false, + analyzed_result: AnalyzeResultPure::default(), + wrong_modified_items: HashMap::new(), update_time: SystemTime::now(), now_time: SystemTime::now(), } -- cgit