diff --git a/Cargo.lock b/Cargo.lock index 33cc700..4098442 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -156,9 +156,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.5" +version = "1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5430e3be710b68d984d1391c854eb431a9d548640711faa54eecb1df93db91cc" +checksum = "b2b74d67a0fc0af8e9823b79fd1c43a0900e5a8f0e0f4cc9210796bf3a820126" dependencies = [ "borsh-derive", "cfg_aliases", @@ -166,9 +166,9 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.5" +version = "1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8b668d39970baad5356d7c83a86fee3a539e6f93bf6764c97368243e17a0487" +checksum = "2d37ed1b2c9b78421218a0b4f6d8349132d6ec2cfeba1cfb0118b0a8e268df9e" dependencies = [ "once_cell", "proc-macro-crate", @@ -262,9 +262,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.16" +version = "1.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" +checksum = "1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a" dependencies = [ "shlex", ] @@ -479,9 +479,9 @@ checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1" [[package]] name = "file_type" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2f41d9c0ff84ee5335227a501bfa01284d5fec029f504dc48bea8238a16ca04" +checksum = "e237c2e6ae6183998137b1157b9e0fddfa25ce480f99f40ec1a5c2d49747c6d1" dependencies = [ "phf", ] @@ -1178,9 +1178,9 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.37.0" +version = "1.37.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c24af6e7ac43c88a8a458d1139d0246fdce2f6cd2f1ac6cb51eb88b29c978af" +checksum = "faa7de2ba56ac291bd90c6b9bece784a52ae1411f9506544b3eae36dd2356d50" dependencies = [ "arrayvec", "borsh", @@ -1445,8 +1445,8 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tengri" -version = "0.3.2" -source = "git+https://codeberg.org/unspeaker/tengri?rev=96ff10c#96ff10c4b0fda0d71308f488f5715c2f87f782d0" +version = "0.4.0" +source = "git+https://codeberg.org/unspeaker/tengri?rev=81e7f50#81e7f503634af7768d3d21276f383cb9fd63a1ce" dependencies = [ "tengri_input", "tengri_output", @@ -1455,18 +1455,18 @@ dependencies = [ [[package]] name = "tengri_input" -version = "0.3.2" -source = "git+https://codeberg.org/unspeaker/tengri?rev=96ff10c#96ff10c4b0fda0d71308f488f5715c2f87f782d0" +version = "0.4.0" +source = "git+https://codeberg.org/unspeaker/tengri?rev=81e7f50#81e7f503634af7768d3d21276f383cb9fd63a1ce" [[package]] name = "tengri_output" -version = "0.3.2" -source = "git+https://codeberg.org/unspeaker/tengri?rev=96ff10c#96ff10c4b0fda0d71308f488f5715c2f87f782d0" +version = "0.4.0" +source = "git+https://codeberg.org/unspeaker/tengri?rev=81e7f50#81e7f503634af7768d3d21276f383cb9fd63a1ce" [[package]] name = "tengri_tui" -version = "0.3.2" -source = "git+https://codeberg.org/unspeaker/tengri?rev=96ff10c#96ff10c4b0fda0d71308f488f5715c2f87f782d0" +version = "0.4.0" +source = "git+https://codeberg.org/unspeaker/tengri?rev=81e7f50#81e7f503634af7768d3d21276f383cb9fd63a1ce" dependencies = [ "atomic_float", "better-panic", @@ -1819,18 +1819,18 @@ checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" [[package]] name = "zerocopy" -version = "0.8.23" +version = "0.8.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" +checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.23" +version = "0.8.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" +checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 2b88196..90b4712 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,22 +5,22 @@ edition = "2024" [dependencies.tengri] git = "https://codeberg.org/unspeaker/tengri" -rev = "96ff10c" +rev = "81e7f50" [dependencies] -clap = { version = "4.5.4", features = [ "cargo" ] } +clap = { version = "^4.5.4", features = [ "cargo" ] } enolib = { git = "https://codeberg.org/simonrepp/enolib-rs", tag = "0.5.0" } -byte-unit = "5.1.6" -file_type = "0.8" -hex = "0.4" -id3 = "1.16" -lofty = "0.22.2" -opener = "0.7" -opus_headers = "0.1.2" -pad = "0.1" -rusty-chromaprint = "0.3.0" -walkdir = "2" -xxhash-rust = { version = "0.8.5", features = ["xxh3"] } +byte-unit = "^5.1.6" +file_type = "^0.8" +hex = "^0.4" +id3 = "^1.16" +lofty = "^0.22.2" +opener = "^0.7" +opus_headers = "^0.1.2" +pad = "^0.1" +rusty-chromaprint = "^0.3.0" +walkdir = "^2" +xxhash-rust = { version = "^0.8.5", features = ["xxh3"] } #base64 = "0.22" #moku = "0.2" diff --git a/Justfile b/Justfile index 713cc8f..e7ffb7f 100644 --- a/Justfile +++ b/Justfile @@ -1,4 +1,6 @@ run: + cargo run -- -j16 ~/Studio/Camp +run2: cargo run -- -j16 ~/Music build-release: time cargo build -j4 --release diff --git a/src/keys.rs b/src/keys.rs index ac83715..ed42b37 100644 --- a/src/keys.rs +++ b/src/keys.rs @@ -92,14 +92,14 @@ impl Taggart { } pub fn edit_insert (&mut self, c: char) { if let Some((edit_index, value)) = &mut self.editing { - self.editing = Some((*edit_index, format!("{value}{c}"))); + self.editing = Some((*edit_index + 1, format!("{value}{c}"))); } } pub fn edit_backspace (&mut self) { if let Some((edit_index, value)) = &mut self.editing { let mut chars = value.chars(); chars.next_back(); - self.editing = Some((*edit_index, chars.as_str().into())); + self.editing = Some((edit_index.saturating_sub(1), chars.as_str().into())); } } pub fn edit_delete (&mut self) { diff --git a/src/model/column.rs b/src/model/column.rs index 635e38c..28383d1 100644 --- a/src/model/column.rs +++ b/src/model/column.rs @@ -34,13 +34,13 @@ impl Default for ColumnsOption>, fn(&mut [Entry], u fn default () -> Self { Self(vec![ - Column::new(&"HASH", 16, |entry: &Entry|entry.hash()), + Column::new(&"HASH", 8, |entry: &Entry|entry.hash()), - Column::new(&"SIZE", 8, |entry: &Entry|entry.size()), + Column::new(&"SIZE", 8, |entry: &Entry|entry.size()), - Column::new(&"FILE", 80, |entry: &Entry|entry.name()), + Column::new(&"FILE", 80, |entry: &Entry|entry.name()), - Column::new(&"ARTIST", 30, |entry: &Entry|entry.artist()) + Column::new(&"ARTIST", 30, |entry: &Entry|entry.artist()) .setter(|entries: &mut [Entry], index: usize, value: &str|{ if let Some(entries) = paths_under(entries, index) { for entry in entries.iter() { diff --git a/src/view.rs b/src/view.rs index 1462311..ae4080c 100644 --- a/src/view.rs +++ b/src/view.rs @@ -21,12 +21,12 @@ impl Content for Taggart { Fill::x(Align::w(Tui::bold(true, if self.editing.is_some() { Bsp::e( Tui::bg(Self::BG_EDIT, Tui::fg(Self::FG_EDIT, " EDIT ")), - " Esc to cancel, Enter to save" + " Esc: cancel, Enter: set value" ) } else { Bsp::e( Tui::bg(Self::BG_BROWSE, Tui::fg(Self::FG_BROWSE, " BROWSE ")), - " Q to exit, Arrows to select, Enter to edit" + " Q: exit, Arrows: select, Enter: edit" ) }))), Fill::x(Align::e(size)), @@ -58,11 +58,4 @@ impl Entry { Self::ICON_UNKNOWN } } - //fn style (&self) -> Option