proc: auto implement Context on command target

Context and TryFromDsl overlap
This commit is contained in:
🪞👃🪞 2025-05-09 21:13:46 +03:00
parent 3bb38f2d27
commit 20ccff13de
5 changed files with 17 additions and 13 deletions

View file

@ -70,7 +70,7 @@ impl ToTokens for CommandDef {
/// Generated by [tengri_proc].
impl<'state> TryFromDsl<'state, #target> for #enumeration {
fn try_from_expr <'source: 'state> (
state: &'state #target, iter: TokenIter<'source>
state: &'state #target, iter: &mut ::tengri::dsl::TokenIter<'source>
) -> Option<Self> {
let mut iter = iter.clone();
match iter.next() {
@ -80,6 +80,14 @@ impl ToTokens for CommandDef {
}
}
/// Generated by [tengri_proc].
impl<'state> ::tengri::dsl::Context<'state, #enumeration> for #target {
fn get <'source> (&self, iter: &mut ::tengri::dsl::TokenIter<'source>)
-> Option<#enumeration>
{
#enumeration::try_from_expr(self, iter)
}
}
/// Generated by [tengri_proc].
impl Command<#target> for #enumeration {
fn execute (self, state: &mut #target) -> Perhaps<Self> {
match self {