From bbdd7786ceb6a40ddfdca9c409997fccd6b7dfba Mon Sep 17 00:00:00 2001 From: ClementTsang Date: Fri, 28 Feb 2020 22:24:24 -0500 Subject: [PATCH 1/5] Optimized imports as per clion --- src/app.rs | 17 ++++---- src/app/data_farmer.rs | 3 +- src/app/data_harvester.rs | 1 + src/app/data_harvester/network.rs | 3 +- src/app/data_harvester/processes.rs | 11 ++++-- src/app/data_harvester/temperature.rs | 3 +- src/app/process_killer.rs | 13 ++++--- src/canvas.rs | 32 +++++++-------- src/canvas/canvas_colours.rs | 6 ++- src/canvas/canvas_colours/colour_utils.rs | 4 +- src/data_conversion.rs | 22 ++++++----- src/main.rs | 47 +++++++++++------------ tests/arg_rate_tests.rs | 3 +- 13 files changed, 91 insertions(+), 74 deletions(-) diff --git a/src/app.rs b/src/app.rs index b2313e08..ad5f9c5d 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1,16 +1,17 @@ -pub mod data_harvester; -use data_harvester::{processes, temperature}; use std::time::Instant; -pub mod data_farmer; -use data_farmer::*; - -use crate::{canvas, constants, utils::error::Result}; -mod process_killer; - use unicode_segmentation::GraphemeCursor; use unicode_width::{UnicodeWidthChar, UnicodeWidthStr}; +use data_farmer::*; +use data_harvester::{processes, temperature}; + +use crate::{canvas, constants, utils::error::Result}; + +pub mod data_harvester; +pub mod data_farmer; +mod process_killer; + const MAX_SEARCH_LENGTH: usize = 200; #[derive(Debug, Clone, Copy)] diff --git a/src/app/data_farmer.rs b/src/app/data_farmer.rs index 9741c563..c32a62d3 100644 --- a/src/app/data_farmer.rs +++ b/src/app/data_farmer.rs @@ -1,4 +1,3 @@ -use crate::data_harvester::{cpu, disks, mem, network, processes, temperature, Data}; /// In charge of cleaning, processing, and managing data. I couldn't think of /// a better name for the file. Since I called data collection "harvesting", /// then this is the farmer I guess. @@ -16,6 +15,8 @@ use crate::data_harvester::{cpu, disks, mem, network, processes, temperature, Da use std::time::Instant; use std::vec::Vec; +use crate::data_harvester::{cpu, Data, disks, mem, network, processes, temperature}; + pub type TimeOffset = f64; pub type Value = f64; pub type JoinedDataPoints = (Value, Vec<(TimeOffset, Value)>); diff --git a/src/app/data_harvester.rs b/src/app/data_harvester.rs index bee29eb7..80d46a9e 100644 --- a/src/app/data_harvester.rs +++ b/src/app/data_harvester.rs @@ -1,6 +1,7 @@ //! This is the main file to house data collection functions. use std::{collections::HashMap, time::Instant}; + use sysinfo::{System, SystemExt}; pub mod cpu; diff --git a/src/app/data_harvester/network.rs b/src/app/data_harvester/network.rs index b4d32c29..9a40d5f7 100644 --- a/src/app/data_harvester/network.rs +++ b/src/app/data_harvester/network.rs @@ -1,7 +1,8 @@ +use std::time::Instant; + use futures::StreamExt; use heim::net; use heim::units::information::byte; -use std::time::Instant; use sysinfo::{NetworkExt, System, SystemExt}; #[derive(Default, Clone, Debug)] diff --git a/src/app/data_harvester/processes.rs b/src/app/data_harvester/processes.rs index 9a2bc548..7b56f32c 100644 --- a/src/app/data_harvester/processes.rs +++ b/src/app/data_harvester/processes.rs @@ -1,10 +1,13 @@ -use crate::utils::error; use std::{ - collections::{hash_map::RandomState, HashMap}, - process::Command, - time::Instant, + collections::{hash_map::RandomState, HashMap}, + process::Command, + time::Instant, }; + use sysinfo::{ProcessExt, ProcessorExt, System, SystemExt}; + +use crate::utils::error; + #[derive(Clone)] pub enum ProcessSorting { CPU, diff --git a/src/app/data_harvester/temperature.rs b/src/app/data_harvester/temperature.rs index 52500047..66d47e1e 100644 --- a/src/app/data_harvester/temperature.rs +++ b/src/app/data_harvester/temperature.rs @@ -1,6 +1,7 @@ +use std::cmp::Ordering; + use futures::StreamExt; use heim::units::thermodynamic_temperature; -use std::cmp::Ordering; use sysinfo::{ComponentExt, System, SystemExt}; #[derive(Default, Debug, Clone)] diff --git a/src/app/process_killer.rs b/src/app/process_killer.rs index 85b5b402..c2712874 100644 --- a/src/app/process_killer.rs +++ b/src/app/process_killer.rs @@ -1,17 +1,18 @@ -/// This file is meant to house (OS specific) implementations on how to kill processes. -use crate::utils::error::BottomError; use std::process::Command; // Copied from SO: https://stackoverflow.com/a/55231715 #[cfg(target_os = "windows")] use winapi::{ - shared::{minwindef::DWORD, ntdef::HANDLE}, - um::{ - processthreadsapi::{OpenProcess, TerminateProcess}, - winnt::{PROCESS_QUERY_INFORMATION, PROCESS_TERMINATE}, + shared::{minwindef::DWORD, ntdef::HANDLE}, + um::{ + processthreadsapi::{OpenProcess, TerminateProcess}, + winnt::{PROCESS_QUERY_INFORMATION, PROCESS_TERMINATE}, }, }; +/// This file is meant to house (OS specific) implementations on how to kill processes. +use crate::utils::error::BottomError; + #[cfg(target_os = "windows")] struct Process(HANDLE); diff --git a/src/canvas.rs b/src/canvas.rs index 38070a5e..69d51039 100644 --- a/src/canvas.rs +++ b/src/canvas.rs @@ -1,28 +1,30 @@ -use crate::{ - app::{self, data_harvester::processes::ProcessHarvest, WidgetPosition}, - constants::*, - data_conversion::{ConvertedCpuData, ConvertedProcessData}, - utils::error, -}; use std::cmp::max; use std::collections::HashMap; + use tui::{ - backend, - layout::{Alignment, Constraint, Direction, Layout, Rect}, - style::{Color, Style}, - terminal::Frame, - widgets::{Axis, Block, Borders, Chart, Dataset, Marker, Paragraph, Row, Table, Text, Widget}, - Terminal, + backend, + layout::{Alignment, Constraint, Direction, Layout, Rect}, + style::{Color, Style}, + Terminal, + terminal::Frame, + widgets::{Axis, Block, Borders, Chart, Dataset, Marker, Paragraph, Row, Table, Text, Widget}, }; use unicode_segmentation::UnicodeSegmentation; use unicode_width::UnicodeWidthStr; -mod canvas_colours; use canvas_colours::*; - -mod drawing_utils; use drawing_utils::*; +use crate::{ + app::{self, data_harvester::processes::ProcessHarvest, WidgetPosition}, + constants::*, + data_conversion::{ConvertedCpuData, ConvertedProcessData}, + utils::error, +}; + +mod canvas_colours; +mod drawing_utils; + // Headers const CPU_LEGEND_HEADER: [&str; 2] = ["CPU", "Use%"]; const CPU_SELECT_LEGEND_HEADER: [&str; 2] = ["CPU", "Show (Space)"]; diff --git a/src/canvas/canvas_colours.rs b/src/canvas/canvas_colours.rs index 949a90c5..27cc228f 100644 --- a/src/canvas/canvas_colours.rs +++ b/src/canvas/canvas_colours.rs @@ -1,9 +1,11 @@ -mod colour_utils; -use colour_utils::*; use tui::style::{Color, Modifier, Style}; +use colour_utils::*; + use crate::{constants::*, utils::error}; +mod colour_utils; + pub struct CanvasColours { pub currently_selected_text_colour: Color, pub currently_selected_bg_colour: Color, diff --git a/src/canvas/canvas_colours/colour_utils.rs b/src/canvas/canvas_colours/colour_utils.rs index c7e32a23..c7e2a1ae 100644 --- a/src/canvas/canvas_colours/colour_utils.rs +++ b/src/canvas/canvas_colours/colour_utils.rs @@ -1,7 +1,9 @@ -use crate::utils::{error, gen_util::*}; use std::collections::HashMap; + use tui::style::{Color, Style}; +use crate::utils::{error, gen_util::*}; + const GOLDEN_RATIO: f32 = 0.618_034; // Approx, good enough for use (also Clippy gets mad if it's too long) pub const STANDARD_FIRST_COLOUR: Color = Color::LightMagenta; pub const STANDARD_SECOND_COLOUR: Color = Color::LightYellow; diff --git a/src/data_conversion.rs b/src/data_conversion.rs index bbd51ee5..c1dc2a17 100644 --- a/src/data_conversion.rs +++ b/src/data_conversion.rs @@ -1,18 +1,20 @@ //! This mainly concerns converting collected data into things that the canvas //! can actually handle. -use crate::{ - app::{ - data_farmer, - data_harvester::{self, processes::ProcessHarvest}, - App, - }, - constants, - utils::gen_util::{get_exact_byte_values, get_simple_byte_values}, -}; -use constants::*; use std::collections::HashMap; +use constants::*; + +use crate::{ + app::{ + App, + data_farmer, + data_harvester::{self, processes::ProcessHarvest}, + }, + constants, + utils::gen_util::{get_exact_byte_values, get_simple_byte_values}, +}; + #[derive(Default, Debug)] pub struct ConvertedNetworkData { pub rx: Vec<(f64, f64)>, diff --git a/src/main.rs b/src/main.rs index 47a63229..4e5ffc2b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,26 +1,13 @@ #![warn(rust_2018_idioms)] -#[macro_use] -extern crate log; #[macro_use] extern crate clap; #[macro_use] +extern crate futures; +#[macro_use] extern crate lazy_static; #[macro_use] -extern crate futures; - -use serde::Deserialize; - -use crossterm::{ - event::{ - poll, read, DisableMouseCapture, EnableMouseCapture, Event as CEvent, KeyCode, KeyEvent, - KeyModifiers, MouseEvent, - }, - execute, - style::Print, - terminal::LeaveAlternateScreen, - terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen}, -}; +extern crate log; use std::{ boxed::Box, @@ -30,8 +17,28 @@ use std::{ thread, time::{Duration, Instant}, }; + +use crossterm::{ + event::{ + DisableMouseCapture, EnableMouseCapture, Event as CEvent, KeyCode, KeyEvent, KeyModifiers, MouseEvent, + poll, read, + }, + execute, + style::Print, + terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen}, + terminal::LeaveAlternateScreen, +}; +use serde::Deserialize; use tui::{backend::CrosstermBackend, Terminal}; +use app::{ + App, + data_harvester::{self, processes::ProcessSorting}, +}; +use constants::*; +use data_conversion::*; +use utils::error::{self, BottomError}; + pub mod app; mod utils { pub mod error; @@ -42,14 +49,6 @@ mod canvas; mod constants; mod data_conversion; -use app::{ - data_harvester::{self, processes::ProcessSorting}, - App, -}; -use constants::*; -use data_conversion::*; -use utils::error::{self, BottomError}; - enum Event { KeyInput(I), MouseInput(J), diff --git a/tests/arg_rate_tests.rs b/tests/arg_rate_tests.rs index 206dbf50..35afb4d2 100644 --- a/tests/arg_rate_tests.rs +++ b/tests/arg_rate_tests.rs @@ -1,6 +1,7 @@ +use std::process::Command; + use assert_cmd::prelude::*; use predicates::prelude::*; -use std::process::Command; // These tests are mostly here just to ensure that invalid results will be caught when passing arguments... From 520af2b68f550b45c64aaefc4004e4ddd5688b92 Mon Sep 17 00:00:00 2001 From: ClementTsang Date: Fri, 28 Feb 2020 22:27:29 -0500 Subject: [PATCH 2/5] Updated rustfmt to remove nightly-only features (for now) --- rustfmt.toml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/rustfmt.toml b/rustfmt.toml index c7c801a9..5e1a41b9 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -3,11 +3,7 @@ max_width = 100 newline_style = "Unix" reorder_imports = true fn_args_layout = "Compressed" -empty_item_single_line = false hard_tabs = true -merge_imports = true merge_derives = true reorder_modules = true -reorder_impl_items = true tab_spaces = 4 -format_strings = true From 75a19344207d52dd445487747998ff4065540f2e Mon Sep 17 00:00:00 2001 From: ClementTsang Date: Fri, 28 Feb 2020 22:27:35 -0500 Subject: [PATCH 3/5] rustfmt --- src/app.rs | 2 +- src/app/data_farmer.rs | 2 +- src/app/data_harvester/processes.rs | 6 +++--- src/app/process_killer.rs | 8 ++++---- src/canvas.rs | 20 ++++++++++---------- src/data_conversion.rs | 12 ++++++------ src/main.rs | 8 ++++---- 7 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/app.rs b/src/app.rs index ad5f9c5d..f7de26f0 100644 --- a/src/app.rs +++ b/src/app.rs @@ -8,8 +8,8 @@ use data_harvester::{processes, temperature}; use crate::{canvas, constants, utils::error::Result}; -pub mod data_harvester; pub mod data_farmer; +pub mod data_harvester; mod process_killer; const MAX_SEARCH_LENGTH: usize = 200; diff --git a/src/app/data_farmer.rs b/src/app/data_farmer.rs index c32a62d3..6552a8ec 100644 --- a/src/app/data_farmer.rs +++ b/src/app/data_farmer.rs @@ -15,7 +15,7 @@ use std::time::Instant; use std::vec::Vec; -use crate::data_harvester::{cpu, Data, disks, mem, network, processes, temperature}; +use crate::data_harvester::{cpu, disks, mem, network, processes, temperature, Data}; pub type TimeOffset = f64; pub type Value = f64; diff --git a/src/app/data_harvester/processes.rs b/src/app/data_harvester/processes.rs index 7b56f32c..027781eb 100644 --- a/src/app/data_harvester/processes.rs +++ b/src/app/data_harvester/processes.rs @@ -1,7 +1,7 @@ use std::{ - collections::{hash_map::RandomState, HashMap}, - process::Command, - time::Instant, + collections::{hash_map::RandomState, HashMap}, + process::Command, + time::Instant, }; use sysinfo::{ProcessExt, ProcessorExt, System, SystemExt}; diff --git a/src/app/process_killer.rs b/src/app/process_killer.rs index c2712874..d2089aad 100644 --- a/src/app/process_killer.rs +++ b/src/app/process_killer.rs @@ -3,10 +3,10 @@ use std::process::Command; // Copied from SO: https://stackoverflow.com/a/55231715 #[cfg(target_os = "windows")] use winapi::{ - shared::{minwindef::DWORD, ntdef::HANDLE}, - um::{ - processthreadsapi::{OpenProcess, TerminateProcess}, - winnt::{PROCESS_QUERY_INFORMATION, PROCESS_TERMINATE}, + shared::{minwindef::DWORD, ntdef::HANDLE}, + um::{ + processthreadsapi::{OpenProcess, TerminateProcess}, + winnt::{PROCESS_QUERY_INFORMATION, PROCESS_TERMINATE}, }, }; diff --git a/src/canvas.rs b/src/canvas.rs index 69d51039..7b543bb0 100644 --- a/src/canvas.rs +++ b/src/canvas.rs @@ -2,12 +2,12 @@ use std::cmp::max; use std::collections::HashMap; use tui::{ - backend, - layout::{Alignment, Constraint, Direction, Layout, Rect}, - style::{Color, Style}, - Terminal, - terminal::Frame, - widgets::{Axis, Block, Borders, Chart, Dataset, Marker, Paragraph, Row, Table, Text, Widget}, + backend, + layout::{Alignment, Constraint, Direction, Layout, Rect}, + style::{Color, Style}, + terminal::Frame, + widgets::{Axis, Block, Borders, Chart, Dataset, Marker, Paragraph, Row, Table, Text, Widget}, + Terminal, }; use unicode_segmentation::UnicodeSegmentation; use unicode_width::UnicodeWidthStr; @@ -16,10 +16,10 @@ use canvas_colours::*; use drawing_utils::*; use crate::{ - app::{self, data_harvester::processes::ProcessHarvest, WidgetPosition}, - constants::*, - data_conversion::{ConvertedCpuData, ConvertedProcessData}, - utils::error, + app::{self, data_harvester::processes::ProcessHarvest, WidgetPosition}, + constants::*, + data_conversion::{ConvertedCpuData, ConvertedProcessData}, + utils::error, }; mod canvas_colours; diff --git a/src/data_conversion.rs b/src/data_conversion.rs index c1dc2a17..9302eae2 100644 --- a/src/data_conversion.rs +++ b/src/data_conversion.rs @@ -6,13 +6,13 @@ use std::collections::HashMap; use constants::*; use crate::{ - app::{ - App, - data_farmer, - data_harvester::{self, processes::ProcessHarvest}, + app::{ + data_farmer, + data_harvester::{self, processes::ProcessHarvest}, + App, }, - constants, - utils::gen_util::{get_exact_byte_values, get_simple_byte_values}, + constants, + utils::gen_util::{get_exact_byte_values, get_simple_byte_values}, }; #[derive(Default, Debug)] diff --git a/src/main.rs b/src/main.rs index 4e5ffc2b..a4ddad26 100644 --- a/src/main.rs +++ b/src/main.rs @@ -20,20 +20,20 @@ use std::{ use crossterm::{ event::{ - DisableMouseCapture, EnableMouseCapture, Event as CEvent, KeyCode, KeyEvent, KeyModifiers, MouseEvent, - poll, read, + poll, read, DisableMouseCapture, EnableMouseCapture, Event as CEvent, KeyCode, KeyEvent, + KeyModifiers, MouseEvent, }, execute, style::Print, - terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen}, terminal::LeaveAlternateScreen, + terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen}, }; use serde::Deserialize; use tui::{backend::CrosstermBackend, Terminal}; use app::{ - App, data_harvester::{self, processes::ProcessSorting}, + App, }; use constants::*; use data_conversion::*; From eb159a45c469ad6d95c3e11ee35e8514e3fb4fbc Mon Sep 17 00:00:00 2001 From: ClementTsang Date: Fri, 28 Feb 2020 22:31:11 -0500 Subject: [PATCH 4/5] [skip travis] Update .gitignore to ignore .idea --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 4a453e53..82f38bf0 100644 --- a/.gitignore +++ b/.gitignore @@ -15,5 +15,6 @@ Cargo.lock rust-unmangle *.svg *.data +.idea/ sample_configs/testing.toml From c715133b4d313ac631b224c526535955c34422cf Mon Sep 17 00:00:00 2001 From: ClementTsang Date: Fri, 28 Feb 2020 22:39:26 -0500 Subject: [PATCH 5/5] Some more suggestions based on clion. Mostly removing brackets. --- src/app.rs | 2 +- src/canvas.rs | 28 ++++++++++++++-------------- src/main.rs | 14 +++++++------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/app.rs b/src/app.rs index f7de26f0..e23938ac 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1032,7 +1032,7 @@ impl App { pub fn kill_highlighted_process(&mut self) -> Result<()> { // Technically unnecessary but this is a good check... if let WidgetPosition::Process = self.current_widget_selected { - if let Some(current_selected_processes) = &(self.to_delete_process_list) { + if let Some(current_selected_processes) = &self.to_delete_process_list { for pid in ¤t_selected_processes.1 { process_killer::kill_process_given_pid(*pid)?; } diff --git a/src/canvas.rs b/src/canvas.rs index 7b543bb0..64d325fe 100644 --- a/src/canvas.rs +++ b/src/canvas.rs @@ -622,12 +622,12 @@ impl Painter { fn draw_cpu_legend( &self, f: &mut Frame<'_, B>, app_state: &mut app::App, draw_loc: Rect, ) { - let cpu_data: &[ConvertedCpuData] = &(app_state.canvas_data.cpu_data); + let cpu_data: &[ConvertedCpuData] = &app_state.canvas_data.cpu_data; let num_rows = max(0, i64::from(draw_loc.height) - 5) as u64; let start_position = get_start_position( num_rows, - &(app_state.app_scroll_positions.scroll_direction), + &app_state.app_scroll_positions.scroll_direction, &mut app_state .app_scroll_positions .cpu_scroll_state @@ -768,8 +768,8 @@ impl Painter { fn draw_memory_graph( &self, f: &mut Frame<'_, B>, app_state: &app::App, draw_loc: Rect, ) { - let mem_data: &[(f64, f64)] = &(app_state.canvas_data.mem_data); - let swap_data: &[(f64, f64)] = &(app_state.canvas_data.swap_data); + let mem_data: &[(f64, f64)] = &app_state.canvas_data.mem_data; + let swap_data: &[(f64, f64)] = &app_state.canvas_data.swap_data; let x_axis: Axis<'_, String> = Axis::default().bounds([0.0, TIME_STARTS_FROM as f64]); @@ -841,8 +841,8 @@ impl Painter { fn draw_network_graph( &self, f: &mut Frame<'_, B>, app_state: &app::App, draw_loc: Rect, ) { - let network_data_rx: &[(f64, f64)] = &(app_state.canvas_data.network_data_rx); - let network_data_tx: &[(f64, f64)] = &(app_state.canvas_data.network_data_tx); + let network_data_rx: &[(f64, f64)] = &app_state.canvas_data.network_data_rx; + let network_data_tx: &[(f64, f64)] = &app_state.canvas_data.network_data_tx; let x_axis: Axis<'_, String> = Axis::default().bounds([0.0, 60_000.0]); let y_axis: Axis<'_, &str> = Axis::default() @@ -940,7 +940,7 @@ impl Painter { // Calculate widths let width_ratios: Vec = vec![0.25, 0.25, 0.25, 0.25]; - let lens: &Vec = &NETWORK_HEADERS_LENS; + let lens: &[usize] = &NETWORK_HEADERS_LENS; let width = f64::from(draw_loc.width); let variable_intrinsic_results = @@ -969,12 +969,12 @@ impl Painter { fn draw_temp_table( &self, f: &mut Frame<'_, B>, app_state: &mut app::App, draw_loc: Rect, ) { - let temp_sensor_data: &[Vec] = &(app_state.canvas_data.temp_sensor_data); + let temp_sensor_data: &[Vec] = &app_state.canvas_data.temp_sensor_data; let num_rows = max(0, i64::from(draw_loc.height) - 5) as u64; let start_position = get_start_position( num_rows, - &(app_state.app_scroll_positions.scroll_direction), + &app_state.app_scroll_positions.scroll_direction, &mut app_state .app_scroll_positions .temp_scroll_state @@ -986,7 +986,7 @@ impl Painter { app_state.is_resized, ); - let sliced_vec = &(temp_sensor_data[start_position as usize..]); + let sliced_vec = &temp_sensor_data[start_position as usize..]; let mut temp_row_counter: i64 = 0; let temperature_rows = sliced_vec.iter().map(|temp_row| { @@ -1066,11 +1066,11 @@ impl Painter { fn draw_disk_table( &self, f: &mut Frame<'_, B>, app_state: &mut app::App, draw_loc: Rect, ) { - let disk_data: &[Vec] = &(app_state.canvas_data.disk_data); + let disk_data: &[Vec] = &app_state.canvas_data.disk_data; let num_rows = max(0, i64::from(draw_loc.height) - 5) as u64; let start_position = get_start_position( num_rows, - &(app_state.app_scroll_positions.scroll_direction), + &app_state.app_scroll_positions.scroll_direction, &mut app_state .app_scroll_positions .disk_scroll_state @@ -1352,7 +1352,7 @@ impl Painter { let position = get_start_position( num_rows, - &(app_state.app_scroll_positions.scroll_direction), + &app_state.app_scroll_positions.scroll_direction, &mut app_state .app_scroll_positions .process_scroll_state @@ -1371,7 +1371,7 @@ impl Painter { position }; - let sliced_vec = &(process_data[start_position as usize..]); + let sliced_vec = &process_data[start_position as usize..]; let mut process_counter: i64 = 0; // Draw! diff --git a/src/main.rs b/src/main.rs index a4ddad26..18061db6 100644 --- a/src/main.rs +++ b/src/main.rs @@ -494,20 +494,20 @@ fn get_temperature_option( } else if let Some(flags) = &config.flags { if let Some(temp_type) = &flags.temperature_type { // Give lowest priority to config. - match temp_type.as_str() { + return match temp_type.as_str() { "fahrenheit" | "f" => { - return Ok(data_harvester::temperature::TemperatureType::Fahrenheit); + Ok(data_harvester::temperature::TemperatureType::Fahrenheit) } "kelvin" | "k" => { - return Ok(data_harvester::temperature::TemperatureType::Kelvin); + Ok(data_harvester::temperature::TemperatureType::Kelvin) } "celsius" | "c" => { - return Ok(data_harvester::temperature::TemperatureType::Celsius); + Ok(data_harvester::temperature::TemperatureType::Celsius) } _ => { - return Err(BottomError::ConfigError( + Err(BottomError::ConfigError( "Invalid temperature type. Please have the value be of the form ".to_string() - )); + )) } } } @@ -713,7 +713,7 @@ fn generate_config_colours(config: &Config, painter: &mut canvas::Painter) -> er painter.colours.set_avg_cpu_colour(avg_cpu_color)?; } - if let Some(cpu_core_colors) = &(colours.cpu_core_colors) { + if let Some(cpu_core_colors) = &colours.cpu_core_colors { painter.colours.set_cpu_colours(cpu_core_colors)?; }