From 20bdbf08a2213d75ea5d3f3495fa49f72c653111 Mon Sep 17 00:00:00 2001 From: Dheepak Krishnamurthy Date: Mon, 21 Mar 2022 10:58:25 -0600 Subject: [PATCH] =?UTF-8?q?fix:=20Update=20dependencies=20and=20remove=20F?= =?UTF-8?q?uturesOrdered=20=F0=9F=90=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.lock | 253 +++++++++++++++++-------------- Cargo.toml | 28 ++-- completions/_taskwarrior-tui | 2 +- completions/_taskwarrior-tui.ps1 | 3 +- src/app.rs | 53 +++---- src/cli.rs | 6 +- src/pane/mod.rs | 1 - 7 files changed, 186 insertions(+), 160 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 74bdd49..3eccd59 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -28,9 +28,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.52" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84450d0b4a8bd1ba4144ce8ce718fbc5d071358b1e5384bace6536b3d1f2d5b3" +checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27" [[package]] name = "arc-swap" @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "better-panic" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d12a680cc74d8c4a44ee08be4a00dedf671b089c2440b2e3fdaa776cd468476" +checksum = "6fa9e1d11a268684cbd90ed36370d7577afb6c62d912ddff5c15fc34343e5036" dependencies = [ "backtrace", "console", @@ -291,9 +291,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.0.0" +version = "3.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d17bf219fcd37199b9a29e00ba65dfb8cd5b2688b7297ec14ff829c40ac50ca9" +checksum = "d8c93436c21e4698bacadf42917db28b23017027a4deccb35dbe47a7e7840123" dependencies = [ "atty", "bitflags", @@ -308,18 +308,18 @@ dependencies = [ [[package]] name = "clap_complete" -version = "3.0.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60d123fbea4c5d9799cffd44051e2125c880efd23b3b7c529baf3ea5508c8736" +checksum = "df6f3613c0a3cddfd78b41b10203eb322cb29b600cbdf808a7d3db95691b8e25" dependencies = [ "clap", ] [[package]] name = "clap_derive" -version = "3.0.0" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b9752c030a14235a0bd5ef3ad60a1dcac8468c30921327fc8af36b20c790b9" +checksum = "da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16" dependencies = [ "heck", "proc-macro-error", @@ -328,18 +328,6 @@ dependencies = [ "syn", ] -[[package]] -name = "clicolors-control" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90082ee5dcdd64dc4e9e0d37fbf3ee325419e39c0092191e0393df65518f741e" -dependencies = [ - "atty", - "lazy_static", - "libc", - "winapi", -] - [[package]] name = "clipboard-win" version = "4.2.2" @@ -362,16 +350,14 @@ dependencies = [ [[package]] name = "console" -version = "0.9.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45e0f3986890b3acbc782009e2629dfe2baa430ac091519ce3be26164a2ae6c0" +checksum = "a28b32d32ca44b70c3e4acd7db1babf555fa026e385fb95f18028f88848b3c31" dependencies = [ - "clicolors-control", "encode_unicode", - "lazy_static", "libc", - "regex", - "termios", + "once_cell", + "terminal_size", "winapi", ] @@ -387,15 +373,15 @@ dependencies = [ [[package]] name = "crossterm" -version = "0.20.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ebde6a9dd5e331cd6c6f48253254d117642c31653baa475e394657c59c1f7d" +checksum = "c85525306c4291d1b73ce93c8acf9c339f9b213aef6c1d85c3830cbf1c16325c" dependencies = [ "bitflags", - "crossterm_winapi 0.8.0", + "crossterm_winapi", "libc", "mio", - "parking_lot", + "parking_lot 0.11.2", "signal-hook", "signal-hook-mio", "winapi", @@ -403,30 +389,21 @@ dependencies = [ [[package]] name = "crossterm" -version = "0.22.1" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85525306c4291d1b73ce93c8acf9c339f9b213aef6c1d85c3830cbf1c16325c" +checksum = "f1fd7173631a4e9e2ca8b32ae2fad58aab9843ea5aaf56642661937d87e28a3e" dependencies = [ "bitflags", - "crossterm_winapi 0.9.0", + "crossterm_winapi", "futures-core", "libc", "mio", - "parking_lot", + "parking_lot 0.12.0", "signal-hook", "signal-hook-mio", "winapi", ] -[[package]] -name = "crossterm_winapi" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a6966607622438301997d3dac0d2f6e9a90c68bb6bc1785ea98456ab93c0507" -dependencies = [ - "winapi", -] - [[package]] name = "crossterm_winapi" version = "0.9.0" @@ -631,7 +608,7 @@ checksum = "a16910e685088843d53132b04e0f10a571fdb193224fc589685b3ba1ce4cb03d" dependencies = [ "cfg-if", "libc", - "windows-sys", + "windows-sys 0.28.0", ] [[package]] @@ -642,9 +619,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "futures" -version = "0.3.19" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28560757fe2bb34e79f907794bb6b22ae8b0e5c669b638a1132f2592b19035b4" +checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e" dependencies = [ "futures-channel", "futures-core", @@ -657,9 +634,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.19" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3dda0b6588335f360afc675d0564c17a77a2bda81ca178a4b6081bd86c7f0b" +checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" dependencies = [ "futures-core", "futures-sink", @@ -667,15 +644,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.19" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c8ff0461b82559810cdccfde3215c3f373807f5e5232b71479bff7bb2583d7" +checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" [[package]] name = "futures-executor" -version = "0.3.19" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29d6d2ff5bb10fb95c85b8ce46538a2e5f5e7fdc755623a7d4529ab8a4ed9d2a" +checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6" dependencies = [ "futures-core", "futures-task", @@ -684,9 +661,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.19" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f9d34af5a1aac6fb380f735fe510746c38067c5bf16c7fd250280503c971b2" +checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b" [[package]] name = "futures-lite" @@ -705,9 +682,9 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.19" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbd947adfffb0efc70599b3ddcf7b5597bb5fa9e245eb99f62b3a5f7bb8bd3c" +checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512" dependencies = [ "proc-macro2", "quote", @@ -716,15 +693,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.19" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3055baccb68d74ff6480350f8d6eb8fcfa3aa11bdc1a1ae3afdd0514617d508" +checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868" [[package]] name = "futures-task" -version = "0.3.19" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ee7c6485c30167ce4dfb83ac568a849fe53274c831081476ee13e0dce1aad72" +checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" [[package]] name = "futures-timer" @@ -734,9 +711,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.19" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b5cf40b47a271f77a8b1bec03ca09044d99d2372c0de244e66430761127164" +checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" dependencies = [ "futures-channel", "futures-core", @@ -788,12 +765,9 @@ checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" [[package]] name = "heck" -version = "0.3.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" [[package]] name = "hermit-abi" @@ -888,9 +862,9 @@ checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" [[package]] name = "lock_api" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" +checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b" dependencies = [ "scopeguard", ] @@ -927,7 +901,7 @@ dependencies = [ "libc", "log", "log-mdc", - "parking_lot", + "parking_lot 0.11.2", "regex", "serde", "serde-value", @@ -1110,7 +1084,17 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api", - "parking_lot_core", + "parking_lot_core 0.8.5", +] + +[[package]] +name = "parking_lot" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.1", ] [[package]] @@ -1127,6 +1111,19 @@ dependencies = [ "winapi", ] +[[package]] +name = "parking_lot_core" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.2.10", + "smallvec", + "windows-sys 0.32.0", +] + [[package]] name = "path-clean" version = "0.1.0" @@ -1218,14 +1215,13 @@ dependencies = [ [[package]] name = "rand" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", "rand_chacha", "rand_core", - "rand_hc", ] [[package]] @@ -1247,15 +1243,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_hc" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" -dependencies = [ - "rand_core", -] - [[package]] name = "redox_syscall" version = "0.1.57" @@ -1283,9 +1270,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.5.4" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" dependencies = [ "aho-corasick", "memchr", @@ -1342,9 +1329,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "serde" -version = "1.0.132" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9875c23cf305cd1fd7eb77234cbb705f21ea6a72c637a5c6db5fe4b8e7f008" +checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" dependencies = [ "serde_derive", ] @@ -1361,9 +1348,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.132" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc0db5cb2556c0e558887d9bbdcf6ac4471e83ff66cf696e5419024d1606276" +checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" dependencies = [ "proc-macro2", "quote", @@ -1372,9 +1359,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.73" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcbd0344bc6533bc7ec56df11d42fb70f1b912351c0825ccb7211b59d8af7cf5" +checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" dependencies = [ "itoa", "ryu", @@ -1527,7 +1514,7 @@ dependencies = [ "chrono", "clap", "clap_complete", - "crossterm 0.22.1", + "crossterm 0.23.1", "dirs", "futures", "futures-timer", @@ -1562,19 +1549,20 @@ dependencies = [ ] [[package]] -name = "termios" -version = "0.3.3" +name = "terminal_size" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b" +checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" dependencies = [ "libc", + "winapi", ] [[package]] name = "textwrap" -version = "0.14.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80" +checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" [[package]] name = "thiserror" @@ -1626,13 +1614,13 @@ checksum = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079" [[package]] name = "tui" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c8ce4e27049eed97cfa363a5048b09d995e209994634a0efc26a14ab6c0c23" +checksum = "23ed0a32c88b039b73f1b6c5acbd0554bfa5b6be94467375fd947c4de3a02271" dependencies = [ "bitflags", "cassowary", - "crossterm 0.20.0", + "crossterm 0.22.1", "unicode-segmentation", "unicode-width", ] @@ -1648,9 +1636,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" +checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" [[package]] name = "unicode-truncate" @@ -1716,9 +1704,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "versions" -version = "3.0.3" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cd9a7a22c45daf5aeb6bea3dff4ecbb8eb43e492582d467b18ce2979b512cbe" +checksum = "d5276c151793dde1cc57e08123f36f96e662a9f2532060c677612bf0e2c604d4" dependencies = [ "itertools", "nom", @@ -1858,11 +1846,24 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82ca39602d5cbfa692c4b67e3bcbb2751477355141c1ed434c94da4186836ff6" dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", + "windows_aarch64_msvc 0.28.0", + "windows_i686_gnu 0.28.0", + "windows_i686_msvc 0.28.0", + "windows_x86_64_gnu 0.28.0", + "windows_x86_64_msvc 0.28.0", +] + +[[package]] +name = "windows-sys" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6" +dependencies = [ + "windows_aarch64_msvc 0.32.0", + "windows_i686_gnu 0.32.0", + "windows_i686_msvc 0.32.0", + "windows_x86_64_gnu 0.32.0", + "windows_x86_64_msvc 0.32.0", ] [[package]] @@ -1871,30 +1872,60 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52695a41e536859d5308cc613b4a022261a274390b25bd29dfff4bf08505f3c2" +[[package]] +name = "windows_aarch64_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" + [[package]] name = "windows_i686_gnu" version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f54725ac23affef038fecb177de6c9bf065787c2f432f79e3c373da92f3e1d8a" +[[package]] +name = "windows_i686_gnu" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" + [[package]] name = "windows_i686_msvc" version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d5158a43cc43623c0729d1ad6647e62fa384a3d135fd15108d37c683461f64" +[[package]] +name = "windows_i686_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" + [[package]] name = "windows_x86_64_gnu" version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc31f409f565611535130cfe7ee8e6655d3fa99c1c61013981e491921b5ce954" +[[package]] +name = "windows_x86_64_gnu" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" + [[package]] name = "windows_x86_64_msvc" version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f2b8c7cbd3bfdddd9ab98769f9746a7fad1bca236554cd032b78d768bc0e89f" +[[package]] +name = "windows_x86_64_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" + [[package]] name = "yaml-rust" version = "0.4.5" diff --git a/Cargo.toml b/Cargo.toml index 6af84e2..73c8196 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,35 +18,35 @@ default = ["crossterm-backend"] crossterm-backend = ["tui/crossterm", "crossterm"] [dependencies] -anyhow = "1.0.52" +anyhow = "1.0.56" async-std = { version = "1.10.0", features = ["attributes", "unstable"] } -better-panic = "0.2.0" +better-panic = "0.3.0" cassowary = "0.3.0" chrono = "0.4.19" -clap = { version = "3.0.0", features = ["derive"] } -crossterm = { version = "0.22.1", optional = true, default-features = false, features = ["event-stream"] } +clap = { version = "3.1.6", features = ["derive"] } +crossterm = { version = "0.23.1", optional = true, default-features = false, features = ["event-stream"] } dirs = "4.0.0" -futures = "0.3.19" +futures = "0.3.21" futures-timer = "3.0.2" itertools = "0.10.3" lazy_static = "1.4.0" log = "0.4.14" log4rs = "1.0.0" path-clean = "0.1.0" -rand = "0.8.4" -regex = "1.5.4" +rand = "0.8.5" +regex = "1.5.5" rustyline = "9.1.2" -serde = { version = "1.0.132", features = ["derive"] } -serde_json = "1.0.73" +serde = { version = "1.0.136", features = ["derive"] } +serde_json = "1.0.79" shellexpand = "2.1.0" shlex = "1.1.0" task-hookrs = { git = "https://github.com/kdheepak/task-hookrs" } -tui = { version = "0.16.0", optional = true, default-features = false } -unicode-segmentation = "1.8.0" +tui = { version = "0.17.0", optional = true, default-features = false } +unicode-segmentation = "1.9.0" unicode-truncate = "0.2.0" unicode-width = "0.1.9" uuid = { version = "0.8.2", features = ["serde", "v4"] } -versions = "3.0.3" +versions = "4.0.0" [package.metadata.rpm] package = "taskwarrior-tui" @@ -63,6 +63,6 @@ incremental = true lto = "off" [build-dependencies] -clap = { version = "3.0.0", features = ["derive"] } -clap_complete = "3.0.0" +clap = { version = "3.1.6", features = ["derive"] } +clap_complete = "3.1.1" shlex = "1.1.0" diff --git a/completions/_taskwarrior-tui b/completions/_taskwarrior-tui index 66ca4dc..1cbdf07 100644 --- a/completions/_taskwarrior-tui +++ b/completions/_taskwarrior-tui @@ -36,4 +36,4 @@ _taskwarrior-tui_commands() { _describe -t commands 'taskwarrior-tui commands' commands "$@" } -_taskwarrior-tui "$@" \ No newline at end of file +_taskwarrior-tui "$@" diff --git a/completions/_taskwarrior-tui.ps1 b/completions/_taskwarrior-tui.ps1 index 71c4e78..56436f5 100644 --- a/completions/_taskwarrior-tui.ps1 +++ b/completions/_taskwarrior-tui.ps1 @@ -12,7 +12,8 @@ Register-ArgumentCompleter -Native -CommandName 'taskwarrior-tui' -ScriptBlock { $element = $commandElements[$i] if ($element -isnot [StringConstantExpressionAst] -or $element.StringConstantType -ne [StringConstantType]::BareWord -or - $element.Value.StartsWith('-')) { + $element.Value.StartsWith('-') -or + $element.Value -eq $wordToComplete) { break } $element.Value diff --git a/src/app.rs b/src/app.rs index 8775c33..545e555 100644 --- a/src/app.rs +++ b/src/app.rs @@ -38,10 +38,7 @@ use chrono::{Datelike, FixedOffset, Local, NaiveDate, NaiveDateTime, TimeZone, T use anyhow::Context as AnyhowContext; use anyhow::{anyhow, Result}; -use async_std::prelude::*; -use async_std::stream::StreamExt; -use async_std::task; -use futures::stream::FuturesOrdered; +use std::sync::mpsc; use std::sync::{Arc, Mutex}; @@ -1234,7 +1231,7 @@ impl TaskwarriorTui { self.cursor_fix(); self.update_task_table_state(); if self.task_report_show_info { - task::block_on(self.update_task_details())?; + self.update_task_details()?; } self.selection_fix(); @@ -1273,7 +1270,7 @@ impl TaskwarriorTui { } } - pub async fn update_task_details(&mut self) -> Result<()> { + pub fn update_task_details(&mut self) -> Result<()> { if self.tasks.is_empty() { return Ok(()); } @@ -1304,7 +1301,7 @@ impl TaskwarriorTui { l.dedup(); - let mut output_futs = FuturesOrdered::new(); + let mut outputs = vec![]; for s in &l { if self.tasks.is_empty() { return Ok(()); @@ -1314,27 +1311,29 @@ impl TaskwarriorTui { } let task_uuid = *self.tasks[*s].uuid(); if !self.task_details.contains_key(&task_uuid) || task_uuid == current_task_uuid { - let output_fut = async_std::process::Command::new("task") - .arg("rc.color=off") - .arg("rc._forcecolor=off") - .arg(format!("rc.defaultwidth={}", self.terminal_width.saturating_sub(2))) - .arg(format!("{}", task_uuid)) - .output(); - output_futs.push(output_fut); + let (tx, rx) = mpsc::channel(); + let defaultwidth = self.terminal_width.saturating_sub(2); + std::thread::spawn(move || { + let output = Command::new("task") + .arg("rc.color=off") + .arg("rc._forcecolor=off") + .arg(format!("rc.defaultwidth={}", defaultwidth)) + .arg(format!("{}", task_uuid)) + .output(); + if let Ok(output) = output { + let data = String::from_utf8_lossy(&output.stdout).to_string(); + tx.send(Some((task_uuid, data))).unwrap(); + } else { + tx.send(None).unwrap(); + } + }); + outputs.push(rx); } } - for s in &l { - if s >= &self.tasks.len() { - break; - } - let task_id = self.tasks[*s].id().unwrap_or_default(); - let task_uuid = *self.tasks[*s].uuid(); - if !self.task_details.contains_key(&task_uuid) || task_uuid == current_task_uuid { - if let Some(Ok(output)) = output_futs.next().await { - let data = String::from_utf8_lossy(&output.stdout).to_string(); - self.task_details.insert(task_uuid, data); - } + while !outputs.is_empty() { + if let Ok(Some((task_uuid, data))) = outputs.pop().unwrap().recv() { + self.task_details.insert(task_uuid, data); } } Ok(()) @@ -3754,10 +3753,6 @@ mod tests { fn test_taskwarrior_tui() { let app = TaskwarriorTui::new("next"); if app.is_err() { - // TODO: Figure out why we are unable to run tests on github ci - // Resource temporarily unavailable - // Might have something to do with async - // Is there a way to increase memory on github ci? return; } let app = app.unwrap(); diff --git a/src/cli.rs b/src/cli.rs index 72f6403..4d6d123 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -1,10 +1,10 @@ -use clap::{App, Arg}; +use clap::Arg; const APP_VERSION: &str = env!("CARGO_PKG_VERSION"); const APP_NAME: &str = env!("CARGO_PKG_NAME"); -pub fn generate_cli_app() -> App<'static> { - let mut app = App::new(APP_NAME) +pub fn generate_cli_app() -> clap::Command<'static> { + let mut app = clap::Command::new(APP_NAME) .version(APP_VERSION) .author("Dheepak Krishnamurthy <@kdheepak>") .about("A taskwarrior terminal user interface") diff --git a/src/pane/mod.rs b/src/pane/mod.rs index e81a930..0153e93 100644 --- a/src/pane/mod.rs +++ b/src/pane/mod.rs @@ -3,7 +3,6 @@ use anyhow::Result; use crate::action::Action; use crate::app::{Mode, TaskwarriorTui}; use crate::event::Key; -use clap::App; use std::ops::Index; pub mod context;