diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2025-09-19 22:59:22 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2025-09-20 23:34:15 +0800 |
| commit | c7a2788158628d3445f0f3574a0d7adfabd0a755 (patch) | |
| tree | 0c0e973b70f07cd4797b60bd17ca6d4b8e0f348d /src/tasks.rs | |
| parent | 6511f6aaf68c3ab3bce10cdd743936b28e45dfa9 (diff) | |
init
Diffstat (limited to 'src/tasks.rs')
| -rw-r--r-- | src/tasks.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/tasks.rs b/src/tasks.rs index 0e196b2..b979d4f 100644 --- a/src/tasks.rs +++ b/src/tasks.rs @@ -1,11 +1,21 @@ use std::fmt::Display; +use serde::Deserialize; + +pub type TaskOutput = Result<String, String>; + pub struct Task { pub name: Name, - pub exec: fn(&[&str]) -> Result<String, String>, + pub exec: fn(&[&str]) -> TaskOutput, } -#[derive(Debug)] +#[derive(Deserialize)] +pub struct CompletedTask { + pub name: Name, + pub output: Option<TaskOutput>, +} + +#[derive(Debug, Deserialize, Clone, Copy)] pub enum Name { Nop, Exec, |
