diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 03:57:19 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 03:57:19 +0000 |
commit | a0b8f38ab54ac451646aa00cd5e91b6c76f22a84 (patch) | |
tree | fc451898ccaf445814e26b46664d78702178101d /vendor/prodash | |
parent | Adding debian version 1.71.1+dfsg1-2. (diff) | |
download | rustc-a0b8f38ab54ac451646aa00cd5e91b6c76f22a84.tar.xz rustc-a0b8f38ab54ac451646aa00cd5e91b6c76f22a84.zip |
Merging upstream version 1.72.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/prodash')
-rw-r--r-- | vendor/prodash/.cargo-checksum.json | 2 | ||||
-rw-r--r-- | vendor/prodash/CHANGELOG.md | 77 | ||||
-rw-r--r-- | vendor/prodash/Cargo.lock | 439 | ||||
-rw-r--r-- | vendor/prodash/Cargo.toml | 9 | ||||
-rw-r--r-- | vendor/prodash/src/lib.rs | 2 | ||||
-rw-r--r-- | vendor/prodash/src/progress/key.rs | 9 | ||||
-rw-r--r-- | vendor/prodash/src/progress/log.rs | 2 | ||||
-rw-r--r-- | vendor/prodash/src/progress/mod.rs | 9 | ||||
-rw-r--r-- | vendor/prodash/src/progress/utils.rs | 8 | ||||
-rw-r--r-- | vendor/prodash/src/render/line/draw.rs | 8 | ||||
-rw-r--r-- | vendor/prodash/src/traits.rs | 260 | ||||
-rw-r--r-- | vendor/prodash/src/tree/item.rs | 4 |
12 files changed, 610 insertions, 219 deletions
diff --git a/vendor/prodash/.cargo-checksum.json b/vendor/prodash/.cargo-checksum.json index 495aac391..738c49515 100644 --- a/vendor/prodash/.cargo-checksum.json +++ b/vendor/prodash/.cargo-checksum.json @@ -1 +1 @@ -{"files":{"CHANGELOG.md":"427b11b52145d7e02d7dd34a09a9d5b865580dcb463737324e9b0a99b5b8ffbc","Cargo.lock":"2df41f19a88cec1de35b79e026a414eb43e8d9bf20f538b4a84f7dab470b5d55","Cargo.toml":"5ab79cf9f3e4e3f1320cc7ba77a29b64141e6a2b3e3aa6623b38ddb501e5ddda","LICENSE.md":"fd6e8d4faaa8ad5856140481c2d7664ded0c92ddba62bd3d1f84fa50ba026a30","README.md":"59dc3974e189a9fb83942866113768612fcabf5dde0584ebc19fd5648b1c2050","src/lib.rs":"8ad9750d0c547f959b628d128664d3c038544ef3b615148ac641dfa0f6803413","src/messages.rs":"4226d2971f9f42102b81c05b63725a2d89ab8b83a565044b0c320cf83622abb7","src/progress/key.rs":"8603538c1a10ca8fb7e02314f981ced0305e86d9521f0793d6329c1622ccb8c6","src/progress/log.rs":"81aa863a5732ad2c0f091b2f5d09bc7a05326a7d1c61018776be63e918b847da","src/progress/mod.rs":"56e26a43472c9c7a4043f73c5a7c0b8cb0ead77aaacfec1bc7069526515256cc","src/progress/utils.rs":"be20317a095b2dc7b5af47d99ca6ffc0ac2bf2cc41f66c26324fe65ec4a58329","src/render/line/draw.rs":"13620929a5eecc89c5c8fbeddfaea43e20bb1883be21a35e651ca2ed3e73604d","src/render/line/engine.rs":"0762a3ec7833e71ef81afdf82fd431daaa328b24d2959eb9491fad9a0b05ad10","src/render/line/mod.rs":"38ed88af958a5e954fcf6a3522a908348d6664326b23e05731782a06a3ceca8d","src/render/mod.rs":"9115aa8e27bbc97344ed4787d56865d1447b3e15ba6631b5ea39041e09f02c1e","src/render/tui/draw/all.rs":"619db21132be0ccae6ba3345b42623f320c85283922bc862710b55fbe1416f87","src/render/tui/draw/information.rs":"e3e7288a8e85aa2142b88f2bdbee85bab71044a6f4e427732ba271f654b50599","src/render/tui/draw/messages.rs":"b8c8c155cfb11c321704e85d5a552033c74218c117aebd2106c59933c17a4c3a","src/render/tui/draw/mod.rs":"984c39dd21170e2cf249145b2ba1716dbc3b1f0399bdd69b550c520ca158a5b0","src/render/tui/draw/progress.rs":"3762b6563e3b65727cd367336bb62fbf3317d01e94b51b1374ceb11aefb28761","src/render/tui/engine.rs":"c742325636df007896c2f0a3378ae939bfdef7eb9df5f00ee9c2190ddacf1c4a","src/render/tui/mod.rs":"d06afdae99c90643d3ff70eef6704bdc9e1a88dc92d77f6dd31b9e2a3e989aae","src/render/tui/utils.rs":"8efc35a7cb2dd3b67339efe04861103312cd17cb271263a55ba96a4898a1f3d3","src/throughput.rs":"71090e30b495c9b35d9f8e79161f5ab0ec99788bc367c6504ca8c417d1d31f3a","src/time.rs":"b87cf9eb9c0e0f618f053c19075a102ed9a8241636e32e1a86b94c4dc02e748b","src/traits.rs":"e3441df1b05831cd1a92d4048740a2500cea2d4130961ef9cf7e6b0586e8b1a1","src/tree/item.rs":"89b10dd200ba762ec85dcc11cdc4bf642e32ea7b0b0f112fbd4c63aba040a808","src/tree/mod.rs":"981e7b47cdf19fd223416f0f853e13f243fc32a5567ec38ad393b5210d498652","src/tree/root.rs":"a6d6531489471bf555174eeefcac553466ead52490043e20576b9e4e9f03c825","src/tree/tests.rs":"1527eda193b5bbc226ee2544d8b68e5712e959fb70f4cd989dfc7ebcf54ba034","src/unit/bytes.rs":"97423209a1e10aafa5b40ed11af762e0f61dbbaf08643e96a50d99767105c536","src/unit/display.rs":"88a5ee5ce3136a417087fb62113f74d5fec55d9927ac275b1d382bc948795bdd","src/unit/duration.rs":"a036d01483853e35ffced88d93957da8575db9dc0b6fc2cc33b67019b979975d","src/unit/human.rs":"684f3dcac14140eea2b701408dd052d4db081e69293b2bb7bfeafa77dd5769d9","src/unit/mod.rs":"f317c8464aa9847dba6e6f75ed001d0ed43f014f1c4255b23c6513c5a37d494e","src/unit/range.rs":"b2c6d0fd85b960bc845fb496551103cbd0338a6313a5f49bdffbc0c78d58a26f","src/unit/traits.rs":"8556583a0a6ea4863e9c5c94808650db33b60e3ec55085d6872e026729c9aa9e"},"package":"9516b775656bc3e8985e19cd4b8c0c0de045095074e453d2c0a513b5f978392d"}
\ No newline at end of file +{"files":{"CHANGELOG.md":"0d6f840f4194e04e4608bbdd54cd40478cd4b576c889ae2db14e7ebeb9eee731","Cargo.lock":"33e5f3f6197d95a02a240cc8f3019dea8da9ce17639ef0e5eb405b3da1d3011d","Cargo.toml":"0b6fb8420d47a56a074535232b1a4870b4769756b3549cb56701756dbf41377e","LICENSE.md":"fd6e8d4faaa8ad5856140481c2d7664ded0c92ddba62bd3d1f84fa50ba026a30","README.md":"59dc3974e189a9fb83942866113768612fcabf5dde0584ebc19fd5648b1c2050","src/lib.rs":"d6f65c60b44108b74216c374845b98ba519ede4773b78bf532076c79cf0fa42f","src/messages.rs":"4226d2971f9f42102b81c05b63725a2d89ab8b83a565044b0c320cf83622abb7","src/progress/key.rs":"b4f3e18556887fe6bd64d999c396680733518cd0c496126457f71a2896f484ec","src/progress/log.rs":"db83d4fd533a74646ca95cb8026ad4c7047c4baf090b32e7a885d1bc4494ff0f","src/progress/mod.rs":"6c3ffc95d7ec21c0b8aa7a24518d7e1dcc90553c3bb48bb17c94b60b65d0fc18","src/progress/utils.rs":"90f1eee394581eae04e3c0a63366c58f9b16e2ff8974d9806a8b5ae2857d021c","src/render/line/draw.rs":"e04dc28dd1809c8cd5e5004ed2947e764c45fe58284a4e72e302719c0e286271","src/render/line/engine.rs":"0762a3ec7833e71ef81afdf82fd431daaa328b24d2959eb9491fad9a0b05ad10","src/render/line/mod.rs":"38ed88af958a5e954fcf6a3522a908348d6664326b23e05731782a06a3ceca8d","src/render/mod.rs":"9115aa8e27bbc97344ed4787d56865d1447b3e15ba6631b5ea39041e09f02c1e","src/render/tui/draw/all.rs":"619db21132be0ccae6ba3345b42623f320c85283922bc862710b55fbe1416f87","src/render/tui/draw/information.rs":"e3e7288a8e85aa2142b88f2bdbee85bab71044a6f4e427732ba271f654b50599","src/render/tui/draw/messages.rs":"b8c8c155cfb11c321704e85d5a552033c74218c117aebd2106c59933c17a4c3a","src/render/tui/draw/mod.rs":"984c39dd21170e2cf249145b2ba1716dbc3b1f0399bdd69b550c520ca158a5b0","src/render/tui/draw/progress.rs":"3762b6563e3b65727cd367336bb62fbf3317d01e94b51b1374ceb11aefb28761","src/render/tui/engine.rs":"c742325636df007896c2f0a3378ae939bfdef7eb9df5f00ee9c2190ddacf1c4a","src/render/tui/mod.rs":"d06afdae99c90643d3ff70eef6704bdc9e1a88dc92d77f6dd31b9e2a3e989aae","src/render/tui/utils.rs":"8efc35a7cb2dd3b67339efe04861103312cd17cb271263a55ba96a4898a1f3d3","src/throughput.rs":"71090e30b495c9b35d9f8e79161f5ab0ec99788bc367c6504ca8c417d1d31f3a","src/time.rs":"b87cf9eb9c0e0f618f053c19075a102ed9a8241636e32e1a86b94c4dc02e748b","src/traits.rs":"d05014245953e1c00ae55dd15962cbf15428be1144824c87dd78c8cbd7b8399e","src/tree/item.rs":"14936fa7d1d867baf58e24cee34a250321cd2b1f2383da94b40128216381081f","src/tree/mod.rs":"981e7b47cdf19fd223416f0f853e13f243fc32a5567ec38ad393b5210d498652","src/tree/root.rs":"a6d6531489471bf555174eeefcac553466ead52490043e20576b9e4e9f03c825","src/tree/tests.rs":"1527eda193b5bbc226ee2544d8b68e5712e959fb70f4cd989dfc7ebcf54ba034","src/unit/bytes.rs":"97423209a1e10aafa5b40ed11af762e0f61dbbaf08643e96a50d99767105c536","src/unit/display.rs":"88a5ee5ce3136a417087fb62113f74d5fec55d9927ac275b1d382bc948795bdd","src/unit/duration.rs":"a036d01483853e35ffced88d93957da8575db9dc0b6fc2cc33b67019b979975d","src/unit/human.rs":"684f3dcac14140eea2b701408dd052d4db081e69293b2bb7bfeafa77dd5769d9","src/unit/mod.rs":"f317c8464aa9847dba6e6f75ed001d0ed43f014f1c4255b23c6513c5a37d494e","src/unit/range.rs":"b2c6d0fd85b960bc845fb496551103cbd0338a6313a5f49bdffbc0c78d58a26f","src/unit/traits.rs":"8556583a0a6ea4863e9c5c94808650db33b60e3ec55085d6872e026729c9aa9e"},"package":"3236ce1618b6da4c7b618e0143c4d5b5dc190f75f81c49f248221382f7e9e9ae"}
\ No newline at end of file diff --git a/vendor/prodash/CHANGELOG.md b/vendor/prodash/CHANGELOG.md index 301ba3b9e..c8039c921 100644 --- a/vendor/prodash/CHANGELOG.md +++ b/vendor/prodash/CHANGELOG.md @@ -5,6 +5,80 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 25.0.0 (2023-05-16) + +### New Features + + - <csr-id-8941f4b5b9c0d00dfd7b82c756b128982f163a06/> Introduce the object-safe `RawProgress` trait. + It's automatically implemented for `Progress` and allows for more flexible use + of progress particularly in leaf nodes. This is useful if a function needs to take + multiple types of progress as it is called from different places in the same function. + + Without dyn-traits, it's not possible to make such call. + +### New Features (BREAKING) + + - <csr-id-84d96c7b6ab07462d6c20147958d5aa1a58a688e/> Make messaging functions thread-safe by taking shared borrow and requring `Sync`. + That way it's possible to share the `RawProgress` object across threads and emit messages, + much like a logging system that's more integrated with rendering. + +### Commit Statistics + +<csr-read-only-do-not-edit/> + + - 2 commits contributed to the release. + - 5 days passed between releases. + - 2 commits were understood as [conventional](https://www.conventionalcommits.org). + - 0 issues like '(#ID)' were seen in commit messages + +### Commit Details + +<csr-read-only-do-not-edit/> + +<details><summary>view details</summary> + + * **Uncategorized** + - Make messaging functions thread-safe by taking shared borrow and requring `Sync`. ([`84d96c7`](https://github.com/byron/prodash/commit/84d96c7b6ab07462d6c20147958d5aa1a58a688e)) + - Introduce the object-safe `RawProgress` trait. ([`8941f4b`](https://github.com/byron/prodash/commit/8941f4b5b9c0d00dfd7b82c756b128982f163a06)) +</details> + +## 24.0.0 (2023-05-11) + +<csr-id-fe5d01736179271f6b7bf20367f5d0e2bb616c4a/> + +### Chore (BREAKING) + + - <csr-id-fe5d01736179271f6b7bf20367f5d0e2bb616c4a/> switch from `tui` to `ratatui`. + The latter is a maintained fork. + +### Commit Statistics + +<csr-read-only-do-not-edit/> + + - 4 commits contributed to the release. + - 60 days passed between releases. + - 1 commit was understood as [conventional](https://www.conventionalcommits.org). + - 0 issues like '(#ID)' were seen in commit messages + +### Thanks Clippy + +<csr-read-only-do-not-edit/> + +[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. + +### Commit Details + +<csr-read-only-do-not-edit/> + +<details><summary>view details</summary> + + * **Uncategorized** + - Release prodash v24.0.0 ([`41ad0a4`](https://github.com/byron/prodash/commit/41ad0a45ea39e6b283f808768ea60495b3d2b65f)) + - Merge branch 'ratatui' ([`4920457`](https://github.com/byron/prodash/commit/492045793a23be9ebda7310d89593288a2bd3340)) + - Thanks clippy ([`25356a3`](https://github.com/byron/prodash/commit/25356a369c345b1e89f7c6c356ff7142020849de)) + - Switch from `tui` to `ratatui`. ([`fe5d017`](https://github.com/byron/prodash/commit/fe5d01736179271f6b7bf20367f5d0e2bb616c4a)) +</details> + ## 23.1.2 (2023-03-11) ### Bug Fixes @@ -21,7 +95,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 <csr-read-only-do-not-edit/> - - 1 commit contributed to the release. + - 2 commits contributed to the release. - 9 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages @@ -33,6 +107,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 <details><summary>view details</summary> * **Uncategorized** + - Release prodash v23.1.2 ([`c15f8db`](https://github.com/byron/prodash/commit/c15f8db0a7221ad6326544685200b68cb9ff5ddd)) - Line renderer now properly detects changes. ([`7966f79`](https://github.com/byron/prodash/commit/7966f79cc7009acb33761cee70398b05b0006cc1)) </details> diff --git a/vendor/prodash/Cargo.lock b/vendor/prodash/Cargo.lock index 10414495b..7af5f0e2b 100644 --- a/vendor/prodash/Cargo.lock +++ b/vendor/prodash/Cargo.lock @@ -36,7 +36,7 @@ dependencies = [ "argh_shared", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] @@ -58,9 +58,9 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b" +checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb" dependencies = [ "async-lock", "async-task", @@ -72,22 +72,22 @@ dependencies = [ [[package]] name = "async-io" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" dependencies = [ "async-lock", "autocfg", + "cfg-if", "concurrent-queue", "futures-lite", - "libc", "log", "parking", "polling", + "rustix", "slab", "socket2", "waker-fn", - "windows-sys 0.42.0", ] [[package]] @@ -101,15 +101,15 @@ dependencies = [ [[package]] name = "async-task" -version = "4.3.0" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524" +checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae" [[package]] name = "atomic-waker" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599" +checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" [[package]] name = "atty" @@ -117,7 +117,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi", ] @@ -136,9 +136,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "blocking" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8" +checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65" dependencies = [ "async-channel", "async-lock", @@ -146,6 +146,7 @@ dependencies = [ "atomic-waker", "fastrand", "futures-lite", + "log", ] [[package]] @@ -180,9 +181,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "ciborium" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f" +checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926" dependencies = [ "ciborium-io", "ciborium-ll", @@ -191,15 +192,15 @@ dependencies = [ [[package]] name = "ciborium-io" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "346de753af073cc87b52b2083a506b38ac176a44cfb05497b622e27be899b369" +checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656" [[package]] name = "ciborium-ll" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b" +checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b" dependencies = [ "ciborium-io", "half", @@ -207,9 +208,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.2.23" +version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ "bitflags", "clap_lex", @@ -228,15 +229,15 @@ dependencies = [ [[package]] name = "compound_duration" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c803d816c4ed6d0dadd5b54f7ef4f3761418fe802106b161d77476cc3c664c" +checksum = "391da30e746a798f948778dff8d2e58a47b33bc6e2f37156ef8480d3b49a6565" [[package]] name = "concurrent-queue" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e" +checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" dependencies = [ "crossbeam-utils", ] @@ -286,9 +287,9 @@ dependencies = [ [[package]] name = "crossterm" -version = "0.25.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67" +checksum = "a84cda67535339806297f1b331d6dd6320470d2a0fe65381e79ee9e156dd3d13" dependencies = [ "bitflags", "crossterm_winapi", @@ -312,9 +313,9 @@ dependencies = [ [[package]] name = "crosstermion" -version = "0.10.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99aabd9b02c2d5f72697f30ffb46f5a9ff4bd240d826049892cf62c31daeed04" +checksum = "152ef46d620d4614070109e076ffc6ab032f682a380ac2efce412100c5ee7749" dependencies = [ "ansi_term", "async-channel", @@ -322,8 +323,8 @@ dependencies = [ "futures-channel", "futures-core", "futures-lite", + "ratatui", "termion", - "tui", "tui-react", ] @@ -367,6 +368,27 @@ dependencies = [ ] [[package]] +name = "errno" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] name = "event-listener" version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -383,9 +405,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" dependencies = [ "futures-channel", "futures-core", @@ -398,9 +420,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ "futures-core", "futures-sink", @@ -408,15 +430,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" [[package]] name = "futures-executor" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" dependencies = [ "futures-core", "futures-task", @@ -425,15 +447,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" [[package]] name = "futures-lite" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" dependencies = [ "fastrand", "futures-core", @@ -446,32 +468,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.15", ] [[package]] name = "futures-sink" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" [[package]] name = "futures-task" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" [[package]] name = "futures-util" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" dependencies = [ "futures-channel", "futures-core", @@ -487,9 +509,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" dependencies = [ "cfg-if", "libc", @@ -518,6 +540,12 @@ dependencies = [ ] [[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + +[[package]] name = "human_format" version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -531,9 +559,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "indexmap" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown", @@ -549,6 +577,17 @@ dependencies = [ ] [[package]] +name = "io-lifetimes" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" +dependencies = [ + "hermit-abi 0.3.1", + "libc", + "windows-sys 0.48.0", +] + +[[package]] name = "itertools" version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -559,9 +598,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" +checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" [[package]] name = "lazy_static" @@ -571,9 +610,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.139" +version = "0.2.144" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" + +[[package]] +name = "linux-raw-sys" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" +checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" [[package]] name = "lock_api" @@ -662,15 +707,15 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" [[package]] name = "os_str_bytes" -version = "6.4.1" +version = "6.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" +checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267" [[package]] name = "parking" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" +checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" [[package]] name = "parking_lot" @@ -709,16 +754,18 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "polling" -version = "2.5.2" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" dependencies = [ "autocfg", + "bitflags", "cfg-if", + "concurrent-queue", "libc", "log", - "wepoll-ffi", - "windows-sys 0.42.0", + "pin-project-lite", + "windows-sys 0.48.0", ] [[package]] @@ -729,16 +776,16 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.51" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" +checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" dependencies = [ "unicode-ident", ] [[package]] name = "prodash" -version = "23.1.2" +version = "25.0.0" dependencies = [ "argh", "async-executor", @@ -762,9 +809,9 @@ dependencies = [ "once_cell", "parking_lot", "rand", + "ratatui", "signal-hook", "time", - "tui", "tui-react", "unicode-segmentation", "unicode-width", @@ -772,9 +819,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500" dependencies = [ "proc-macro2", ] @@ -810,6 +857,20 @@ dependencies = [ ] [[package]] +name = "ratatui" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcc0d032bccba900ee32151ec0265667535c230169f5a011154cdcd984e16829" +dependencies = [ + "bitflags", + "cassowary", + "crossterm", + "termion", + "unicode-segmentation", + "unicode-width", +] + +[[package]] name = "redox_syscall" version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -829,24 +890,38 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.1" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370" dependencies = [ "regex-syntax", ] [[package]] name = "regex-syntax" -version = "0.6.28" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" +checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c" + +[[package]] +name = "rustix" +version = "0.37.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.48.0", +] [[package]] name = "ryu" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" +checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" [[package]] name = "same-file" @@ -865,29 +940,29 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "serde" -version = "1.0.152" +version = "1.0.163" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" +checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.152" +version = "1.0.163" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" +checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.15", ] [[package]] name = "serde_json" -version = "1.0.93" +version = "1.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" +checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" dependencies = [ "itoa", "ryu", @@ -941,9 +1016,9 @@ checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "socket2" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", "winapi", @@ -967,10 +1042,21 @@ dependencies = [ ] [[package]] +name = "syn" +version = "2.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] name = "termion" -version = "1.5.6" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "077185e2eac69c3f8379a4298e1e07cd36beb962290d4a51199acf0fdc10607e" +checksum = "659c1f379f3408c7e5e84c7d0da6d93404e3800b6b9d063ba24436419302ec90" dependencies = [ "libc", "numtoa", @@ -986,9 +1072,9 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "time" -version = "0.3.20" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" +checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc" dependencies = [ "itoa", "libc", @@ -1000,15 +1086,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" +checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" dependencies = [ "time-core", ] @@ -1024,36 +1110,22 @@ dependencies = [ ] [[package]] -name = "tui" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1" -dependencies = [ - "bitflags", - "cassowary", - "crossterm", - "termion", - "unicode-segmentation", - "unicode-width", -] - -[[package]] name = "tui-react" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "542c37309aaf01ddaea86891f7845a8b0124194c6ccae6dbae7d223752648f4d" +checksum = "11f13a7edfda102bf2bc3f9c1714904c961d513ebf4ae0c09decc4f17340f9a7" dependencies = [ "log", - "tui", + "ratatui", "unicode-segmentation", "unicode-width", ] [[package]] name = "unicode-ident" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" +checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" [[package]] name = "unicode-segmentation" @@ -1075,12 +1147,11 @@ checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" [[package]] name = "walkdir" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" dependencies = [ "same-file", - "winapi", "winapi-util", ] @@ -1091,15 +1162,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] -name = "wepoll-ffi" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb" -dependencies = [ - "cc", -] - -[[package]] name = "winapi" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1132,81 +1194,132 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-sys" -version = "0.42.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows-targets 0.42.2", ] [[package]] name = "windows-sys" -version = "0.45.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets", + "windows-targets 0.48.0", ] [[package]] name = "windows-targets" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] +name = "windows-targets" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] name = "windows_aarch64_gnullvm" -version = "0.42.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" [[package]] name = "windows_aarch64_msvc" -version = "0.42.1" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" -version = "0.42.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" [[package]] name = "windows_i686_msvc" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" -version = "0.42.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.1" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" -version = "0.42.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" diff --git a/vendor/prodash/Cargo.toml b/vendor/prodash/Cargo.toml index b7e73b584..8919d4ae3 100644 --- a/vendor/prodash/Cargo.toml +++ b/vendor/prodash/Cargo.toml @@ -12,7 +12,7 @@ [package] edition = "2021" name = "prodash" -version = "23.1.2" +version = "25.0.0" authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"] include = [ "src/**/*", @@ -91,7 +91,7 @@ version = "1.2.0" optional = true [dependencies.crosstermion] -version = "0.10.1" +version = "0.11.0" optional = true default-features = false @@ -148,12 +148,13 @@ optional = true default-features = false [dependencies.tui] -version = "0.19.0" +version = "0.20.1" optional = true default-features = false +package = "ratatui" [dependencies.tui-react] -version = "0.19.0" +version = "0.20.0" optional = true [dependencies.unicode-segmentation] diff --git a/vendor/prodash/src/lib.rs b/vendor/prodash/src/lib.rs index 974cc8598..e3eb6042c 100644 --- a/vendor/prodash/src/lib.rs +++ b/vendor/prodash/src/lib.rs @@ -64,7 +64,7 @@ pub mod messages; pub mod progress; mod traits; -pub use traits::{Progress, Root, WeakRoot}; +pub use traits::{Progress, RawProgress, Root, WeakRoot}; mod throughput; pub use crate::throughput::Throughput; diff --git a/vendor/prodash/src/progress/key.rs b/vendor/prodash/src/progress/key.rs index dae714d68..bfdf13b2d 100644 --- a/vendor/prodash/src/progress/key.rs +++ b/vendor/prodash/src/progress/key.rs @@ -15,12 +15,13 @@ pub(crate) type Id = u16; pub struct Key(Option<Id>, Option<Id>, Option<Id>, Option<Id>, Option<Id>, Option<Id>); /// Determines if a sibling is above or below in the given level of hierarchy -#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Debug)] +#[derive(Default, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Debug)] #[allow(missing_docs)] pub enum SiblingLocation { Above, Below, AboveAndBelow, + #[default] NotFound, } @@ -40,12 +41,6 @@ impl SiblingLocation { } } -impl Default for SiblingLocation { - fn default() -> Self { - SiblingLocation::NotFound - } -} - /// A type providing information about what's above and below `Tree` items. #[derive(Copy, Clone, Default, Eq, PartialEq, Ord, PartialOrd, Debug)] pub struct Adjacency( diff --git a/vendor/prodash/src/progress/log.rs b/vendor/prodash/src/progress/log.rs index 3410a5dc2..6fb16f109 100644 --- a/vendor/prodash/src/progress/log.rs +++ b/vendor/prodash/src/progress/log.rs @@ -136,7 +136,7 @@ impl Progress for Log { self.id } - fn message(&mut self, level: MessageLevel, message: impl Into<String>) { + fn message(&self, level: MessageLevel, message: impl Into<String>) { let message: String = message.into(); match level { MessageLevel::Info => log::info!("ℹ{} → {}", self.name, message), diff --git a/vendor/prodash/src/progress/mod.rs b/vendor/prodash/src/progress/mod.rs index 0d9c694cf..842bbb6e1 100644 --- a/vendor/prodash/src/progress/mod.rs +++ b/vendor/prodash/src/progress/mod.rs @@ -41,7 +41,7 @@ pub type Step = usize; pub type StepShared = Arc<AtomicUsize>; /// Indicate whether a progress can or cannot be made. -#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Debug, Hash)] +#[derive(Default, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Debug, Hash)] pub enum State { /// Indicates a task is blocked and cannot indicate progress, optionally until the /// given time. The task cannot easily be interrupted. @@ -50,15 +50,10 @@ pub enum State { /// given time. The task can be interrupted. Halted(&'static str, Option<SystemTime>), /// The task is running + #[default] Running, } -impl Default for State { - fn default() -> Self { - State::Running - } -} - /// Progress associated with some item in the progress tree. #[derive(Clone, Default, Debug)] pub struct Value { diff --git a/vendor/prodash/src/progress/utils.rs b/vendor/prodash/src/progress/utils.rs index 549a0b6e5..3fd6c64bf 100644 --- a/vendor/prodash/src/progress/utils.rs +++ b/vendor/prodash/src/progress/utils.rs @@ -38,7 +38,7 @@ impl Progress for Discard { crate::progress::UNKNOWN } - fn message(&mut self, _level: MessageLevel, _message: impl Into<String>) {} + fn message(&self, _level: MessageLevel, _message: impl Into<String>) {} fn counter(&self) -> Option<StepShared> { None @@ -144,7 +144,7 @@ where todo!() } - fn message(&mut self, level: MessageLevel, message: impl Into<String>) { + fn message(&self, level: MessageLevel, message: impl Into<String>) { match self { Either::Left(l) => l.message(level, message), Either::Right(r) => r.message(level, message), @@ -247,7 +247,7 @@ where self.0.id() } - fn message(&mut self, level: MessageLevel, message: impl Into<String>) { + fn message(&self, level: MessageLevel, message: impl Into<String>) { self.0.message(level, message) } @@ -321,7 +321,7 @@ impl<T: Progress> Progress for ThroughputOnDrop<T> { self.0.id() } - fn message(&mut self, level: MessageLevel, message: impl Into<String>) { + fn message(&self, level: MessageLevel, message: impl Into<String>) { self.0.message(level, message) } diff --git a/vendor/prodash/src/render/line/draw.rs b/vendor/prodash/src/render/line/draw.rs index b45badf11..85dc18eb9 100644 --- a/vendor/prodash/src/render/line/draw.rs +++ b/vendor/prodash/src/render/line/draw.rs @@ -230,13 +230,7 @@ fn block_count_sans_ansi_codes(strings: &[ANSIString<'_>]) -> u16 { strings.iter().map(|s| s.width() as u16).sum() } -fn draw_progress_bar<'a>( - p: &Value, - style: Style, - mut blocks_available: u16, - colored: bool, - buf: &mut Vec<ANSIString<'a>>, -) { +fn draw_progress_bar(p: &Value, style: Style, mut blocks_available: u16, colored: bool, buf: &mut Vec<ANSIString<'_>>) { let mut brush = color::Brush::new(colored); let styled_brush = brush.style(style); diff --git a/vendor/prodash/src/traits.rs b/vendor/prodash/src/traits.rs index a2a17c760..1aac1d43a 100644 --- a/vendor/prodash/src/traits.rs +++ b/vendor/prodash/src/traits.rs @@ -2,8 +2,8 @@ use std::time::Instant; use crate::{messages::MessageLevel, progress, progress::Id, Unit}; -/// A trait for describing hierarchical process. -pub trait Progress: Send { +/// A trait for describing hierarchical progress. +pub trait Progress: Send + Sync { /// The type of progress returned by [`add_child()`][Progress::add_child()]. type SubProgress: Progress; @@ -87,7 +87,7 @@ pub trait Progress: Send { /// /// Use this to provide additional,human-readable information about the progress /// made, including indicating success or failure. - fn message(&mut self, level: MessageLevel, message: impl Into<String>); + fn message(&self, level: MessageLevel, message: impl Into<String>); /// If available, return an atomic counter for direct access to the underlying state. /// @@ -98,19 +98,19 @@ pub trait Progress: Send { } /// Create a message providing additional information about the progress thus far. - fn info(&mut self, message: impl Into<String>) { + fn info(&self, message: impl Into<String>) { self.message(MessageLevel::Info, message) } /// Create a message indicating the task is done successfully - fn done(&mut self, message: impl Into<String>) { + fn done(&self, message: impl Into<String>) { self.message(MessageLevel::Success, message) } /// Create a message indicating the task failed - fn fail(&mut self, message: impl Into<String>) { + fn fail(&self, message: impl Into<String>) { self.message(MessageLevel::Failure, message) } /// A shorthand to print throughput information - fn show_throughput(&mut self, start: Instant) { + fn show_throughput(&self, start: Instant) { let step = self.step(); match self.unit() { Some(unit) => self.show_throughput_with(start, step, unit, MessageLevel::Info), @@ -126,7 +126,147 @@ pub trait Progress: Send { } /// A shorthand to print throughput information, with the given step and unit, and message level. - fn show_throughput_with(&mut self, start: Instant, step: progress::Step, unit: Unit, level: MessageLevel) { + fn show_throughput_with(&self, start: Instant, step: progress::Step, unit: Unit, level: MessageLevel) { + use std::fmt::Write; + let elapsed = start.elapsed().as_secs_f32(); + let steps_per_second = (step as f32 / elapsed) as progress::Step; + let mut buf = String::with_capacity(128); + let unit = unit.as_display_value(); + let push_unit = |buf: &mut String| { + buf.push(' '); + let len_before_unit = buf.len(); + unit.display_unit(buf, step).ok(); + if buf.len() == len_before_unit { + buf.pop(); + } + }; + + buf.push_str("done "); + unit.display_current_value(&mut buf, step, None).ok(); + push_unit(&mut buf); + + buf.write_fmt(format_args!(" in {:.02}s (", elapsed)).ok(); + unit.display_current_value(&mut buf, steps_per_second, None).ok(); + push_unit(&mut buf); + buf.push_str("/s)"); + + self.message(level, buf); + } +} + +/// A trait for describing non-hierarchical progress. +/// +/// It differs by not being able to add child progress dynamically, but in turn is object safe. It's recommended to +/// use this trait whenever there is no need to add child progress, at the leaf of a computation. +// NOTE: keep this in-sync with `Progress`. +pub trait RawProgress: Send + Sync { + /// Initialize the Item for receiving progress information. + /// + /// If `max` is `Some(…)`, it will be treated as upper bound. When progress is [set(…)](./struct.Item.html#method.set) + /// it should not exceed the given maximum. + /// If `max` is `None`, the progress is unbounded. Use this if the amount of work cannot accurately + /// be determined in advance. + /// + /// If `unit` is `Some(…)`, it is used for display purposes only. See `prodash::Unit` for more information. + /// + /// If both `unit` and `max` are `None`, the item will be reset to be equivalent to 'uninitialized'. + /// + /// If this method is never called, this `Progress` instance will serve as organizational unit, useful to add more structure + /// to the progress tree (e.g. a headline). + /// + /// **Note** that this method can be called multiple times, changing the bounded-ness and unit at will. + fn init(&mut self, max: Option<progress::Step>, unit: Option<Unit>); + + /// Set the current progress to the given `step`. The cost of this call is negligible, + /// making manual throttling *not* necessary. + /// + /// **Note**: that this call has no effect unless `init(…)` was called before. + fn set(&mut self, step: progress::Step); + + /// Returns the (cloned) unit associated with this Progress + fn unit(&self) -> Option<Unit> { + None + } + + /// Returns the maximum about of items we expect, as provided with the `init(…)` call + fn max(&self) -> Option<progress::Step> { + None + } + + /// Set the maximum value to `max` and return the old maximum value. + fn set_max(&mut self, _max: Option<progress::Step>) -> Option<progress::Step> { + None + } + + /// Returns the current step, as controlled by `inc*(…)` calls + fn step(&self) -> progress::Step; + + /// Increment the current progress to the given `step`. + /// The cost of this call is negligible, making manual throttling *not* necessary. + fn inc_by(&mut self, step: progress::Step); + + /// Increment the current progress to the given 1. The cost of this call is negligible, + /// making manual throttling *not* necessary. + fn inc(&mut self) { + self.inc_by(1) + } + + /// Set the name of the instance, altering the value given when crating it with `add_child(…)` + /// The progress is allowed to discard it. + fn set_name(&mut self, name: String); + + /// Get the name of the instance as given when creating it with `add_child(…)` + /// The progress is allowed to not be named, thus there is no guarantee that a previously set names 'sticks'. + fn name(&self) -> Option<String>; + + /// Get a stable identifier for the progress instance. + /// Note that it could be [unknown][crate::progress::UNKNOWN]. + fn id(&self) -> Id; + + /// Create a `message` of the given `level` and store it with the progress tree. + /// + /// Use this to provide additional,human-readable information about the progress + /// made, including indicating success or failure. + fn message(&self, level: MessageLevel, message: String); + + /// If available, return an atomic counter for direct access to the underlying state. + /// + /// This is useful if multiple threads want to access the same progress, without the need + /// for provide each their own progress and aggregating the result. + fn counter(&self) -> Option<StepShared> { + None + } + + /// Create a message providing additional information about the progress thus far. + fn info(&self, message: String) { + self.message(MessageLevel::Info, message) + } + /// Create a message indicating the task is done successfully + fn done(&self, message: String) { + self.message(MessageLevel::Success, message) + } + /// Create a message indicating the task failed + fn fail(&self, message: String) { + self.message(MessageLevel::Failure, message) + } + /// A shorthand to print throughput information + fn show_throughput(&self, start: Instant) { + let step = self.step(); + match self.unit() { + Some(unit) => self.show_throughput_with(start, step, unit, MessageLevel::Info), + None => { + let elapsed = start.elapsed().as_secs_f32(); + let steps_per_second = (step as f32 / elapsed) as progress::Step; + self.info(format!( + "done {} items in {:.02}s ({} items/s)", + step, elapsed, steps_per_second + )) + } + }; + } + + /// A shorthand to print throughput information, with the given step and unit, and message level. + fn show_throughput_with(&self, start: Instant, step: progress::Step, unit: Unit, level: MessageLevel) { use std::fmt::Write; let elapsed = start.elapsed().as_secs_f32(); let steps_per_second = (step as f32 / elapsed) as progress::Step; @@ -205,12 +345,90 @@ mod impls { time::Instant, }; + use crate::traits::RawProgress; use crate::{ messages::MessageLevel, progress::{Id, Step, StepShared}, Progress, Unit, }; + impl<T> RawProgress for T + where + T: Progress, + { + fn init(&mut self, max: Option<Step>, unit: Option<Unit>) { + <T as Progress>::init(self, max, unit) + } + + fn set(&mut self, step: Step) { + <T as Progress>::set(self, step) + } + + fn unit(&self) -> Option<Unit> { + <T as Progress>::unit(self) + } + + fn max(&self) -> Option<Step> { + <T as Progress>::max(self) + } + + fn set_max(&mut self, max: Option<Step>) -> Option<Step> { + <T as Progress>::set_max(self, max) + } + + fn step(&self) -> Step { + <T as Progress>::step(self) + } + + fn inc_by(&mut self, step: Step) { + <T as Progress>::inc_by(self, step) + } + + fn inc(&mut self) { + <T as Progress>::inc(self) + } + + fn set_name(&mut self, name: String) { + <T as Progress>::set_name(self, name) + } + + fn name(&self) -> Option<String> { + <T as Progress>::name(self) + } + + fn id(&self) -> Id { + <T as Progress>::id(self) + } + + fn message(&self, level: MessageLevel, message: String) { + <T as Progress>::message(self, level, message) + } + + fn counter(&self) -> Option<StepShared> { + <T as Progress>::counter(self) + } + + fn info(&self, message: String) { + <T as Progress>::info(self, message) + } + + fn done(&self, message: String) { + <T as Progress>::done(self, message) + } + + fn fail(&self, message: String) { + <T as Progress>::fail(self, message) + } + + fn show_throughput(&self, start: Instant) { + <T as Progress>::show_throughput(self, start) + } + + fn show_throughput_with(&self, start: Instant, step: Step, unit: Unit, level: MessageLevel) { + <T as Progress>::show_throughput_with(self, start, step, unit, level) + } + } + impl<'a, T> Progress for &'a mut T where T: Progress, @@ -266,35 +484,35 @@ mod impls { } fn id(&self) -> Id { - todo!() + self.deref().id() } - fn message(&mut self, level: MessageLevel, message: impl Into<String>) { - self.deref_mut().message(level, message) + fn message(&self, level: MessageLevel, message: impl Into<String>) { + self.deref().message(level, message) } fn counter(&self) -> Option<StepShared> { self.deref().counter() } - fn info(&mut self, message: impl Into<String>) { - self.deref_mut().info(message) + fn info(&self, message: impl Into<String>) { + self.deref().info(message) } - fn done(&mut self, message: impl Into<String>) { - self.deref_mut().done(message) + fn done(&self, message: impl Into<String>) { + self.deref().done(message) } - fn fail(&mut self, message: impl Into<String>) { - self.deref_mut().fail(message) + fn fail(&self, message: impl Into<String>) { + self.deref().fail(message) } - fn show_throughput(&mut self, start: Instant) { - self.deref_mut().show_throughput(start) + fn show_throughput(&self, start: Instant) { + self.deref().show_throughput(start) } - fn show_throughput_with(&mut self, start: Instant, step: Step, unit: Unit, level: MessageLevel) { - self.deref_mut().show_throughput_with(start, step, unit, level) + fn show_throughput_with(&self, start: Instant, step: Step, unit: Unit, level: MessageLevel) { + self.deref().show_throughput_with(start, step, unit, level) } } } diff --git a/vendor/prodash/src/tree/item.rs b/vendor/prodash/src/tree/item.rs index d8c4a7548..17dbb64da 100644 --- a/vendor/prodash/src/tree/item.rs +++ b/vendor/prodash/src/tree/item.rs @@ -292,7 +292,7 @@ impl Item { /// /// Use this to provide additional,human-readable information about the progress /// made, including indicating success or failure. - pub fn message(&mut self, level: MessageLevel, message: impl Into<String>) { + pub fn message(&self, level: MessageLevel, message: impl Into<String>) { let message: String = message.into(); self.messages.lock().push_overwrite( level, @@ -396,7 +396,7 @@ impl crate::Progress for Item { Item::id(self) } - fn message(&mut self, level: MessageLevel, message: impl Into<String>) { + fn message(&self, level: MessageLevel, message: impl Into<String>) { Item::message(self, level, message) } |