summaryrefslogtreecommitdiff
path: root/src/tasks.rs
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-09-19 22:59:22 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-09-20 23:34:15 +0800
commitc7a2788158628d3445f0f3574a0d7adfabd0a755 (patch)
tree0c0e973b70f07cd4797b60bd17ca6d4b8e0f348d /src/tasks.rs
parent6511f6aaf68c3ab3bce10cdd743936b28e45dfa9 (diff)
init
Diffstat (limited to 'src/tasks.rs')
-rw-r--r--src/tasks.rs14
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,