From b4733d4c2b324ebf87ccd7e6f624b2cfd7173c0f Mon Sep 17 00:00:00 2001 From: julien-cpsn Date: Sun, 30 Jun 2024 19:50:22 +0200 Subject: [PATCH] Updated dependencies versions --- Cargo.lock | 953 +++++++++++++++++++++------- Cargo.toml | 48 +- README.md | 47 +- src/app/app.rs | 2 +- src/app/app_logic/collection.rs | 11 +- src/app/app_states.rs | 2 +- src/app/events.rs | 4 +- src/app/startup/prepare_terminal.rs | 4 +- src/app/ui/collection.rs | 5 +- src/app/ui/result_tabs.rs | 4 +- src/main.rs | 6 +- src/utils/stateful_tree.rs | 4 +- src/utils/vim_emulation.rs | 3 +- 13 files changed, 810 insertions(+), 283 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ce3c53d..87c1c4b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -38,6 +38,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "aligned-vec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1" + [[package]] name = "alloc-no-stdlib" version = "2.0.4" @@ -107,25 +113,47 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "anyhow" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" + +[[package]] +name = "arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" + [[package]] name = "arboard" -version = "3.3.2" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2041f1943049c7978768d84e6d0fd95de98b76d6c4727b09e78ec253d29fa58" +checksum = "9fb4009533e8ff8f1450a5bcbc30f4242a1d34442221f72314bea1f5dc9c7f89" dependencies = [ "clipboard-win", "core-graphics", "image", "log", - "objc", - "objc-foundation", - "objc_id", + "objc2", + "objc2-app-kit", + "objc2-foundation", "parking_lot", - "thiserror", "windows-sys 0.48.0", "x11rb", ] +[[package]] +name = "arg_enum_proc_macro" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.58", +] + [[package]] name = "arrayvec" version = "0.7.4" @@ -151,12 +179,11 @@ name = "atac" version = "0.16.0" dependencies = [ "arboard", - "base64 0.22.0", + "base64 0.22.1", "boa_engine", "clap", "cookie_store", "crokey", - "crossterm", "curl-parser", "dirs", "image", @@ -181,7 +208,7 @@ dependencies = [ "tokio", "toml", "tui-big-text", - "tui-textarea", + "tui-textarea-julien-cpsn", "tui-tree-widget", "walkdir", ] @@ -192,6 +219,29 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "av1-grain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf" +dependencies = [ + "anyhow", + "arrayvec", + "log", + "nom", + "num-rational", + "v_frame", +] + +[[package]] +name = "avif-serialize" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "876c75a42f6364451a033496a14c44bffe41f5f4a8236f697391f11024e596d2" +dependencies = [ + "arrayvec", +] + [[package]] name = "backtrace" version = "0.3.69" @@ -215,9 +265,9 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64" -version = "0.22.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bincode" @@ -242,15 +292,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.2" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] -name = "block" -version = "0.1.6" +name = "bitstream-io" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" +checksum = "415f8399438eb5e4b2f73ed3152a3448b98149dda642a957ee704e1daa5cf1d8" [[package]] name = "block-buffer" @@ -261,13 +311,22 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block2" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" +dependencies = [ + "objc2", +] + [[package]] name = "boa_ast" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b6fb81ca0f301f33aff7401e2ffab37dc9e0e4a1cf0ccf6b34f4d9e60aa0682" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "boa_interner", "boa_macros", "indexmap", @@ -282,7 +341,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "600e4e4a65b26efcef08a7b1cf2899d3845a32e82e067ee3b75eaf7e413ff31c" dependencies = [ "arrayvec", - "bitflags 2.4.2", + "bitflags 2.6.0", "boa_ast", "boa_gc", "boa_interner", @@ -297,7 +356,7 @@ dependencies = [ "icu_normalizer", "indexmap", "intrusive-collections", - "itertools", + "itertools 0.12.1", "num-bigint", "num-integer", "num-traits", @@ -366,7 +425,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e8592556849f0619ed142ce2b3a19086769314a8d657f93a5765d06dbce4818" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "boa_ast", "boa_interner", "boa_macros", @@ -406,6 +465,12 @@ dependencies = [ "alloc-stdlib", ] +[[package]] +name = "built" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6a6c0b39c38fd754ac338b00a88066436389c0f029da5d37d1e01091d9b7c17" + [[package]] name = "bumpalo" version = "3.14.0" @@ -438,6 +503,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + [[package]] name = "bytes" version = "1.5.0" @@ -465,9 +536,20 @@ version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ + "jobserver", "libc", ] +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + [[package]] name = "cfg-if" version = "1.0.0" @@ -476,9 +558,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "4.5.4" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +checksum = "84b3edb18336f4df585bc9aa31dd99c036dfa5dc5e9a2939a722a188f3a8970d" dependencies = [ "clap_builder", "clap_derive", @@ -486,9 +568,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.2" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +checksum = "c1c09dd5ada6c6c78075d6fd0da3f90d8080651e2d6cc8eb2f1aaa4034ced708" dependencies = [ "anstream", "anstyle", @@ -498,9 +580,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.4" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -550,9 +632,9 @@ dependencies = [ [[package]] name = "cookie" -version = "0.17.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7efb37c3e1ccb1ff97164ad95ac1606e8ccd35b3fa0a7d99a304c7f4a428cc24" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" dependencies = [ "percent-encoding 2.3.1", "time", @@ -561,12 +643,12 @@ dependencies = [ [[package]] name = "cookie_store" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387461abbc748185c3a6e1673d826918b450b87ff22639429c694619a83b6cf6" +checksum = "4934e6b7e8419148b6ef56950d277af8561060b56afd59e2aadf98b59fce6baa" dependencies = [ "cookie", - "idna 0.3.0", + "idna 0.5.0", "log", "publicsuffix", "serde", @@ -636,9 +718,9 @@ dependencies = [ [[package]] name = "crokey" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b48209802ec5862bb034cb16719eec24d1c759e62921be7d3c899d0d85f3344b" +checksum = "b015414137feca6f4137550d60d233b580a09307e2de329412b8e8c661b6dfab" dependencies = [ "crokey-proc_macros", "crossterm", @@ -649,9 +731,9 @@ dependencies = [ [[package]] name = "crokey-proc_macros" -version = "0.6.4" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397d3c009d8df93c4b063ddaa44a81ee7098feb056f99b00896c36e2cee9a9f7" +checksum = "6085c6385034f0847d2b3120547a88da1e5e35727970a70f32b555eb3c47051c" dependencies = [ "crossterm", "proc-macro2", @@ -691,7 +773,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "crossterm_winapi", "libc", "mio", @@ -734,7 +816,7 @@ checksum = "4c9ac8e8203aa44a586de649b10fd57c51df4d8a6c7d2cb83a1c87f162529e9e" dependencies = [ "base64 0.21.7", "form_urlencoded", - "http", + "http 0.2.12", "minijinja", "pest", "pest_derive", @@ -890,15 +972,6 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" -[[package]] -name = "encoding_rs" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -dependencies = [ - "cfg-if", -] - [[package]] name = "equivalent" version = "1.0.1" @@ -1146,25 +1219,6 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" -[[package]] -name = "h2" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "half" version = "2.4.1" @@ -1214,14 +1268,37 @@ dependencies = [ "itoa", ] +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "http-body" -version = "0.4.6" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", - "http", + "futures-util", + "http 1.1.0", + "http-body", "pin-project-lite", ] @@ -1231,48 +1308,61 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - [[package]] name = "hyper" -version = "0.14.28" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" dependencies = [ "bytes", "futures-channel", - "futures-core", "futures-util", - "h2", - "http", + "http 1.1.0", "http-body", "httparse", - "httpdate", "itoa", "pin-project-lite", - "socket2", + "smallvec", "tokio", - "tower-service", - "tracing", "want", ] [[package]] name = "hyper-rustls" -version = "0.24.2" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" dependencies = [ "futures-util", - "http", + "http 1.1.0", "hyper", + "hyper-util", "rustls", + "rustls-native-certs", + "rustls-pki-types", "tokio", "tokio-rustls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower", + "tower-service", + "tracing", ] [[package]] @@ -1438,22 +1528,43 @@ dependencies = [ [[package]] name = "image" -version = "0.24.9" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" +checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11" dependencies = [ "bytemuck", "byteorder", "color_quant", "exr", "gif", - "jpeg-decoder", + "image-webp", "num-traits", "png", "qoi", + "ravif", + "rayon", + "rgb", "tiff", + "zune-core", + "zune-jpeg", ] +[[package]] +name = "image-webp" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d730b085583c4d789dfd07fdcf185be59501666a90c97c40162b37e4fdad272d" +dependencies = [ + "byteorder-lite", + "thiserror", +] + +[[package]] +name = "imgref" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44feda355f4159a7c757171a77de25daf6411e217b4cabd03bd6650690468126" + [[package]] name = "indexmap" version = "2.2.6" @@ -1465,6 +1576,17 @@ dependencies = [ "serde", ] +[[package]] +name = "interpolate_name" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.58", +] + [[package]] name = "intrusive-collections" version = "0.9.6" @@ -1489,20 +1611,35 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +[[package]] +name = "jobserver" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +dependencies = [ + "libc", +] + [[package]] name = "jpeg-decoder" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" -dependencies = [ - "rayon", -] [[package]] name = "js-sys" @@ -1525,9 +1662,9 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lebe" @@ -1541,13 +1678,24 @@ version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +[[package]] +name = "libfuzzer-sys" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7" +dependencies = [ + "arbitrary", + "cc", + "once_cell", +] + [[package]] name = "libredox" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "libc", ] @@ -1596,21 +1744,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] -name = "lru" -version = "0.12.2" +name = "loop9" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22" +checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062" dependencies = [ - "hashbrown", + "imgref", ] [[package]] -name = "malloc_buf" -version = "0.0.6" +name = "lru" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22" dependencies = [ - "libc", + "hashbrown", ] [[package]] @@ -1619,6 +1767,16 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" +[[package]] +name = "maybe-rayon" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" +dependencies = [ + "cfg-if", + "rayon", +] + [[package]] name = "memchr" version = "2.7.1" @@ -1668,6 +1826,12 @@ dependencies = [ "v_htmlescape", ] +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.7.2" @@ -1702,6 +1866,28 @@ dependencies = [ "syn 2.0.58", ] +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "noop_proc_macro" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" + [[package]] name = "num-bigint" version = "0.4.4" @@ -1720,6 +1906,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.58", +] + [[package]] name = "num-integer" version = "0.1.46" @@ -1729,6 +1926,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.18" @@ -1779,32 +1987,102 @@ dependencies = [ ] [[package]] -name = "objc" -version = "0.2.7" +name = "objc-sys" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" + +[[package]] +name = "objc2" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +dependencies = [ + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2-app-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +dependencies = [ + "bitflags 2.6.0", + "block2", + "libc", + "objc2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation", + "objc2-quartz-core", +] + +[[package]] +name = "objc2-core-data" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "malloc_buf", + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", ] [[package]] -name = "objc-foundation" -version = "0.1.1" +name = "objc2-core-image" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" dependencies = [ - "block", - "objc", - "objc_id", + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", ] [[package]] -name = "objc_id" -version = "0.1.1" +name = "objc2-encode" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" + +[[package]] +name = "objc2-foundation" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "objc", + "bitflags 2.6.0", + "block2", + "libc", + "objc2", +] + +[[package]] +name = "objc2-metal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", ] [[package]] @@ -1858,9 +2136,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "parking_lot" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -1999,6 +2277,26 @@ dependencies = [ "siphasher", ] +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.58", +] + [[package]] name = "pin-project-lite" version = "0.2.13" @@ -2110,6 +2408,25 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "profiling" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" +dependencies = [ + "profiling-procmacros", +] + +[[package]] +name = "profiling-procmacros" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd" +dependencies = [ + "quote", + "syn 2.0.58", +] + [[package]] name = "psl-types" version = "2.0.11" @@ -2135,6 +2452,12 @@ dependencies = [ "bytemuck", ] +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + [[package]] name = "quick-xml" version = "0.31.0" @@ -2144,6 +2467,53 @@ dependencies = [ "memchr", ] +[[package]] +name = "quinn" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe" +dependencies = [ + "bytes", + "rand", + "ring", + "rustc-hash", + "rustls", + "slab", + "thiserror", + "tinyvec", + "tracing", +] + +[[package]] +name = "quinn-udp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9096629c45860fc7fb143e125eb826b5e721e10be3263160c7d60ca832cf8c46" +dependencies = [ + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.52.0", +] + [[package]] name = "quote" version = "1.0.35" @@ -2185,19 +2555,20 @@ dependencies = [ [[package]] name = "ratatui" -version = "0.26.3" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f44c9e68fd46eda15c646fbb85e1040b657a58cdc8c98db1d97a55930d991eef" +checksum = "d16546c5b5962abf8ce6e2881e722b4e0ae3b6f1a08a26ae3573c55853ca68d3" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "cassowary", "compact_str", "crossterm", - "itertools", + "itertools 0.13.0", "lru", "paste", "stability", "strum", + "strum_macros", "unicode-segmentation", "unicode-truncate", "unicode-width", @@ -2205,11 +2576,11 @@ dependencies = [ [[package]] name = "ratatui-image" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2264bdb808c89e8395480cfce32c197e75a3d6171063e913bca12e7919a333da" +checksum = "07d1ed81eabd67488a23fd502b770dc09106918d32ec1746cd20ccc7dd46937f" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "crossterm", "dyn-clone", "icy_sixel", @@ -2219,6 +2590,56 @@ dependencies = [ "rustix", ] +[[package]] +name = "rav1e" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9" +dependencies = [ + "arbitrary", + "arg_enum_proc_macro", + "arrayvec", + "av1-grain", + "bitstream-io", + "built", + "cfg-if", + "interpolate_name", + "itertools 0.12.1", + "libc", + "libfuzzer-sys", + "log", + "maybe-rayon", + "new_debug_unreachable", + "noop_proc_macro", + "num-derive", + "num-traits", + "once_cell", + "paste", + "profiling", + "rand", + "rand_chacha", + "simd_helpers", + "system-deps", + "thiserror", + "v_frame", + "wasm-bindgen", +] + +[[package]] +name = "ravif" +version = "0.11.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67376f469e7e7840d0040bbf4b9b3334005bb167f814621326e4c7ab8cd6e944" +dependencies = [ + "avif-serialize", + "imgref", + "loop9", + "quick-error", + "rav1e", + "rayon", + "rgb", +] + [[package]] name = "rayon" version = "1.10.0" @@ -2261,9 +2682,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.3" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", @@ -2300,23 +2721,23 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.27" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" dependencies = [ "async-compression", - "base64 0.21.7", + "base64 0.22.1", "bytes", "cookie", "cookie_store", - "encoding_rs", "futures-core", "futures-util", - "h2", - "http", + "http 1.1.0", "http-body", + "http-body-util", "hyper", "hyper-rustls", + "hyper-util", "ipnet", "js-sys", "log", @@ -2325,14 +2746,15 @@ dependencies = [ "once_cell", "percent-encoding 2.3.1", "pin-project-lite", + "quinn", "rustls", "rustls-native-certs", "rustls-pemfile", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", - "system-configuration", "tokio", "tokio-rustls", "tokio-util", @@ -2347,9 +2769,9 @@ dependencies = [ [[package]] name = "reqwest_cookie_store" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba529055ea150e42e4eb9c11dcd380a41025ad4d594b0cb4904ef28b037e1061" +checksum = "a0b36498c7452f11b1833900f31fbb01fc46be20992a50269c88cf59d79f54e9" dependencies = [ "bytes", "cookie_store", @@ -2357,6 +2779,15 @@ dependencies = [ "url 2.5.0", ] +[[package]] +name = "rgb" +version = "0.8.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8" +dependencies = [ + "bytemuck", +] + [[package]] name = "ring" version = "0.17.7" @@ -2389,7 +2820,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", @@ -2398,44 +2829,55 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.10" +version = "0.23.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402" dependencies = [ - "log", + "once_cell", "ring", + "rustls-pki-types", "rustls-webpki", - "sct", + "subtle", + "zeroize", ] [[package]] name = "rustls-native-certs" -version = "0.6.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" dependencies = [ "openssl-probe", "rustls-pemfile", + "rustls-pki-types", "schannel", "security-framework", ] [[package]] name = "rustls-pemfile" -version = "1.0.4" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", + "rustls-pki-types", ] +[[package]] +name = "rustls-pki-types" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" + [[package]] name = "rustls-webpki" -version = "0.101.7" +version = "0.102.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" dependencies = [ "ring", + "rustls-pki-types", "untrusted", ] @@ -2487,16 +2929,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "security-framework" version = "2.9.2" @@ -2534,18 +2966,18 @@ checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" [[package]] name = "serde" -version = "1.0.197" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.197" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", @@ -2554,9 +2986,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.114" +version = "1.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +checksum = "d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4" dependencies = [ "itoa", "ryu", @@ -2565,9 +2997,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" dependencies = [ "serde", ] @@ -2644,6 +3076,15 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +[[package]] +name = "simd_helpers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6" +dependencies = [ + "quote", +] + [[package]] name = "siphasher" version = "0.3.11" @@ -2764,26 +3205,32 @@ checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" [[package]] name = "strum" -version = "0.26.2" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ "strum_macros", ] [[package]] name = "strum_macros" -version = "0.26.1" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", "syn 2.0.58", ] +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + [[package]] name = "syn" version = "1.0.109" @@ -2808,9 +3255,9 @@ dependencies = [ [[package]] name = "sync_wrapper" -version = "0.1.2" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" [[package]] name = "synstructure" @@ -2846,24 +3293,16 @@ dependencies = [ ] [[package]] -name = "system-configuration" -version = "0.5.1" +name = "system-deps" +version = "6.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", + "cfg-expr", + "heck 0.5.0", + "pkg-config", + "toml", + "version-compare", ] [[package]] @@ -2872,6 +3311,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "target-lexicon" +version = "0.12.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" + [[package]] name = "thin-vec" version = "0.2.13" @@ -2900,9 +3345,9 @@ dependencies = [ [[package]] name = "throbber-widgets-tui" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "431b847a60fc7b1df94a5b1bcb3cdd7027bb0013b431b08038505e8891c577a2" +checksum = "685391f5e78b08989c1014f5a0edddf6751e0726b6a8dd1bdcc98d05921b19b6" dependencies = [ "rand", "ratatui", @@ -2980,9 +3425,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.36.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", "bytes", @@ -2997,9 +3442,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", @@ -3008,11 +3453,12 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.24.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ "rustls", + "rustls-pki-types", "tokio", ] @@ -3032,21 +3478,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.11" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af06656561d28735e9c1cd63dfd57132c8155426aa6af24f36a00a351f88c48e" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.7", + "toml_edit 0.22.14", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" dependencies = [ "serde", ] @@ -3064,9 +3510,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.7" +version = "0.22.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18769cd1cec395d70860ceb4d932812a0b4d06b1a4bb336745a4d21b9496e992" +checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" dependencies = [ "indexmap", "serde", @@ -3075,6 +3521,27 @@ dependencies = [ "winnow 0.6.2", ] +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + [[package]] name = "tower-service" version = "0.3.2" @@ -3088,9 +3555,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ "pin-project-lite", + "tracing-attributes", "tracing-core", ] +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.58", +] + [[package]] name = "tracing-core" version = "0.1.32" @@ -3108,21 +3587,21 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tui-big-text" -version = "0.4.2" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "800784c2ec32293c259c42bfb7352061dcfc672ae8f317e4d08e5292c49c19bb" +checksum = "bc9699f14558a8b6abaae5cb5691033379a4b86f6b26555f8168ec5c6b4029e3" dependencies = [ "derive_builder", "font8x8", - "itertools", + "itertools 0.13.0", "ratatui", ] [[package]] -name = "tui-textarea" -version = "0.4.0" +name = "tui-textarea-julien-cpsn" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e38ced1f941a9cfc923fbf2fe6858443c42cc5220bfd35bdd3648371e7bd8e" +checksum = "2a0ef6712ac737dab79f7a38dd07c1a4000a9b6aa4999c6115f3e0e0f9aa749f" dependencies = [ "crossterm", "ratatui", @@ -3131,9 +3610,9 @@ dependencies = [ [[package]] name = "tui-tree-widget" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb0c6f924587e719c50b8f83485afbe4d4c16edca6b641d5d9a3204edeba5cf0" +checksum = "0ac69db35529be6a75f9d27516ff33df299e2e8e961a1986d52185cef0427352" dependencies = [ "ratatui", "unicode-width", @@ -3193,15 +3672,15 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a5fbabedabe362c618c714dbefda9927b5afc8e2a8102f47f081089a9019226" dependencies = [ - "itertools", + "itertools 0.12.1", "unicode-width", ] [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode_categories" @@ -3271,12 +3750,29 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +[[package]] +name = "v_frame" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f32aaa24bacd11e488aa9ba66369c7cd514885742c9fe08cfe85884db3e92b" +dependencies = [ + "aligned-vec", + "num-traits", + "wasm-bindgen", +] + [[package]] name = "v_htmlescape" version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c" +[[package]] +name = "version-compare" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" + [[package]] name = "version_check" version = "0.9.4" @@ -3586,9 +4082,9 @@ dependencies = [ [[package]] name = "winreg" -version = "0.50.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" dependencies = [ "cfg-if", "windows-sys 0.48.0", @@ -3697,6 +4193,12 @@ dependencies = [ "synstructure", ] +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + [[package]] name = "zerovec" version = "0.10.1" @@ -3719,6 +4221,12 @@ dependencies = [ "syn 2.0.58", ] +[[package]] +name = "zune-core" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" + [[package]] name = "zune-inflate" version = "0.2.54" @@ -3727,3 +4235,12 @@ checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" dependencies = [ "simd-adler32", ] + +[[package]] +name = "zune-jpeg" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec866b44a2a1fd6133d363f073ca1b179f438f99e7e5bfb1e33f7181facfe448" +dependencies = [ + "zune-core", +] diff --git a/Cargo.toml b/Cargo.toml index 1dfe617..6396176 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,12 +4,13 @@ description = "Arguably a Terminal API Client. Feature-full, free, open-source, version = "0.16.0" authors = ["julien-cpsn"] edition = "2021" +rust-version = "1.79" license = "MIT" readme = "README.md" documentation = "https://github.com/Julien-cpsn/ATAC/wiki" homepage = "https://github.com/Julien-cpsn/ATAC" repository = "https://github.com/Julien-cpsn/ATAC" -keywords = ["API", "TUI", "Postman", "Insomnia"] +keywords = ["API", "Client", "TUI", "Postman", "Insomnia"] exclude = [ ".github/*" @@ -18,37 +19,36 @@ exclude = [ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -reqwest = { version = "0.11.27", default-features = false, features = ["cookies", "rustls-tls-native-roots", "multipart", "gzip", "brotli", "deflate", "stream"] } -reqwest_cookie_store = "0.6.0" -cookie_store = "0.20.0" -ratatui = "0.26.3" -crossterm = "0.27.0" -crokey = "1.0.0" -tui-big-text = "0.4.2" -tui-tree-widget = "0.19.0" -tui-textarea = { version = "0.4.0", features = ["ratatui"] } -throbber-widgets-tui = "0.5.0" -ratatui-image = { version = "1.0.0", features = ["crossterm"] } -image = "0.24.9" +reqwest = { version = "0.12.5", default-features = false, features = ["cookies", "rustls-tls-native-roots", "multipart", "gzip", "brotli", "deflate", "stream"] } +reqwest_cookie_store = "0.8.0" +cookie_store = "0.21.0" +ratatui = "0.27.0" +crokey = "1.0.1" +tui-big-text = "0.4.5" +tui-tree-widget = "0.21.0" +tui-textarea = { package = "tui-textarea-julien-cpsn", version = "0.4.1", features = ["ratatui"] } +throbber-widgets-tui = "0.6.0" +ratatui-image = { version = "1.0.1", features = ["crossterm"] } +image = "0.25.1" syntect = "5.2.0" -serde = { version = "1.0.197", features = ["derive", "rc"] } -serde_json = "1.0.114" +serde = { version = "1.0.203", features = ["derive", "rc"] } +serde_json = "1.0.118" serde_yaml = "0.9.34" jsonxf = "1.1.1" -toml = "0.8.11" +toml = "0.8.14" boa_engine = { version = "0.18.0", default-features = false } parse_postman_collection = "0.2.3" curl-parser = { version = "0.3.1", default-features = false } -clap = { version = "4.5.4", features = ["derive", "color", "suggestions"] } +clap = { version = "4.5.8", features = ["derive", "color", "suggestions"] } dirs = "5.0.1" -arboard = "3.3.2" -tokio = { version = "1.36.0", features = ["rt", "rt-multi-thread", "macros"] } -parking_lot = { version = "0.12.2", features = ["serde"] } -strum = "0.26.2" -lazy_static = "1.4.0" +arboard = "3.4.0" +tokio = { version = "1.38.0", features = ["rt", "rt-multi-thread", "macros"] } +parking_lot = { version = "0.12.3", features = ["serde"] } +strum = "0.26.3" +lazy_static = "1.5.0" nestify = "0.3.3" walkdir = "2.5.0" snailquote = "0.3.1" indexmap = { version = "2.2.6", features = ["serde"] } -base64 = "0.22.0" -regex = "1.10.3" +base64 = "0.22.1" +regex = "1.10.5" diff --git a/README.md b/README.md index 34487cf..7c3bc2e 100644 --- a/README.md +++ b/README.md @@ -243,10 +243,11 @@ https://github.com/NachoNievaG/atac.nvim - Console Host - Windows 11 (Pro) - - WSL2 Debian + - WSL2 Debian 12 - Windows 10 (Pro) - Windows 8.1 (N) - Ubuntu Desktop Terminal + - Ubuntu 23.04 64-bit - Ubuntu 17.10 - Pop!_OS 20.04 - (Arch, Manjaro) KDE Konsole @@ -254,6 +255,9 @@ https://github.com/NachoNievaG/atac.nvim - Linux Mint - (OpenSuse) Alacritty - (Chrome OS) Crostini +- Apple + - macOS Monterey 12.7.1 (Intel-Chip) + - macOS Sonama 14.4 (M1 Max, Apple Silicon-Chip) (List from [here](https://github.com/crossterm-rs/crossterm#tested-terminals)) @@ -261,36 +265,35 @@ https://github.com/NachoNievaG/atac.nvim | Library | Version | Reason | |--------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------|----------------------------------------------------------------------------------------| -| [reqwest](https://github.com/seanmonstar/reqwest) & [reqwest cookie store](https://github.com/pfernie/reqwest_cookie_store) | 0.11.27 & 0.6.0 | Send requests | -| [ratatui](https://github.com/ratatui-org/ratatui) | 0.26.2 | Terminal UI framework | -| [crossterm](https://github.com/crossterm-rs/crossterm) | 0.27.0 | Terminal Backend | -| [crokey](https://github.com/Canop/crokey) | 0.6.4 | Used to parse, use key bindings files and some utilities | -| [tui-big-text](https://github.com/joshka/tui-big-text) | 0.4.2 | Display big texts. Only used for displaying ATAC in the homepage. | -| [tui-tree-widget](https://github.com/EdJoPaTo/tui-rs-tree-widget) | 0.19.0 | Display tree-like lists. Used for displaying the collections. | -| [tui-textarea](https://github.com/rhysd/tui-textarea) | 0.5.0 | Text area that handle a lot of features. Used for editing request body. | -| [throbber-widgets-tui](https://github.com/arkbig/throbber-widgets-tui) | 0.4.1 | Display loading UI elements. Used when request is pending. | -| [ratatui-image](https://github.com/benjajaja/ratatui-image) | 1.0.0 | Display response images. | -| [image](https://github.com/image-rs/image) | 0.24.9 | Decode images. | +| [reqwest](https://github.com/seanmonstar/reqwest) & [reqwest cookie store](https://github.com/pfernie/reqwest_cookie_store) | 0.12.5 & 0.8.0 | Send requests | +| [ratatui](https://github.com/ratatui-org/ratatui) | 0.27.0 | Terminal UI framework | +| [crokey](https://github.com/Canop/crokey) | 1.0 | Used to parse, use key bindings files and some utilities | +| [tui-big-text](https://github.com/joshka/tui-big-text) | 0.4.5 | Display big texts. Only used for displaying ATAC in the homepage. | +| [tui-tree-widget](https://github.com/EdJoPaTo/tui-rs-tree-widget) | 0.21.0 | Display tree-like lists. Used for displaying the collections. | +| [My fork](https://github.com/Julien-cpsn/tui-textarea) of [tui-textarea](https://github.com/rhysd/tui-textarea) | 0.4.1 | Text area that handle a lot of features. Used for editing request body. | +| [throbber-widgets-tui](https://github.com/arkbig/throbber-widgets-tui) | 0.6.0 | Display loading UI elements. Used when request is pending. | +| [ratatui-image](https://github.com/benjajaja/ratatui-image) | 1.0.1 | Display response images. | +| [image](https://github.com/image-rs/image) | 0.25.1 | Decode images. | | [syntect](https://github.com/trishume/syntect) | 5.2.0 | Syntax highlighting | -| [serde](https://github.com/serde-rs/serde) ([serde_json](https://github.com/serde-rs/json), [serde-yaml](https://github.com/dtolnay/serde-yaml)) | 1.0.197 (1.0.144, 0.9.34) | Serialize & Deserialize application data into files | +| [serde](https://github.com/serde-rs/serde) ([serde_json](https://github.com/serde-rs/json), [serde-yaml](https://github.com/dtolnay/serde-yaml)) | 1.0.203 (1.0.118, 0.9.34) | Serialize & Deserialize application data into files | | [jsonxf](https://github.com/gamache/jsonxf) | 0.1.1 | Pretty print JSON | -| [toml](https://github.com/toml-rs/toml) | 0.8.11 | Serialize & Deserialize application config files | +| [toml](https://github.com/toml-rs/toml) | 0.8.14 | Serialize & Deserialize application config files | | [boa_engine](https://github.com/boa-dev/boa) | 0.18.0 | Create Javascript runtimes. Used for pre and post request scripts | -| [My fork](https://github.com/Julien-cpsn/postman-collection-rs) of [postman_collection](https://github.com/mandrean/postman-collection-rs) | 0.2.1 | Deserialize Postman collection files | +| [My fork](https://github.com/Julien-cpsn/postman-collection-rs) of [postman_collection](https://github.com/mandrean/postman-collection-rs) | 0.2.3 | Deserialize Postman collection files | | [curl-parser](https://github.com/tyrchen/curl-parser) | 0.3.1 | Parse cURL request files | -| [clap](https://github.com/clap-rs/clap) | 4.5.0 | Command Line Argument Parser | +| [clap](https://github.com/clap-rs/clap) | 4.5.8 | Command Line Argument Parser | | [dirs](https://github.com/dirs-dev/dirs-rs) | 5.0.1 | Use system files | -| [arboard](https://github.com/1Password/arboard) | 3.3.2 | Copy response body to clipboard | -| [tokio](https://github.com/tokio-rs/tokio) | 1.0.0 | Handle asynchronous requests | -| [parking_lot](https://github.com/Amanieu/parking_lot) | 0.12.2 | Smaller, faster and more flexible implementation of RwLock and Mutex. Used everywhere. | -| [strum](https://github.com/Peternator7/strum) | 0.26.2 | Enum facilities | -| [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) | 1.4.0 | Allows for more flexible constants. Mainly used for accessing CLI arguments everywhere | +| [arboard](https://github.com/1Password/arboard) | 3.4.0 | Copy response body to clipboard | +| [tokio](https://github.com/tokio-rs/tokio) | 1.38.0 | Handle asynchronous requests | +| [parking_lot](https://github.com/Amanieu/parking_lot) | 0.12.3 | Smaller, faster and more flexible implementation of RwLock and Mutex. Used everywhere. | +| [strum](https://github.com/Peternator7/strum) | 0.26.3 | Enum facilities | +| [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) | 1.5.0 | Allows for more flexible constants. Mainly used for accessing CLI arguments everywhere | | [nestify](https://github.com/snowfoxsh/nestify) | 0.3.3 | Used to nest struct definitions | | [walkdir](https://github.com/BurntSushi/walkdir) | 2.5.0 | Recursively retrieve files | | [snailquote](https://github.com/euank/snailquote) | 0.3.1 | Unescape string | | [indexmap](https://github.com/indexmap-rs/indexmap) | 2.2.6 | Ordered hashmap. Used in environments to preserve files' values order | -| [base64](https://github.com/marshallpierce/rust-base64) | 0.22.0 | Encode auth. | -| [regex](https://github.com/rust-lang/regex) | 1.10.3 | Regex. Using for parsing requests URL | +| [base64](https://github.com/marshallpierce/rust-base64) | 0.22.1 | Encode auth. | +| [regex](https://github.com/rust-lang/regex) | 1.10.5 | Regex. Using for parsing requests URL | ### Binary size diff --git a/src/app/app.rs b/src/app/app.rs index 1416711..67bbc19 100644 --- a/src/app/app.rs +++ b/src/app/app.rs @@ -2,7 +2,7 @@ use std::fs::File; use std::sync::Arc; use std::time::Duration; -use crossterm::terminal::disable_raw_mode; +use ratatui::crossterm::terminal::disable_raw_mode; use parking_lot::RwLock; use ratatui::backend::Backend; use ratatui::Terminal; diff --git a/src/app/app_logic/collection.rs b/src/app/app_logic/collection.rs index 41bd57b..31cfb9f 100644 --- a/src/app/app_logic/collection.rs +++ b/src/app/app_logic/collection.rs @@ -246,8 +246,11 @@ impl App<'_> { } pub fn delete_request(&mut self) { - let selected_request_index = self.collections_tree.state.selected(); - self.collections[selected_request_index[0]].requests.remove(selected_request_index[1]); + let selected_request_index = self.collections_tree.state.selected().to_vec(); + let collection_index = selected_request_index[0].clone(); + let request_index = selected_request_index[1].clone(); + + self.collections[collection_index].requests.remove(request_index); self.collections_tree.state.select(Vec::new()); self.collections_tree.selected = None; @@ -306,7 +309,7 @@ impl App<'_> { return; } - let mut selection = self.collections_tree.state.selected(); + let mut selection = self.collections_tree.state.selected().to_vec(); // Cannot decrement selection further if selection[1] == 0 { @@ -333,7 +336,7 @@ impl App<'_> { return; } - let mut selection = self.collections_tree.state.selected(); + let mut selection = self.collections_tree.state.selected().to_vec(); // Cannot increment selection further if selection[1] == self.collections[selection[0]].requests.len() - 1 { diff --git a/src/app/app_states.rs b/src/app/app_states.rs index 21fafee..4ef564d 100644 --- a/src/app/app_states.rs +++ b/src/app/app_states.rs @@ -1,5 +1,5 @@ use crokey::{key, KeyCombination}; -use crossterm::event::{KeyCode, KeyModifiers}; +use ratatui::crossterm::event::{KeyCode, KeyModifiers}; use lazy_static::lazy_static; use parking_lot::RwLock; use ratatui::prelude::Span; diff --git a/src/app/events.rs b/src/app/events.rs index 11f63f6..98d16f3 100644 --- a/src/app/events.rs +++ b/src/app/events.rs @@ -1,7 +1,7 @@ use crokey::KeyCombination; use crokey::OneToThree::One; -use crossterm::event; -use crossterm::event::{Event, KeyCode, KeyEventKind}; +use ratatui::crossterm::event; +use ratatui::crossterm::event::{Event, KeyCode, KeyEventKind}; use tui_textarea::CursorMove; use crate::app::app::App; diff --git a/src/app/startup/prepare_terminal.rs b/src/app/startup/prepare_terminal.rs index 94777d2..a105a07 100644 --- a/src/app/startup/prepare_terminal.rs +++ b/src/app/startup/prepare_terminal.rs @@ -1,6 +1,6 @@ use std::io::stdout; -use crossterm::ExecutableCommand; -use crossterm::terminal::{enable_raw_mode, EnterAlternateScreen}; +use ratatui::crossterm::ExecutableCommand; +use ratatui::crossterm::terminal::{enable_raw_mode, EnterAlternateScreen}; use crate::app::app::App; impl App<'_> { diff --git a/src/app/ui/collection.rs b/src/app/ui/collection.rs index eade493..3680e56 100644 --- a/src/app/ui/collection.rs +++ b/src/app/ui/collection.rs @@ -15,7 +15,10 @@ impl<'a> App<'a> { }) .collect(); - let collections_tree = Tree::new(self.collections_tree.items.clone()) + + let tree_items = self.collections_tree.items.clone(); + + let collections_tree = Tree::new(&tree_items) .unwrap() .highlight_style(Style::default().add_modifier(Modifier::BOLD)) .highlight_symbol(">") diff --git a/src/app/ui/result_tabs.rs b/src/app/ui/result_tabs.rs index 3105e6d..f7dfad6 100644 --- a/src/app/ui/result_tabs.rs +++ b/src/app/ui/result_tabs.rs @@ -203,7 +203,7 @@ impl App<'_> { frame.render_stateful_widget( result_vertical_scrollbar, - rect.inner(&Margin { + rect.inner(Margin { // using an inner vertical margin of 1 unit makes the scrollbar inside the block vertical: 1, horizontal: 0, @@ -213,7 +213,7 @@ impl App<'_> { frame.render_stateful_widget( result_horizontal_scrollbar, - rect.inner(&Margin { + rect.inner(Margin { // using an inner vertical margin of 1 unit makes the scrollbar inside the block vertical: 0, horizontal: 1, diff --git a/src/main.rs b/src/main.rs index a7ecb11..5e36401 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,9 +4,9 @@ use std::fmt::Display; use std::io::{Result, stdout}; use std::process::exit; -use crossterm::ExecutableCommand; -use crossterm::style::Stylize; -use crossterm::terminal::{disable_raw_mode, LeaveAlternateScreen}; +use ratatui::crossterm::ExecutableCommand; +use ratatui::crossterm::style::Stylize; +use ratatui::crossterm::terminal::{disable_raw_mode, LeaveAlternateScreen}; pub use ratatui::backend::Backend; use ratatui::backend::CrosstermBackend; use ratatui::Terminal; diff --git a/src/utils/stateful_tree.rs b/src/utils/stateful_tree.rs index 2f862e5..97bd511 100644 --- a/src/utils/stateful_tree.rs +++ b/src/utils/stateful_tree.rs @@ -9,11 +9,11 @@ pub struct StatefulTree<'a> { impl StatefulTree<'_> { pub fn up(&mut self) { - self.state.key_up(&self.items); + self.state.key_up(); } pub fn down(&mut self) { - self.state.key_down(&self.items); + self.state.key_down(); } pub fn set_selected(&mut self) { diff --git a/src/utils/vim_emulation.rs b/src/utils/vim_emulation.rs index e10fb84..febf1f5 100644 --- a/src/utils/vim_emulation.rs +++ b/src/utils/vim_emulation.rs @@ -2,13 +2,14 @@ use std::fmt::{Display, Error, Formatter}; use crokey::{key, KeyCombination}; use crokey::OneToThree::One; -use crossterm::event::{KeyCode, KeyEvent, KeyModifiers}; +use ratatui::crossterm::event::{KeyCode, KeyEvent, KeyModifiers}; use ratatui::layout::Alignment; use ratatui::prelude::{Color, Modifier, Style}; use ratatui::style::Stylize; use ratatui::widgets::Block; use ratatui::widgets::block::Position; use tui_textarea::{CursorMove, Scrolling, TextArea}; + use crate::app::app_states::EMPTY_KEY; // State of Vim emulation