diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-01-23 05:15:28 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-01-23 05:15:28 +0800 |
| commit | cffe4f130d7979df1ebbe84ec77f955b5430e8db (patch) | |
| tree | 79c5e23ea9555acad308fd677fe73b2e7f320063 /src/cmds/status.rs | |
| parent | 0a150104ea4ff39986a65216386423603d5e3119 (diff) | |
Move status command types to separate modules
Diffstat (limited to 'src/cmds/status.rs')
| -rw-r--r-- | src/cmds/status.rs | 64 |
1 files changed, 5 insertions, 59 deletions
diff --git a/src/cmds/status.rs b/src/cmds/status.rs index 57e9cde..8279e50 100644 --- a/src/cmds/status.rs +++ b/src/cmds/status.rs @@ -1,64 +1,18 @@ -use std::{ - collections::{HashMap, HashSet}, - path::PathBuf, - time::SystemTime, -}; - -use clap::Parser; -use just_enough_vcs::vcs::data::{ - local::workspace_analyzer::{ - CreatedRelativePathBuf, FromRelativePathBuf, LostRelativePathBuf, ModifiedRelativePathBuf, - ToRelativePathBuf, - }, - member::MemberId, - sheet::SheetName, - vault::virtual_file::VirtualFileId, -}; -use serde::Serialize; +use std::time::SystemTime; use crate::{ + arguments::status::JVStatusArgument, + outputs::status::JVStatusResult, + renderers::status::JVStatusRenderer, systems::cmd::{ cmd_system::{JVCommand, JVCommandContext}, - errors::{CmdExecuteError, CmdPrepareError, CmdRenderError}, - renderer::{JVRenderResult, JVResultRenderer}, + errors::{CmdExecuteError, CmdPrepareError}, }, utils::workspace_reader::LocalWorkspaceReader, }; pub struct JVStatusCommand; -#[derive(Parser, Debug)] -pub struct JVStatusArgument; - -#[derive(Serialize)] -pub struct JVStatusResult { - pub current_account: MemberId, - pub current_sheet: SheetName, - pub moved: HashMap<VirtualFileId, (FromRelativePathBuf, ToRelativePathBuf)>, - pub created: HashSet<CreatedRelativePathBuf>, - pub lost: HashSet<LostRelativePathBuf>, - pub erased: HashSet<PathBuf>, - pub modified: HashSet<ModifiedRelativePathBuf>, - pub update_time: SystemTime, - pub now_time: SystemTime, -} - -impl Default for JVStatusResult { - 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(), - update_time: SystemTime::now(), - now_time: SystemTime::now(), - } - } -} - impl JVCommand<JVStatusArgument, JVStatusResult, JVStatusResult, JVStatusRenderer> for JVStatusCommand { @@ -112,11 +66,3 @@ impl JVCommand<JVStatusArgument, JVStatusResult, JVStatusResult, JVStatusRendere "".to_string() } } - -pub struct JVStatusRenderer; - -impl JVResultRenderer<JVStatusResult> for JVStatusRenderer { - async fn render(data: &JVStatusResult) -> Result<JVRenderResult, CmdRenderError> { - todo!() - } -} |
