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