Updated Crystal API (markdown)

FantasyPvP
2023-11-13 00:27:04 +00:00
parent fa4436771c
commit fd8b50c56f
+12 -13
@@ -1,23 +1,22 @@
trait for declaring an application, pretty much just create a struct and implement the trait, the main function should be async as
in the trait.
- you will also need to import Box and async_trait for any struct implementing async trait to work otherwise you'll get a compile error
```rust ```rust
use async_trait::async_trait;
use alloc::{string::String, vec::Vec, boxed::Box};
#[async_trait] #[async_trait]
pub trait Application { pub trait Application {
fn new() -> Self; fn new() -> Self;
async fn run(&mut self, _: Vec<String>) -> Result<(), Error> {
async fn run(&mut self, _: Vec<String>) -> Result<(), Error> { Ok(())
Ok(()) }
}
} }
#[derive(Debug)] #[derive(Debug)]
pub enum Error { pub enum Error {
UnknownCommand(String), UnknownCommand(String),
CommandFailed(String), CommandFailed(String),
ApplicationError(String), ApplicationError(String),
EmptyCommand, EmptyCommand,
} }
``` ```