use super::super::prelude::*;
#[apply(cmd_args!)]
pub struct CreateObject {
#[pos]
pub name: Name,
#[named(opt)]
pub parent: Option<Concept>,
}
impl Command for CreateObject {
type Args = Self;
}
impl Run for CreateObject {
fn run(self: Box<Self>, ctx: &mut State) -> Output {
let Self { name, parent } = *self;
ctx.objects.insert(
name.clone(),
Object {
name: Some(name),
parent,
},
);
None
}
}