input, proc: add full paths in macros

This commit is contained in:
🪞👃🪞 2025-05-09 22:43:12 +03:00
parent 20ccff13de
commit fe8ecf8a98
2 changed files with 8 additions and 6 deletions

View file

@ -18,15 +18,17 @@ pub trait Input: Send + Sync + Sized {
/// Implement the [Handle] trait.
#[macro_export] macro_rules! handle {
(|$self:ident:$Struct:ty,$input:ident|$handler:expr) => {
impl<E: Engine> Handle<E> for $Struct {
impl<E: Engine> ::tengri::input::Handle<E> for $Struct {
fn handle (&mut $self, $input: &E) -> Perhaps<E::Handled> {
$handler
}
}
};
($E:ty: |$self:ident:$Struct:ty,$input:ident|$handler:expr) => {
impl Handle<$E> for $Struct {
fn handle (&mut $self, $input: &$E) -> Perhaps<<$E as Input>::Handled> {
impl ::tengri::input::Handle<$E> for $Struct {
fn handle (&mut $self, $input: &$E) ->
Perhaps<<$E as ::tengri::input::Input>::Handled>
{
$handler
}
}

View file

@ -68,7 +68,7 @@ impl ToTokens for CommandDef {
}
#block
/// Generated by [tengri_proc].
impl<'state> TryFromDsl<'state, #target> for #enumeration {
impl<'state> ::tengri::dsl::TryFromDsl<'state, #target> for #enumeration {
fn try_from_expr <'source: 'state> (
state: &'state #target, iter: &mut ::tengri::dsl::TokenIter<'source>
) -> Option<Self> {
@ -88,7 +88,7 @@ impl ToTokens for CommandDef {
}
}
/// Generated by [tengri_proc].
impl Command<#target> for #enumeration {
impl ::tengri::input::Command<#target> for #enumeration {
fn execute (self, state: &mut #target) -> Perhaps<Self> {
match self {
#(#implementations)*
@ -160,7 +160,7 @@ impl CommandArm {
let give_err = LitStr::new(&format!("{}: missing value for \"{}\" ({})",
quote!{#ident}, quote!{#arg}, quote!{#ty}), Span::call_site());
write_quote_to(&mut out, quote! {
#arg: Context::get(state, &mut iter).expect(#give_err),
#arg: ::tengri::dsl::Context::get(state, &mut iter).expect(#give_err),
});
}
out