aboutsummaryrefslogtreecommitdiff
path: root/examples/example-pathfinder/src/sub/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/example-pathfinder/src/sub/mod.rs')
-rw-r--r--examples/example-pathfinder/src/sub/mod.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/examples/example-pathfinder/src/sub/mod.rs b/examples/example-pathfinder/src/sub/mod.rs
new file mode 100644
index 0000000..ef10a75
--- /dev/null
+++ b/examples/example-pathfinder/src/sub/mod.rs
@@ -0,0 +1,21 @@
+use mingling::prelude::*;
+use crate::Next;
+
+dispatcher!("greet", CMDGreet => EntryGreet);
+pack!(ResultName = String);
+
+#[chain]
+pub fn handle_greet(args: EntryGreet) -> Next {
+ let name: ResultName = args
+ .inner
+ .first()
+ .cloned()
+ .unwrap_or_else(|| "World".to_string())
+ .into();
+ name
+}
+
+#[renderer]
+pub fn render_name(name: ResultName) {
+ r_println!("Hello, {}!", *name);
+}