From 5a21f9f740235ea9aec55f66b7c8a8553d644d77 Mon Sep 17 00:00:00 2001 From: Leo dev Date: Sun, 19 Jan 2025 13:14:30 +0100 Subject: [PATCH] some small changes --- src/console.rs | 1 + src/main.rs | 4 +--- src/rsx.rs | 8 +++++--- src/widgets.rs | 6 ------ 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/console.rs b/src/console.rs index d72a550..dfed29b 100644 --- a/src/console.rs +++ b/src/console.rs @@ -2,6 +2,7 @@ use crate::{Element, Frame}; pub struct Console(Frame, bool); +#[derive(Debug, Clone)] pub enum Event { Key(crossterm::event::KeyEvent), Resize(u16, u16), diff --git a/src/main.rs b/src/main.rs index d5da8d3..0190fef 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,9 +9,7 @@ fn main() -> osui::Result<()> { } pub fn app() -> Element { - let count = use_state(0); - rsx! { - "{count}" + "" } } diff --git a/src/rsx.rs b/src/rsx.rs index 40ac190..813bcaf 100644 --- a/src/rsx.rs +++ b/src/rsx.rs @@ -14,7 +14,7 @@ macro_rules! rsx { macro_rules! rsx_inner { // For loop ($frame:expr, $event:expr; - for $i:pat in ($e:expr) $(%$s:ident),* {$($inner:tt)*} + for ($i:pat in $e:expr) $(%$s:ident),* {$($inner:tt)*} $($rest:tt)*) => { for $i in $e { $(let $s = $s.copy_state();)* @@ -25,10 +25,11 @@ macro_rules! rsx_inner { // If statement ($frame:expr, $event:expr; - if ($e:expr) {$($inner:tt)*} + if ($e:expr) $(%$s:ident),* {$($inner:tt)*} $(else if ($ee:expr) {$($elif_inner:tt)*})* else {$($else_inner:tt)*} $($rest:tt)*) => { + $(let $s = $s.copy_state();)* if $e { $crate::rsx_inner!($frame, $event; $($inner)*); } $(else if $ee { @@ -40,8 +41,9 @@ macro_rules! rsx_inner { }; ($frame:expr, $event:expr; - if ($e:expr) {$($inner:tt)*} + if ($e:expr) $(%$s:ident),* {$($inner:tt)*} $($rest:tt)*) => { + $(let $s = $s.copy_state();)* if $e { $crate::rsx_inner!($frame, $event; $($inner)*); } diff --git a/src/widgets.rs b/src/widgets.rs index 006d4b3..fb99bb8 100644 --- a/src/widgets.rs +++ b/src/widgets.rs @@ -11,9 +11,3 @@ impl Widget for String { self.clone() } } - -impl Widget for crate::Element { - fn render(&self) -> String { - format!("") - } -} \ No newline at end of file