ez-tui-derive 0.0.3-alpha

A framework to create terminal user interfaces in Rust with Ratatui
Documentation
//! This crate provides a procedural macro to derive the [`MockComponent`] trait for structs.
//! The target struct must contain a field named `component` of type [`MockComponent`] itsel. All calls will be forwarded to it.

use proc_macro::TokenStream;

mod decorated_mock_component;
mod mock_component;
mod mock_props;
mod utils;

/// Procedural macro to derive the `MockComponent` trait.
#[proc_macro_derive(MockComponent)]
pub fn mock_component_derive(input: TokenStream) -> TokenStream {
    mock_component::mock_component(input)
}

/// Procedural macro to derive the `MockComponent` trait.
#[proc_macro_derive(MockProps)]
pub fn mock_props_derive(input: TokenStream) -> TokenStream {
    mock_props::mock_props(input)
}

/// Procedural macro to derive the `MockComponent` trait.
#[proc_macro_derive(DecoratedMockComponent)]
pub fn decorated_mock_component_derive(input: TokenStream) -> TokenStream {
    decorated_mock_component::decorated_mock_component(input)
}