From a8869d7d91966f63aed76b3e6bfd9a0f28acc9cb Mon Sep 17 00:00:00 2001 From: Swapnil Bhowmik <103022474+iamb4uc@users.noreply.github.com> Date: Mon, 18 Nov 2024 21:43:21 +0530 Subject: [PATCH 1/3] Added installation command for void linux (#560) * Update README.md * Update README.md Co-authored-by: yazgoo --------- Co-authored-by: LoricAndre <57358788+LoricAndre@users.noreply.github.com> Co-authored-by: yazgoo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5497d1a0..783262f8 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,7 @@ The skim project contains several components: | Alpine | apk | `apk add skim` | | Arch | pacman | `pacman -S skim` | | Gentoo | Portage | `emerge --ask app-misc/skim` | +| Void | XBPS | `xbps-install -S skim` | See [repology](https://repology.org/project/skim/versions) for a comprehensive overview of package availability. From 5ef1b593b013616d17891715e809a71678140e43 Mon Sep 17 00:00:00 2001 From: Jorge Gomez Date: Mon, 18 Nov 2024 10:14:48 -0600 Subject: [PATCH 2/3] add guix package manager instructions (#487) Co-authored-by: LoricAndre <57358788+LoricAndre@users.noreply.github.com> --- README.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 783262f8..aabf2033 100644 --- a/README.md +++ b/README.md @@ -59,14 +59,15 @@ The skim project contains several components: ## Package Managers -| Distribution | Package Manager | Command | -| -------------- | ----------------- | ---------------------------- | -| macOS | Homebrew | `brew install sk` | -| macOS | MacPorts | `sudo port install skim` | -| Fedora | dnf | `dnf install skim` | -| Alpine | apk | `apk add skim` | -| Arch | pacman | `pacman -S skim` | +| Distribution | Package Manager | Command | +| -------------- | ----------------- | ------------------------- | +| macOS | Homebrew | `brew install sk` | +| macOS | MacPorts | `sudo port install skim` | +| Fedora | dnf | `dnf install skim` | +| Alpine | apk | `apk add skim` | +| Arch | pacman | `pacman -S skim` | | Gentoo | Portage | `emerge --ask app-misc/skim` | +| Guix | guix | `guix install skim` | | Void | XBPS | `xbps-install -S skim` | See [repology](https://repology.org/project/skim/versions) for a comprehensive overview of package availability. From c932a1fe1c1a4b702ca0e07803a1f0446fbe8388 Mon Sep 17 00:00:00 2001 From: LoricAndre <57358788+LoricAndre@users.noreply.github.com> Date: Mon, 18 Nov 2024 17:16:12 +0100 Subject: [PATCH 3/3] chore: remove bitflags (#579) * chore: remove bitflags * fix: add args-override-self to allow multiple args occurence --------- Co-authored-by: LoricAndre --- Cargo.lock | 454 +++++++++++++++++++------------------------- Cargo.toml | 1 - src/bin/main.rs | 65 +++---- src/engine/fuzzy.rs | 2 +- src/event.rs | 11 +- src/header.rs | 2 +- src/previewer.rs | 4 +- src/query.rs | 4 +- src/selection.rs | 4 +- src/util.rs | 2 +- 10 files changed, 245 insertions(+), 304 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0ed7ad14..b57543d8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11,6 +11,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -22,9 +28,9 @@ dependencies = [ [[package]] name = "arrayvec" -version = "0.7.2" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "atty" @@ -39,9 +45,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "beef" @@ -63,15 +69,18 @@ checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "bumpalo" -version = "3.11.1" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "cc" -version = "1.0.73" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47" +dependencies = [ + "shlex", +] [[package]] name = "cfg-if" @@ -87,24 +96,23 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.22" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", - "num-integer", "num-traits", - "time", "wasm-bindgen", - "winapi", + "windows-targets", ] [[package]] name = "clap" -version = "3.2.22" +version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ "atty", "bitflags 1.3.2", @@ -125,29 +133,18 @@ dependencies = [ "os_str_bytes", ] -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width 0.1.14", -] - [[package]] name = "core-foundation-sys" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "crossbeam" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" dependencies = [ - "cfg-if", "crossbeam-channel", "crossbeam-deque", "crossbeam-epoch", @@ -157,100 +154,46 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.6" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.2" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if", "crossbeam-epoch", "crossbeam-utils", ] [[package]] name = "crossbeam-epoch" -version = "0.9.11" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if", "crossbeam-utils", - "memoffset", - "scopeguard", ] [[package]] name = "crossbeam-queue" -version = "0.3.6" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd42583b04998a5363558e5f9291ee5a5ff6b49944332103f251e7479a82aa7" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" dependencies = [ - "cfg-if", "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.12" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "cxx" -version = "1.0.80" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b7d4e43b25d3c994662706a1d4fcfc32aaa6afd287502c111b237093bb23f3a" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.80" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f8829ddc213e2c1368e51a2564c552b65a8cb6a28f31e576270ac81d5e5827" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn 1.0.103", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.80" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e72537424b474af1460806647c41d4b6d35d09ef7fe031c5c2fa5766047cc56a" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.80" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309e4fb93eed90e1e14bea0da16b209f81813ba9fc7830c20ed151dd7bc0a4d7" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.103", -] +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "darling" @@ -273,7 +216,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.87", + "syn", ] [[package]] @@ -284,7 +227,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -315,7 +258,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.87", + "syn", ] [[package]] @@ -325,7 +268,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.87", + "syn", ] [[package]] @@ -351,15 +294,15 @@ dependencies = [ [[package]] name = "either" -version = "1.8.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "env_logger" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime", @@ -385,13 +328,13 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] @@ -417,26 +360,25 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "iana-time-zone" -version = "0.1.51" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi", + "windows-core", ] [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cxx", - "cxx-build", + "cc", ] [[package]] @@ -447,9 +389,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown", @@ -457,9 +399,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] @@ -472,17 +414,18 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.162" +version = "0.2.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" +checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f" [[package]] -name = "link-cplusplus" -version = "1.0.7" +name = "libredox" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "cc", + "bitflags 2.6.0", + "libc", ] [[package]] @@ -497,20 +440,11 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "nix" -version = "0.24.2" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ "bitflags 1.3.2", "cfg-if", @@ -529,46 +463,26 @@ dependencies = [ "libc", ] -[[package]] -name = "num-integer" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg", - "num-traits", -] - [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] -[[package]] -name = "num_cpus" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" -dependencies = [ - "hermit-abi", - "libc", -] - [[package]] name = "once_cell" -version = "1.15.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "os_str_bytes" -version = "6.3.0" +version = "6.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" [[package]] name = "proc-macro2" @@ -590,45 +504,32 @@ dependencies = [ [[package]] name = "rayon" -version = "1.5.3" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ - "autocfg", - "crossbeam-deque", "either", "rayon-core", ] [[package]] name = "rayon-core" -version = "1.9.3" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", -] - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", ] [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", - "redox_syscall", + "libredox", "thiserror", ] @@ -663,21 +564,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "rustversion" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" - -[[package]] -name = "scopeguard" -version = "1.1.0" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "scratch" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" [[package]] name = "shlex" @@ -690,7 +579,6 @@ name = "skim" version = "0.10.4" dependencies = [ "beef", - "bitflags 1.3.2", "chrono", "clap", "crossbeam", @@ -722,17 +610,6 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "syn" -version = "1.0.103" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.87" @@ -757,59 +634,49 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.3" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] [[package]] name = "textwrap" -version = "0.15.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16" +checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 1.0.103", + "syn", ] [[package]] name = "thread_local" -version = "1.1.4" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ + "cfg-if", "once_cell", ] -[[package]] -name = "time" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - [[package]] name = "timer" version = "0.2.0" @@ -828,16 +695,16 @@ dependencies = [ "bitflags 1.3.2", "lazy_static", "log", - "nix 0.24.2", + "nix 0.24.3", "term", "unicode-width 0.1.14", ] [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-width" @@ -853,9 +720,9 @@ checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" [[package]] name = "utf8parse" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "vte" @@ -870,20 +737,14 @@ dependencies = [ [[package]] name = "vte_generate_state_changes" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff" +checksum = "2e369bee1b05d510a7b4ed645f5faa90619e05437111783ea5848f28d97d3c2e" dependencies = [ "proc-macro2", "quote", ] -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -892,34 +753,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 1.0.103", + "syn", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -927,22 +789,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 1.0.103", + "syn", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "winapi" @@ -962,11 +824,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "winapi", + "windows-sys", ] [[package]] @@ -974,3 +836,85 @@ name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" diff --git a/Cargo.toml b/Cargo.toml index 757a9274..c02d9082 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,7 +31,6 @@ vte = "0.13.0" fuzzy-matcher = "0.3.7" rayon = "1.5.3" derive_builder = "0.20.2" -bitflags = "1.3.2" timer = "0.2.0" chrono = "0.4.22" crossbeam = "0.8.2" diff --git a/src/bin/main.rs b/src/bin/main.rs index 21bdf96b..dcc1f4f7 100644 --- a/src/bin/main.rs +++ b/src/bin/main.rs @@ -168,22 +168,23 @@ fn real_main() -> Result { let opts = App::new("sk") .author("Jinzhou Zhang") .version(crate_version!()) + .args_override_self(true) .arg(Arg::with_name("help").long("help").short('h')) .arg(Arg::with_name("bind").long("bind").short('b').multiple(true).takes_value(true)) - .arg(Arg::with_name("multi").long("multi").short('m').multiple(true)) - .arg(Arg::with_name("no-multi").long("no-multi").multiple(true)) + .arg(Arg::with_name("multi").long("multi").short('m')) + .arg(Arg::with_name("no-multi").long("no-multi")) .arg(Arg::with_name("prompt").long("prompt").short('p').multiple(true).takes_value(true).default_value("> ")) .arg(Arg::with_name("cmd-prompt").long("cmd-prompt").multiple(true).takes_value(true).default_value("c> ")) .arg(Arg::with_name("expect").long("expect").multiple(true).takes_value(true)) - .arg(Arg::with_name("tac").long("tac").multiple(true)) + .arg(Arg::with_name("tac").long("tac")) .arg(Arg::with_name("tiebreak").long("tiebreak").short('t').multiple(true).takes_value(true)) - .arg(Arg::with_name("ansi").long("ansi").multiple(true)) - .arg(Arg::with_name("exact").long("exact").short('e').multiple(true)) + .arg(Arg::with_name("ansi").long("ansi")) + .arg(Arg::with_name("exact").long("exact").short('e')) .arg(Arg::with_name("cmd").long("cmd").short('c').multiple(true).takes_value(true)) - .arg(Arg::with_name("interactive").long("interactive").short('i').multiple(true)) + .arg(Arg::with_name("interactive").long("interactive").short('i')) .arg(Arg::with_name("query").long("query").short('q').multiple(true).takes_value(true)) .arg(Arg::with_name("cmd-query").long("cmd-query").multiple(true).takes_value(true)) - .arg(Arg::with_name("regex").long("regex").multiple(true)) + .arg(Arg::with_name("regex").long("regex")) .arg(Arg::with_name("delimiter").long("delimiter").short('d').multiple(true).takes_value(true)) .arg(Arg::with_name("nth").long("nth").short('n').multiple(true).takes_value(true)) .arg(Arg::with_name("with-nth").long("with-nth").multiple(true).takes_value(true)) @@ -192,52 +193,52 @@ fn real_main() -> Result { .arg(Arg::with_name("margin").long("margin").multiple(true).takes_value(true).default_value("0,0,0,0")) .arg(Arg::with_name("min-height").long("min-height").multiple(true).takes_value(true).default_value("10")) .arg(Arg::with_name("height").long("height").multiple(true).takes_value(true).default_value("100%")) - .arg(Arg::with_name("no-height").long("no-height").multiple(true)) - .arg(Arg::with_name("no-clear").long("no-clear").multiple(true)) - .arg(Arg::with_name("no-clear-start").long("no-clear-start").multiple(true)) - .arg(Arg::with_name("no-mouse").long("no-mouse").multiple(true)) + .arg(Arg::with_name("no-height").long("no-height")) + .arg(Arg::with_name("no-clear").long("no-clear")) + .arg(Arg::with_name("no-clear-start").long("no-clear-start")) + .arg(Arg::with_name("no-mouse").long("no-mouse")) .arg(Arg::with_name("preview").long("preview").multiple(true).takes_value(true)) .arg(Arg::with_name("preview-window").long("preview-window").multiple(true).takes_value(true).default_value("right:50%")) - .arg(Arg::with_name("reverse").long("reverse").multiple(true)) + .arg(Arg::with_name("reverse").long("reverse")) .arg(Arg::with_name("algorithm").long("algo").multiple(true).takes_value(true).default_value("skim_v2")) .arg(Arg::with_name("case").long("case").multiple(true).takes_value(true).default_value("smart")) - .arg(Arg::with_name("literal").long("literal").multiple(true)) - .arg(Arg::with_name("cycle").long("cycle").multiple(true)) - .arg(Arg::with_name("no-hscroll").long("no-hscroll").multiple(true)) + .arg(Arg::with_name("literal").long("literal")) + .arg(Arg::with_name("cycle").long("cycle")) + .arg(Arg::with_name("no-hscroll").long("no-hscroll")) .arg(Arg::with_name("hscroll-off").long("hscroll-off").multiple(true).takes_value(true).default_value("10")) - .arg(Arg::with_name("filepath-word").long("filepath-word").multiple(true)) + .arg(Arg::with_name("filepath-word").long("filepath-word")) .arg(Arg::with_name("jump-labels").long("jump-labels").multiple(true).takes_value(true).default_value("abcdefghijklmnopqrstuvwxyz")) - .arg(Arg::with_name("border").long("border").multiple(true)) - .arg(Arg::with_name("inline-info").long("inline-info").multiple(true)) + .arg(Arg::with_name("border").long("border")) + .arg(Arg::with_name("inline-info").long("inline-info")) .arg(Arg::with_name("header").long("header").multiple(true).takes_value(true).default_value("")) .arg(Arg::with_name("header-lines").long("header-lines").multiple(true).takes_value(true).default_value("0")) .arg(Arg::with_name("tabstop").long("tabstop").multiple(true).takes_value(true).default_value("8")) - .arg(Arg::with_name("no-bold").long("no-bold").multiple(true)) + .arg(Arg::with_name("no-bold").long("no-bold")) .arg(Arg::with_name("history").long("history").multiple(true).takes_value(true)) .arg(Arg::with_name("cmd-history").long("cmd-history").multiple(true).takes_value(true)) .arg(Arg::with_name("history-size").long("history-size").multiple(true).takes_value(true).default_value("1000")) .arg(Arg::with_name("cmd-history-size").long("cmd-history-size").multiple(true).takes_value(true).default_value("1000")) - .arg(Arg::with_name("print-query").long("print-query").multiple(true)) - .arg(Arg::with_name("print-cmd").long("print-cmd").multiple(true)) - .arg(Arg::with_name("print-score").long("print-score").multiple(true)) - .arg(Arg::with_name("read0").long("read0").multiple(true)) - .arg(Arg::with_name("print0").long("print0").multiple(true)) - .arg(Arg::with_name("sync").long("sync").multiple(true)) - .arg(Arg::with_name("extended").long("extended").short('x').multiple(true)) - .arg(Arg::with_name("no-sort").long("no-sort").multiple(true)) - .arg(Arg::with_name("select-1").long("select-1").short('1').multiple(true)) - .arg(Arg::with_name("exit-0").long("exit-0").short('0').multiple(true)) + .arg(Arg::with_name("print-query").long("print-query")) + .arg(Arg::with_name("print-cmd").long("print-cmd")) + .arg(Arg::with_name("print-score").long("print-score")) + .arg(Arg::with_name("read0").long("read0")) + .arg(Arg::with_name("print0").long("print0")) + .arg(Arg::with_name("sync").long("sync")) + .arg(Arg::with_name("extended").long("extended").short('x')) + .arg(Arg::with_name("no-sort").long("no-sort")) + .arg(Arg::with_name("select-1").long("select-1").short('1')) + .arg(Arg::with_name("exit-0").long("exit-0").short('0')) .arg(Arg::with_name("filter").long("filter").short('f').takes_value(true).multiple(true)) .arg(Arg::with_name("layout").long("layout").multiple(true).takes_value(true).default_value("default")) - .arg(Arg::with_name("keep-right").long("keep-right").multiple(true)) + .arg(Arg::with_name("keep-right").long("keep-right")) .arg(Arg::with_name("skip-to-pattern").long("skip-to-pattern").multiple(true).takes_value(true).default_value("")) .arg(Arg::with_name("pre-select-n").long("pre-select-n").multiple(true).takes_value(true).default_value("0")) .arg(Arg::with_name("pre-select-pat").long("pre-select-pat").multiple(true).takes_value(true).default_value("")) .arg(Arg::with_name("pre-select-items").long("pre-select-items").multiple(true).takes_value(true)) .arg(Arg::with_name("pre-select-file").long("pre-select-file").multiple(true).takes_value(true).default_value("")) - .arg(Arg::with_name("no-clear-if-empty").long("no-clear-if-empty").multiple(true)) - .arg(Arg::with_name("show-cmd-error").long("show-cmd-error").multiple(true)) + .arg(Arg::with_name("no-clear-if-empty").long("no-clear-if-empty")) + .arg(Arg::with_name("show-cmd-error").long("show-cmd-error")) .get_matches_from(args); if opts.is_present("help") { diff --git a/src/engine/fuzzy.rs b/src/engine/fuzzy.rs index 0c13ebc0..67117a56 100644 --- a/src/engine/fuzzy.rs +++ b/src/engine/fuzzy.rs @@ -1,3 +1,4 @@ +use std::cmp::min; use std::fmt::{Display, Error, Formatter}; use std::sync::Arc; @@ -8,7 +9,6 @@ use fuzzy_matcher::FuzzyMatcher; use crate::item::RankBuilder; use crate::{CaseMatching, MatchEngine}; use crate::{MatchRange, MatchResult, SkimItem}; -use bitflags::_core::cmp::min; //------------------------------------------------------------------------------ #[derive(Debug, Copy, Clone, Default)] diff --git a/src/event.rs b/src/event.rs index 45821bb8..c4825a1a 100644 --- a/src/event.rs +++ b/src/event.rs @@ -1,6 +1,5 @@ // All the events that will be used -use bitflags::bitflags; use std::sync::mpsc::{Receiver, Sender}; use tuikit::key::Key; @@ -77,12 +76,10 @@ pub enum Event { __Nonexhaustive, } -bitflags! { - /// `Effect` is the effect of a text - pub struct UpdateScreen: u8 { - const REDRAW = 0b0000_0001; - const DONT_REDRAW = 0b0000_0010; - } +/// `Effect` is the effect of a text +pub enum UpdateScreen { + Redraw, + DontRedraw, } pub trait EventHandler { diff --git a/src/header.rs b/src/header.rs index f22c3eb8..3394f78a 100644 --- a/src/header.rs +++ b/src/header.rs @@ -143,6 +143,6 @@ impl Widget for Header { impl EventHandler for Header { fn handle(&mut self, _event: &Event) -> UpdateScreen { - UpdateScreen::DONT_REDRAW + UpdateScreen::DontRedraw } } diff --git a/src/previewer.rs b/src/previewer.rs index 304cba40..1a08fe13 100644 --- a/src/previewer.rs +++ b/src/previewer.rs @@ -333,9 +333,9 @@ impl EventHandler for Previewer { EvActPreviewRight(diff) => self.act_scroll_right(*diff), EvActPreviewPageUp(diff) => self.act_scroll_down(-(height as i32 * *diff)), EvActPreviewPageDown(diff) => self.act_scroll_down(height as i32 * *diff), - _ => return UpdateScreen::DONT_REDRAW, + _ => return UpdateScreen::DontRedraw, } - UpdateScreen::REDRAW + UpdateScreen::Redraw } } diff --git a/src/query.rs b/src/query.rs index fd0a1bb0..6ee1fb8b 100644 --- a/src/query.rs +++ b/src/query.rs @@ -534,9 +534,9 @@ impl EventHandler for Query { } if self.query_changed(mode, query_before_len, query_after_len, cmd_before_len, cmd_after_len) { - UpdateScreen::REDRAW + UpdateScreen::Redraw } else { - UpdateScreen::DONT_REDRAW + UpdateScreen::DontRedraw } } } diff --git a/src/selection.rs b/src/selection.rs index dd46c559..3a83c00a 100644 --- a/src/selection.rs +++ b/src/selection.rs @@ -395,9 +395,9 @@ impl EventHandler for Selection { EvActScrollRight(diff) => { self.act_scroll(*diff); } - _ => return UpdateScreen::DONT_REDRAW, + _ => return UpdateScreen::DontRedraw, } - UpdateScreen::REDRAW + UpdateScreen::Redraw } } diff --git a/src/util.rs b/src/util.rs index a0aabf13..17f95380 100644 --- a/src/util.rs +++ b/src/util.rs @@ -1,6 +1,7 @@ use std::borrow::Cow; use std::cmp::{max, min}; use std::prelude::v1::*; +use std::str::FromStr; use regex::{Captures, Regex}; use tuikit::prelude::*; @@ -8,7 +9,6 @@ use unicode_width::UnicodeWidthChar; use crate::field::get_string_by_range; use crate::AnsiString; -use bitflags::_core::str::FromStr; lazy_static! { static ref RE_ESCAPE: Regex = Regex::new(r"['\U{00}]").unwrap();