From b08556ba25f12511461a3fe075c81d07b797a517 Mon Sep 17 00:00:00 2001 From: Thomas Hamm Date: Sat, 18 May 2024 12:26:05 +0200 Subject: [PATCH] Fix linter errors --- .github/workflows/build-test-lint.yml | 4 ++-- flake.nix | 14 +++++++++++++- src/main.rs | 10 +++++----- src/taskfile/config.rs | 8 ++++---- src/{app => taskui}/app.rs | 8 ++++---- src/{app => taskui}/config.rs | 0 src/{app => taskui}/event.rs | 0 src/{app => taskui}/mod.rs | 0 src/{app => taskui}/terminal.rs | 0 src/{app => taskui}/ui.rs | 0 src/{app => taskui}/update.rs | 0 11 files changed, 28 insertions(+), 16 deletions(-) rename src/{app => taskui}/app.rs (95%) rename src/{app => taskui}/config.rs (100%) rename src/{app => taskui}/event.rs (100%) rename src/{app => taskui}/mod.rs (100%) rename src/{app => taskui}/terminal.rs (100%) rename src/{app => taskui}/ui.rs (100%) rename src/{app => taskui}/update.rs (100%) diff --git a/.github/workflows/build-test-lint.yml b/.github/workflows/build-test-lint.yml index e4c2000..df6cfc9 100644 --- a/.github/workflows/build-test-lint.yml +++ b/.github/workflows/build-test-lint.yml @@ -20,7 +20,7 @@ jobs: nix build - name: Test run: | - nix develop --ignore-environment --command "cargo" "test" + nix build .#test - name: Lint run: | - nix develop --ignore-environment --command "cargo" "clippy" + nix build .#clippy diff --git a/flake.nix b/flake.nix index f62ba18..78b6f39 100644 --- a/flake.nix +++ b/flake.nix @@ -34,7 +34,19 @@ }; in rec { - defaultPackage = naersk'.buildPackage { src = ./.; }; + packages = { + default = naersk'.buildPackage { + src = ./.; + }; + test = naersk'.buildPackage { + src = ./.; + mode = "test"; + }; + clippy = naersk'.buildPackage { + src = ./.; + mode = "clippy"; + }; + }; devShell = pkgs.mkShell { nativeBuildInputs = [ toolchain pkgs.rust-analyzer ]; }; }); diff --git a/src/main.rs b/src/main.rs index 755f47a..5a0ef50 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,19 +1,19 @@ -use crate::app::App; +use crate::taskui::{App, Config}; use anyhow::Result; -use app::{ +use ratatui::{backend::CrosstermBackend, Terminal}; +use taskui::{ event::{Event, EventHandler}, terminal::UserInterface, update, }; -use ratatui::{backend::CrosstermBackend, Terminal}; -mod app; mod taskfile; +mod taskui; fn main() -> Result<()> { let taskfile = taskfile::config::load()?; - let cfg = app::Config::load(); + let cfg = Config::load(); let mut app = App::new(cfg, taskfile); let backend = CrosstermBackend::new(std::io::stderr()); diff --git a/src/taskfile/config.rs b/src/taskfile/config.rs index 3525a08..15d71c7 100644 --- a/src/taskfile/config.rs +++ b/src/taskfile/config.rs @@ -32,14 +32,14 @@ pub fn load() -> Result> { current_path.to_str().unwrap(), )?; - tasks.extend(included_tasks.into_iter()); + tasks.extend(included_tasks); Ok(tasks) } fn find_supported_file() -> Result<&'static str> { // https://taskfile.dev/usage/#supported-file-names - let file_names = vec![ + let file_names = [ "Taskfile.yml", "taskfile.yml", "Taskfile.yaml", @@ -53,7 +53,7 @@ fn find_supported_file() -> Result<&'static str> { let found = file_names .iter() .find(|&file_name| metadata(file_name).is_ok()) - .map(|&file_name| file_name); + .copied(); match found { Some(file_name) => Ok(file_name), @@ -175,7 +175,7 @@ fn extract_include_path(include_yml: &Value) -> Result { Value::String(path) if path.ends_with(".yml") || path.ends_with(".yaml") => { path.to_string() } - Value::String(path) if path.ends_with("/") => format!("{}Taskfile.yml", path), + Value::String(path) if path.ends_with('/') => format!("{}Taskfile.yml", path), Value::String(path) => format!("{}/Taskfile.yml", path), Value::Mapping(v) => { if let Some(taskfile) = v.get(&Value::String("taskfile".to_string())) { diff --git a/src/app/app.rs b/src/taskui/app.rs similarity index 95% rename from src/app/app.rs rename to src/taskui/app.rs index 4baf40e..9bb33bd 100644 --- a/src/app/app.rs +++ b/src/taskui/app.rs @@ -69,7 +69,7 @@ impl StatefulList { } pub fn next(&mut self) { - if self.items.len() == 0 { + if self.items.is_empty() { self.reset_selected(); return; } @@ -89,7 +89,7 @@ impl StatefulList { } pub fn previous(&mut self) { - if self.items.len() == 0 { + if self.items.is_empty() { self.reset_selected(); return; } @@ -122,11 +122,11 @@ impl StatefulList { } pub fn filter(&mut self, search: &String) { - self.items = self.orig_items.clone(); + self.items.clone_from(&self.orig_items); self.items.retain(|i| i.item.name.contains(search)); self.state = ListState::default(); - if self.items.len() > 0 { + if !self.items.is_empty() { self.state.select(Some(0)); } else { self.state.select(None); diff --git a/src/app/config.rs b/src/taskui/config.rs similarity index 100% rename from src/app/config.rs rename to src/taskui/config.rs diff --git a/src/app/event.rs b/src/taskui/event.rs similarity index 100% rename from src/app/event.rs rename to src/taskui/event.rs diff --git a/src/app/mod.rs b/src/taskui/mod.rs similarity index 100% rename from src/app/mod.rs rename to src/taskui/mod.rs diff --git a/src/app/terminal.rs b/src/taskui/terminal.rs similarity index 100% rename from src/app/terminal.rs rename to src/taskui/terminal.rs diff --git a/src/app/ui.rs b/src/taskui/ui.rs similarity index 100% rename from src/app/ui.rs rename to src/taskui/ui.rs diff --git a/src/app/update.rs b/src/taskui/update.rs similarity index 100% rename from src/app/update.rs rename to src/taskui/update.rs