From 61ce49b331ce3ce5e995993c068a0ad70256c96a Mon Sep 17 00:00:00 2001 From: rhysd Date: Mon, 11 Jul 2022 09:45:09 +0900 Subject: [PATCH] separate widget implementation to `src/widget.rs` --- src/lib.rs | 1 + src/textarea.rs | 84 +++++-------------------------------------- src/widget.rs | 95 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+), 76 deletions(-) create mode 100644 src/widget.rs diff --git a/src/lib.rs b/src/lib.rs index ba9bce9..453871e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -11,6 +11,7 @@ mod input; mod search; mod textarea; mod util; +mod widget; mod word; pub use cursor::CursorMove; diff --git a/src/textarea.rs b/src/textarea.rs index 1ad431f..b1bb0cf 100644 --- a/src/textarea.rs +++ b/src/textarea.rs @@ -4,14 +4,12 @@ use crate::history::{Edit, EditKind, History}; use crate::input::{Input, Key}; #[cfg(feature = "search")] use crate::search::Search; -use crate::util::{num_digits, spaces}; +use crate::util::spaces; +use crate::widget::{Renderer, ScrollTop}; use crate::word::{find_word_end_forward, find_word_start_backward}; -use std::sync::atomic::{AtomicU16, Ordering}; -use tui::buffer::Buffer; -use tui::layout::Rect; use tui::style::{Modifier, Style}; -use tui::text::{Spans, Text}; -use tui::widgets::{Block, Paragraph, Widget}; +use tui::text::Spans; +use tui::widgets::{Block, Widget}; /// A type to manage state of textarea. /// @@ -43,7 +41,7 @@ pub struct TextArea<'a> { history: History, cursor_line_style: Style, line_number_style: Option