diff --git a/core/src/lib.rs b/core/src/lib.rs index 22288d1..18c672b 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -5,3 +5,12 @@ pub type Usually = Result>; /// Standard optional result type. pub type Perhaps = Result, Box>; + +/// Implement the `From` trait. +#[macro_export] macro_rules! from { + ($(<$($lt:lifetime),+>)?|$state:ident:$Source:ty|$Target:ty=$cb:expr) => { + impl $(<$($lt),+>)? From<$Source> for $Target { + fn from ($state:$Source) -> Self { $cb } + } + }; +} diff --git a/proc/src/proc_command.rs b/proc/src/proc_command.rs index bfe9246..f8e9d2a 100644 --- a/proc/src/proc_command.rs +++ b/proc/src/proc_command.rs @@ -82,6 +82,7 @@ impl ToTokens for CommandDef { fn get <'source> (&self, iter: &mut ::tengri::dsl::TokenIter<'source>) -> Option<#enumeration> { + use ::tengri::dsl::TryFromDsl; #enumeration::try_from_expr(self, iter) } } diff --git a/tui/src/lib.rs b/tui/src/lib.rs index 01eb7d9..79648b9 100644 --- a/tui/src/lib.rs +++ b/tui/src/lib.rs @@ -33,16 +33,6 @@ pub use ::ratatui; pub(crate) use ratatui::{ pub(crate) use std::sync::{Arc, RwLock, atomic::{AtomicBool, Ordering::*}}; pub(crate) use std::io::{stdout, Stdout}; -pub(crate) use std::path::PathBuf; -pub(crate) use std::ffi::OsString; - -#[macro_export] macro_rules! from { - ($(<$($lt:lifetime),+>)?|$state:ident:$Source:ty|$Target:ty=$cb:expr) => { - impl $(<$($lt),+>)? From<$Source> for $Target { - fn from ($state:$Source) -> Self { $cb } - } - }; -} #[cfg(test)] #[test] fn test_tui_engine () -> Usually<()> { use crate::*;