From 0031891b8bc0b5d67e0a9358abc67097fc07a804 Mon Sep 17 00:00:00 2001 From: sreedev Date: Fri, 13 Jan 2023 20:47:51 -0500 Subject: [PATCH] remove unused code --- src/app.rs | 25 ++++++++++ src/app/event_handler.rs | 28 ----------- src/app/events.rs | 4 -- src/app/formatter.rs | 0 src/app/mod.rs | 89 ----------------------------------- src/app/ui.rs | 54 --------------------- src/{app => }/file_manager.rs | 0 src/main.rs | 2 +- src/output.rs | 7 ++- 9 files changed, 29 insertions(+), 180 deletions(-) create mode 100644 src/app.rs delete mode 100644 src/app/event_handler.rs delete mode 100644 src/app/events.rs delete mode 100644 src/app/formatter.rs delete mode 100644 src/app/mod.rs delete mode 100644 src/app/ui.rs rename src/{app => }/file_manager.rs (100%) diff --git a/src/app.rs b/src/app.rs new file mode 100644 index 0000000..17fc63f --- /dev/null +++ b/src/app.rs @@ -0,0 +1,25 @@ +#![allow(unused)] + +use std::{io, thread, time::Duration}; +use anyhow::{anyhow, Result}; +use crossterm::{event, execute, terminal}; +use crate::database; +use crate::output; +use crate::params::Params; +use crate::scanner; + +pub struct App; + +impl App { + pub fn init(app_args: &Params) -> Result<()> { + let connection = database::get_connection(app_args)?; + let duplicates = scanner::duplicates(app_args, &connection)?; + + match app_args.interactive { + true => output::interactive(duplicates, app_args), + false => output::print(duplicates, app_args) + } + + Ok(()) + } +} diff --git a/src/app/event_handler.rs b/src/app/event_handler.rs deleted file mode 100644 index da7129b..0000000 --- a/src/app/event_handler.rs +++ /dev/null @@ -1,28 +0,0 @@ -use std::time::Duration; - -use anyhow::Result; -use crossterm::event::{self, KeyCode, KeyEvent}; - -use super::events; - -pub struct EventHandler; - -impl EventHandler { - pub fn init() -> Result { - if crossterm::event::poll(Duration::from_millis(10))? { - match event::read()? { - event::Event::Key(keycode) => Self::handle_keypress(keycode), - _ => Ok(events::Event::Noop), - } - } else { - Ok(events::Event::Noop) - } - } - - fn handle_keypress(keyevent: KeyEvent) -> Result { - match keyevent.code { - KeyCode::Char('q') => Ok(events::Event::Exit), - _ => Ok(events::Event::Noop), - } - } -} diff --git a/src/app/events.rs b/src/app/events.rs deleted file mode 100644 index c7167d0..0000000 --- a/src/app/events.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub enum Event { - Exit, - Noop, -} diff --git a/src/app/formatter.rs b/src/app/formatter.rs deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/mod.rs b/src/app/mod.rs deleted file mode 100644 index aa85541..0000000 --- a/src/app/mod.rs +++ /dev/null @@ -1,89 +0,0 @@ -#![allow(unused)] - -mod event_handler; -mod events; -mod formatter; -mod ui; -pub mod file_manager; - -use std::{io, thread, time::Duration}; - -use anyhow::{anyhow, Result}; -use crossterm::{event, execute, terminal}; -use event_handler::EventHandler; -use tui::{ - backend::CrosstermBackend, - widgets::{Block, Borders, Widget}, - Terminal, -}; -use ui::Ui; - -use crate::database; -use crate::output; -use crate::params::Params; -use crate::scanner; - -pub struct App; - -impl App { - pub fn init(app_args: &Params) -> Result<()> { - // let mut term = Self::init_terminal()?; - - let connection = database::get_connection(app_args)?; - let duplicates = scanner::duplicates(app_args, &connection)?; - - // Self::init_render_loop(&mut term)?; - // Self::cleanup(&mut term)?; - - match app_args.interactive { - true => output::interactive(duplicates, app_args), - false => output::print(duplicates, app_args) /* TODO: APP TUI INIT FUNCTION */ - } - - Ok(()) - } - - fn cleanup(term: &mut Terminal>) -> Result<()> { - terminal::disable_raw_mode()?; - execute!( - term.backend_mut(), - terminal::LeaveAlternateScreen, - event::DisableMouseCapture - )?; - - term.show_cursor()?; - Ok(()) - } - - fn render_cycle(term: &mut Terminal>) -> Result<()> { - match EventHandler::init()? { - events::Event::Noop => Ui::render_frame(term), - events::Event::Exit => Err(anyhow!("Exit")), - } - } - - fn init_render_loop(term: &mut Terminal>) -> Result<()> { - // this could be simplified with a `while Self::render_cycle(term).is_ok() {}` in the current state, but maybe - // it's good to keep it to handle errors in the future - loop { - match Self::render_cycle(term) { - Ok(_) => continue, - Err(_) => break, - } - } - - Ok(()) - } - - fn init_terminal() -> Result>> { - terminal::enable_raw_mode()?; - let mut stdout = io::stdout(); - execute!( - stdout, - terminal::EnterAlternateScreen, - event::EnableMouseCapture - )?; - let backend = CrosstermBackend::new(stdout); - Ok(Terminal::new(backend)?) - } -} diff --git a/src/app/ui.rs b/src/app/ui.rs deleted file mode 100644 index 9b8c63b..0000000 --- a/src/app/ui.rs +++ /dev/null @@ -1,54 +0,0 @@ -use std::io; - -use anyhow::Result; -use tui::{ - backend::{Backend, CrosstermBackend}, - layout::{Constraint, Direction, Layout, Rect}, - style::{Modifier, Style}, - text::{Span, Spans}, - widgets::{Block, Borders, List, ListItem, Widget}, - Frame, Terminal, -}; - -pub struct Ui; - -impl Ui { - fn generate_file_list() -> impl Widget { - let tasks: Vec = vec!["Sreedev"; 100] - .into_iter() - .map(|item| ListItem::new(vec![Spans::from(Span::raw(item))])) - .collect(); - - List::new(tasks) - .block(Block::default().borders(Borders::ALL).title("List")) - .highlight_style(Style::default().add_modifier(Modifier::BOLD)) - .highlight_symbol("> ") - } - - fn generate_info_bar() -> impl Widget { - Block::default().title("Description").borders(Borders::ALL) - } - - fn generate_file_desc() -> impl Widget { - Block::default().title("Description").borders(Borders::ALL) - } - - pub fn render_frame(term: &mut Terminal>) -> Result<()> { - term.draw(|f| { - let windows = Layout::default() - .direction(Direction::Vertical) - .constraints([Constraint::Ratio(2, 16), Constraint::Ratio(14, 16)].as_ref()) - .split(f.size()); - - let subwindows = Layout::default() - .direction(Direction::Horizontal) - .constraints([Constraint::Ratio(1, 4), Constraint::Ratio(3, 4)].as_ref()) - .split(windows[1]); - - f.render_widget(Self::generate_info_bar(), windows[0]); - f.render_widget(Self::generate_file_list(), subwindows[0]); - f.render_widget(Self::generate_file_desc(), subwindows[1]); - })?; - Ok(()) - } -} diff --git a/src/app/file_manager.rs b/src/file_manager.rs similarity index 100% rename from src/app/file_manager.rs rename to src/file_manager.rs diff --git a/src/main.rs b/src/main.rs index 21ac960..b07a679 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,9 +1,9 @@ -#![allow(unused)] // TODO: remove this once TUI is implemented mod app; mod database; mod output; mod params; mod scanner; +mod file_manager; use anyhow::Result; use app::App; diff --git a/src/output.rs b/src/output.rs index fcc2518..9987374 100644 --- a/src/output.rs +++ b/src/output.rs @@ -8,15 +8,14 @@ use colored::Colorize; use humansize::{format_size, DECIMAL}; use itertools::Itertools; -use crate::app::file_manager; +use crate::file_manager; use crate::database::File; use crate::params::Params; -use prettytable::{format, row, Cell, Row, Table}; +use prettytable::{format, row, Table}; use unicode_segmentation::UnicodeSegmentation; fn format_path(path: &str, opts: &Params) -> Result { - let display_path = path.replace(&opts.get_directory()?, ""); - + let display_path = path.replace(&opts.get_directory()?, ""); let display_range = if display_path.chars().count() > 32 { display_path .graphemes(true)