From 58a20913b620b6a22d26f753823863d76b878644 Mon Sep 17 00:00:00 2001 From: Jonathan Kelley Date: Wed, 9 Mar 2022 13:30:44 -0500 Subject: [PATCH] chore; make tui pass clippy --- Cargo.toml | 11 ++++++++--- packages/tui/Cargo.toml | 13 ++++++++----- packages/tui/src/hooks.rs | 16 +++++++--------- packages/tui/src/layout.rs | 2 +- packages/tui/src/lib.rs | 8 +++++--- packages/tui/src/render.rs | 2 +- packages/tui/src/style.rs | 12 ++++++------ 7 files changed, 36 insertions(+), 28 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 6e514dbe8..6ee9540df 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,6 @@ dioxus-html = { path = "./packages/html", version = "^0.1.6", optional = true } dioxus-core-macro = { path = "./packages/core-macro", version = "^0.1.7", optional = true } dioxus-hooks = { path = "./packages/hooks", version = "^0.1.7", optional = true } fermi = { path = "./packages/fermi", version = "^0.1.0", optional = true } -# dioxus-rsx = { path = "./packages/rsx", optional = true } dioxus-web = { path = "./packages/web", version = "^0.0.5", optional = true } dioxus-desktop = { path = "./packages/desktop", version = "^0.1.6", optional = true } @@ -26,12 +25,15 @@ dioxus-ssr = { path = "./packages/ssr", version = "^0.1.3", optional = true } dioxus-router = { path = "./packages/router", version = "^0.1.1", optional = true } dioxus-mobile = { path = "./packages/mobile", version = "^0.0.3", optional = true } dioxus-interpreter-js = { path = "./packages/interpreter", version = "^0.0.0", optional = true } +dioxus-tui = { path = "./packages/tui", version = "^0.1.0", optional = true } + +# dioxus-rsx = { path = "./packages/rsx", optional = true } # dioxus-liveview = { path = "./packages/liveview", optional = true } +# macro = ["dioxus-core-macro", "dioxus-rsx"] [features] default = ["macro", "hooks", "html"] -# macro = ["dioxus-core-macro", "dioxus-rsx"] macro = ["dioxus-core-macro"] hooks = ["dioxus-hooks"] html = ["dioxus-html"] @@ -40,6 +42,8 @@ web = ["dioxus-web", "dioxus-router/web"] desktop = ["dioxus-desktop"] ayatana = ["dioxus-desktop/ayatana"] router = ["dioxus-router"] +tui = ["dioxus-tui"] + [workspace] members = [ @@ -54,6 +58,7 @@ members = [ "packages/mobile", "packages/interpreter", "packages/fermi", + "packages/tui" ] [dev-dependencies] @@ -68,7 +73,7 @@ serde_json = "1.0.79" rand = { version = "0.8.4", features = ["small_rng"] } tokio = { version = "1.16.1", features = ["full"] } reqwest = { version = "0.11.9", features = ["json"] } -dioxus = { path = ".", features = ["desktop", "ssr", "router", "fermi"] } +dioxus = { path = ".", features = ["desktop", "ssr", "router", "fermi", "tui"] } fern = { version = "0.6.0", features = ["colored"] } criterion = "0.3.5" thiserror = "1.0.30" diff --git a/packages/tui/Cargo.toml b/packages/tui/Cargo.toml index 1837ad5ef..56890761e 100644 --- a/packages/tui/Cargo.toml +++ b/packages/tui/Cargo.toml @@ -1,20 +1,23 @@ [package] -name = "rink" +name = "dioxus-tui" version = "0.1.0" edition = "2018" + + # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] tui = "0.17.0" -crossterm = "0.22.1" +crossterm = "0.23.0" anyhow = "1.0.42" thiserror = "1.0.24" -dioxus = "0.1.8" -dioxus-html = "0.1.6" +dioxus-core = { path = "../core" } +dioxus-html = { path = "../html" } hecs = "0.7.3" ctrlc = "3.2.1" bumpalo = { version = "3.8.0", features = ["boxed"] } tokio = { version = "1.15.0", features = ["full"] } futures = "0.3.19" -stretch2 = { git = "https://github.com/DioxusLabs/stretch" } +stretch2 = "0.4.0" + diff --git a/packages/tui/src/hooks.rs b/packages/tui/src/hooks.rs index dd0469ab1..963fc277b 100644 --- a/packages/tui/src/hooks.rs +++ b/packages/tui/src/hooks.rs @@ -1,7 +1,7 @@ use crossterm::event::{ Event as TermEvent, KeyCode as TermKeyCode, KeyModifiers, MouseButton, MouseEventKind, }; -use dioxus::core::*; +use dioxus_core::*; use dioxus_html::{on::*, KeyCode}; use futures::{channel::mpsc::UnboundedReceiver, StreamExt}; @@ -146,7 +146,7 @@ impl InnerInputState { } }, EventData::Wheel(ref w) => self.wheel = Some(clone_wheel_data(w)), - EventData::Screen(ref s) => self.screen = Some(s.clone()), + EventData::Screen(ref s) => self.screen = Some(*s), EventData::Keyboard(ref mut k) => { let repeat = self .last_key_pressed @@ -177,7 +177,7 @@ impl InnerInputState { wheel_delta: f64, mouse_data: &'b MouseData, wheel_data: &'b Option, - }; + } fn layout_contains_point(layout: &Layout, point: (i32, i32)) -> bool { layout.location.x as i32 <= point.0 @@ -292,11 +292,9 @@ impl InnerInputState { }) } } - } else { - if previously_contained { - try_create_event("mouseleave"); - try_create_event("mouseout"); - } + } else if previously_contained { + try_create_event("mouseleave"); + try_create_event("mouseout"); } events } @@ -399,7 +397,7 @@ impl RinkInputHandler { ) -> Vec { // todo: currently resolves events in all nodes, but once the focus system is added it should filter by focus fn inner( - queue: &Vec<(&'static str, Arc)>, + queue: &[(&'static str, Arc)], resolved: &mut Vec, node: &VNode, ) { diff --git a/packages/tui/src/layout.rs b/packages/tui/src/layout.rs index 53b406797..6a8744efb 100644 --- a/packages/tui/src/layout.rs +++ b/packages/tui/src/layout.rs @@ -1,4 +1,4 @@ -use dioxus::core::*; +use dioxus_core::*; use std::collections::HashMap; use crate::{ diff --git a/packages/tui/src/lib.rs b/packages/tui/src/lib.rs index 16d861435..91ff7db4d 100644 --- a/packages/tui/src/lib.rs +++ b/packages/tui/src/lib.rs @@ -4,8 +4,8 @@ use crossterm::{ execute, terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen}, }; -use dioxus::core::exports::futures_channel::mpsc::unbounded; -use dioxus::core::*; +use dioxus_core::exports::futures_channel::mpsc::unbounded; +use dioxus_core::*; use futures::{channel::mpsc::UnboundedSender, pin_mut, StreamExt}; use std::{ collections::HashMap, @@ -208,6 +208,8 @@ pub fn render_vdom( enum InputEvent { UserInput(TermEvent), - Close, Tick, + + #[allow(dead_code)] + Close, } diff --git a/packages/tui/src/render.rs b/packages/tui/src/render.rs index 59de80460..dc866830e 100644 --- a/packages/tui/src/render.rs +++ b/packages/tui/src/render.rs @@ -1,4 +1,4 @@ -use dioxus::core::*; +use dioxus_core::*; use std::{collections::HashMap, io::Stdout}; use stretch2::{ geometry::Point, diff --git a/packages/tui/src/style.rs b/packages/tui/src/style.rs index 943c88aed..f4e061fee 100644 --- a/packages/tui/src/style.rs +++ b/packages/tui/src/style.rs @@ -435,13 +435,13 @@ impl RinkStyle { } } -impl Into