Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package mcfly for openSUSE:Factory checked in at 2023-06-11 19:54:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mcfly (Old) and /work/SRC/openSUSE:Factory/.mcfly.new.15902 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mcfly" Sun Jun 11 19:54:37 2023 rev:3 rq:1091833 version:0.8.1~0 Changes: -------- --- /work/SRC/openSUSE:Factory/mcfly/mcfly.changes 2023-03-07 16:50:56.957778791 +0100 +++ /work/SRC/openSUSE:Factory/.mcfly.new.15902/mcfly.changes 2023-06-11 19:57:26.803943588 +0200 @@ -1,0 +2,13 @@ +Fri Jun 9 14:36:07 UTC 2023 - Gus Kenion <gken...@suse.com> + +- Update to 0.8.1: + * Fix use of MCFLY_DISABLE_MENU + * Support Fish private mode support + * Always set MCFLY_HISTORY in zsh to support subshells + * Allow linking mcfly with system-provided sqlite with + sqlite-bundled feature flag + * And allow sourcing in zsh more than once + * Reduce size by removing unnecessary/unused regex features + * Add per-directory history + +------------------------------------------------------------------- Old: ---- mcfly-0.8.0~0.tar.xz New: ---- mcfly-0.8.1~0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mcfly.spec ++++++ --- /var/tmp/diff_new_pack.tGMlac/_old 2023-06-11 19:57:27.671948822 +0200 +++ /var/tmp/diff_new_pack.tGMlac/_new 2023-06-11 19:57:27.675948847 +0200 @@ -17,7 +17,7 @@ Name: mcfly -Version: 0.8.0~0 +Version: 0.8.1~0 Release: 0 Summary: Shell history helper License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.tGMlac/_old 2023-06-11 19:57:27.707949039 +0200 +++ /var/tmp/diff_new_pack.tGMlac/_new 2023-06-11 19:57:27.711949064 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/cantino/mcfly.git</param> <param name="versionformat">@PARENT_TAG@~@TAG_OFFSET@</param> <param name="scm">git</param> - <param name="revision">v0.8.0</param> + <param name="revision">v0.8.1</param> <param name="match-tag">*</param> <param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param> <param name="versionrewrite-replacement">\1</param> ++++++ mcfly-0.8.0~0.tar.xz -> mcfly-0.8.1~0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcfly-0.8.0~0/CHANGELOG.txt new/mcfly-0.8.1~0/CHANGELOG.txt --- old/mcfly-0.8.0~0/CHANGELOG.txt 2023-03-07 05:43:54.000000000 +0100 +++ new/mcfly-0.8.1~0/CHANGELOG.txt 2023-06-03 22:47:08.000000000 +0200 @@ -1,3 +1,12 @@ +0.8.1 - Jun 3, 2023 + - Fix use of MCFLY_DISABLE_MENU (thanks @barklan!) + - Support Fish private mode support (thanks @Aeron!) + - Always set MCFLY_HISTORY in zsh to support subshells (thanks @utkarshgupta137!) + - Allow linking mcfly with system-provided sqlite with sqlite-bundled feature flag (thanks @jirutka!) + - And allow sourcing in zsh more than once (thanks @ahatzz11 and @deekshithanand!) + - Reduce size by removing unnecessary/unused regex features (thanks @jirutka!) + - Add per-directory history (thanks @rawkode!) + 0.8.0 - Mar 6, 2023 - Add forward-compatibility check for database schema (thanks @bnprks!) - Add MCFLY_DISABLE_RUN_COMMAND option to disable command running (thanks @chaserhkj!) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcfly-0.8.0~0/Cargo.lock new/mcfly-0.8.1~0/Cargo.lock --- old/mcfly-0.8.0~0/Cargo.lock 2023-03-07 05:43:54.000000000 +0100 +++ new/mcfly-0.8.1~0/Cargo.lock 2023-06-03 22:47:08.000000000 +0200 @@ -4,25 +4,31 @@ [[package]] name = "ahash" -version = "0.7.6" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" dependencies = [ - "getrandom", + "cfg-if", "once_cell", "version_check", ] [[package]] name = "aho-corasick" -version = "0.7.20" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" 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" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -32,6 +38,55 @@ ] [[package]] +name = "anstream" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is-terminal", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" + +[[package]] +name = "anstyle-parse" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "anstyle-wincon" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +dependencies = [ + "anstyle", + "windows-sys 0.48.0", +] + +[[package]] name = "autocfg" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -45,9 +100,9 @@ [[package]] name = "bumpalo" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" [[package]] name = "cc" @@ -63,13 +118,13 @@ [[package]] name = "chrono" -version = "0.4.23" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", - "num-integer", "num-traits", "time", "wasm-bindgen", @@ -78,27 +133,35 @@ [[package]] name = "clap" -version = "4.1.6" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3" +checksum = "b4ed2379f8603fa2b7509891660e802b88c70a79a6427a70abb5968054de2c28" dependencies = [ - "bitflags", + "clap_builder", "clap_derive", - "clap_lex", - "is-terminal", "once_cell", +] + +[[package]] +name = "clap_builder" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72394f3339a76daf211e57d4bcb374410f3965dcc606dd0e03738c7888766980" +dependencies = [ + "anstream", + "anstyle", + "bitflags", + "clap_lex", "strsim", - "termcolor", ] [[package]] name = "clap_derive" -version = "4.1.0" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" +checksum = "59e9ef9a08ee1c0e1f2e162121665ac45ac3783b0f897db7244ae75ad9a8f65b" dependencies = [ "heck", - "proc-macro-error", "proc-macro2", "quote", "syn", @@ -106,34 +169,27 @@ [[package]] name = "clap_lex" -version = "0.3.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350b9cf31731f9957399229e9b2adc51eeabdfbe9d71d9a0552275fd12710d09" -dependencies = [ - "os_str_bytes", -] +checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" [[package]] -name = "codespan-reporting" -version = "0.11.1" +name = "colorchoice" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "core-foundation-sys" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "crossterm" -version = "0.26.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77f67c7faacd4db07a939f55d66a983a5355358a1f17d32cc9a8d01d1266b9ce" +checksum = "a84cda67535339806297f1b331d6dd6320470d2a0fe65381e79ee9e156dd3d13" dependencies = [ "bitflags", "crossterm_winapi", @@ -157,9 +213,9 @@ [[package]] name = "csv" -version = "1.2.0" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af91f40b7355f82b0a891f50e70399475945bb0b0da4f1700ce60761c9d3e359" +checksum = "626ae34994d3d8d668f4269922248239db4ae42d538b14c398b74a52208e8086" dependencies = [ "csv-core", "itoa", @@ -177,50 +233,6 @@ ] [[package]] -name = "cxx" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] name = "directories-next" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -269,13 +281,13 @@ [[package]] name = "errno" -version = "0.2.8" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" dependencies = [ "errno-dragonfly", "libc", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -313,9 +325,9 @@ [[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", @@ -324,18 +336,18 @@ [[package]] name = "hashbrown" -version = "0.12.3" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ "ahash", ] [[package]] name = "hashlink" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa" +checksum = "0761a1b9491c4f2e3d66aa0f62d0fba0af9a0e2852e4d48ea506632a4b56e6aa" dependencies = [ "hashbrown", ] @@ -360,48 +372,48 @@ [[package]] name = "iana-time-zone" -version = "0.1.53" +version = "0.1.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi", + "windows", ] [[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]] name = "io-lifetimes" -version = "1.0.5" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ + "hermit-abi", "libc", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] name = "is-terminal" -version = "0.4.4" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857" +checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" dependencies = [ "hermit-abi", "io-lifetimes", "rustix", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -415,24 +427,24 @@ [[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 = "js-sys" -version = "0.3.61" +version = "0.3.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790" dependencies = [ "wasm-bindgen", ] [[package]] name = "libc" -version = "0.2.139" +version = "0.2.144" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" +checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" [[package]] name = "libsqlite3-sys" @@ -446,19 +458,10 @@ ] [[package]] -name = "link-cplusplus" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" -dependencies = [ - "cc", -] - -[[package]] name = "linux-raw-sys" -version = "0.1.4" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "lock_api" @@ -472,16 +475,13 @@ [[package]] name = "log" -version = "0.4.17" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] +checksum = "518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de" [[package]] name = "mcfly" -version = "0.8.0" +version = "0.8.1" dependencies = [ "chrono", "clap", @@ -507,24 +507,14 @@ [[package]] name = "mio" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", -] - -[[package]] -name = "num-integer" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg", - "num-traits", + "windows-sys 0.48.0", ] [[package]] @@ -538,15 +528,9 @@ [[package]] name = "once_cell" -version = "1.17.1" +version = "1.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" - -[[package]] -name = "os_str_bytes" -version = "6.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" +checksum = "9670a07f94779e00908f3e686eab508878ebb390ba6e604d3a284c00e8d0487b" [[package]] name = "parking_lot" @@ -568,14 +552,14 @@ "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.45.0", ] [[package]] name = "pkg-config" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "ppv-lite86" @@ -584,43 +568,19 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] name = "proc-macro2" -version = "1.0.51" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" +checksum = "6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.23" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" dependencies = [ "proc-macro2", ] @@ -677,9 +637,9 @@ [[package]] name = "regex" -version = "1.7.1" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +checksum = "81ca098a9821bd52d6b24fd8b10bd081f47d39c22778cafaa75a2857a62c6390" dependencies = [ "aho-corasick", "memchr", @@ -688,15 +648,15 @@ [[package]] name = "regex-syntax" -version = "0.6.28" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" +checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" [[package]] name = "relative-path" -version = "1.7.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3bf6b372449361333ac1f498b7edae4dd5e70dccd7c0c2a7c7bce8f05ede648" +checksum = "4bf2521270932c3c7bed1a59151222bd7643c79310f2916f01925e1e16255698" [[package]] name = "rusqlite" @@ -714,23 +674,23 @@ [[package]] name = "rustix" -version = "0.36.8" +version = "0.37.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" +checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" dependencies = [ "bitflags", "errno", "io-lifetimes", "libc", "linux-raw-sys", - "windows-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 = "scopeguard" @@ -739,16 +699,10 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] -name = "scratch" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" - -[[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" [[package]] name = "shellexpand" @@ -803,9 +757,9 @@ [[package]] name = "syn" -version = "1.0.109" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e" dependencies = [ "proc-macro2", "quote", @@ -813,28 +767,19 @@ ] [[package]] -name = "termcolor" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" -dependencies = [ - "winapi-util", -] - -[[package]] name = "thiserror" -version = "1.0.38" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.38" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", @@ -854,9 +799,9 @@ [[package]] name = "unicode-ident" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" +checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" [[package]] name = "unicode-segmentation" @@ -865,10 +810,10 @@ checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" [[package]] -name = "unicode-width" -version = "0.1.10" +name = "utf8parse" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "vcpkg" @@ -896,9 +841,9 @@ [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -906,9 +851,9 @@ [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb" dependencies = [ "bumpalo", "log", @@ -921,9 +866,9 @@ [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -931,9 +876,9 @@ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8" dependencies = [ "proc-macro2", "quote", @@ -944,9 +889,9 @@ [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93" [[package]] name = "winapi" @@ -965,82 +910,148 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] 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" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets 0.48.0", +] + +[[package]] name = "windows-sys" version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows-targets", + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.0", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "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.42.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" 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.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.1" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +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 = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +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 = "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 = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" -version = "0.42.1" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" [[package]] name = "windows_x86_64_gnu" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcfly-0.8.0~0/Cargo.toml new/mcfly-0.8.1~0/Cargo.toml --- old/mcfly-0.8.0~0/Cargo.toml 2023-03-07 05:43:54.000000000 +0100 +++ new/mcfly-0.8.1~0/Cargo.toml 2023-06-03 22:47:08.000000000 +0200 @@ -1,6 +1,6 @@ [package] name = "mcfly" -version = "0.8.0" +version = "0.8.1" authors = ["Andrew Cantino <cant...@users.noreply.github.com>"] edition = "2021" description = "McFly replaces your default ctrl-r shell history search with an intelligent search engine that takes into account your working directory and the context of recently executed commands. McFly's suggestions are prioritized in real time with a small neural network." @@ -23,14 +23,14 @@ itertools = "0.10" libc = "0.2" rand = "0.8" -regex = "1" +regex = { version = "1", default-features = false, features = ["perf", "std"] } relative-path = "1.7" shellexpand = "2.1" unicode-segmentation = "1.9" [dependencies.rusqlite] version = "0.28" -features = ["bundled", "functions", "unlock_notify"] +features = ["functions", "unlock_notify"] [dependencies.crossterm] version = "0.26" @@ -41,3 +41,6 @@ version = "4" features = ["derive"] +[features] +default = ["sqlite-bundled"] +sqlite-bundled = ["rusqlite/bundled"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcfly-0.8.0~0/README.md new/mcfly-0.8.1~0/README.md --- old/mcfly-0.8.0~0/README.md 2023-03-07 05:43:54.000000000 +0100 +++ new/mcfly-0.8.1~0/README.md 2023-06-03 22:47:08.000000000 +0200 @@ -271,6 +271,19 @@ set -gx MCFLY_RESULTS 50 ``` +### Delete without confirmation +To delete without confirmation, set `MCFLY_DELETE_WITHOUT_CONFIRM` to true. + +bash / zsh: +```bash +export MCFLY_DELETE_WITHOUT_CONFIRM=true +``` + +fish: +```bash +set -gx MCFLY_DELETE_WITHOUT_CONFIRM true +``` + ### Interface view To change interface view, set `MCFLY_INTERFACE_VIEW` (default: `TOP`). Available options: `TOP` and `BOTTOM` @@ -324,6 +337,7 @@ ```bash set -gx MCFLY_PROMPT "â¯" ``` +Note that only single-character-prompts are allowed. setting `MCFLY_PROMPT` to `"<str>"` will reset it to the default prompt. ### Database Location diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcfly-0.8.0~0/mcfly.fish new/mcfly-0.8.1~0/mcfly.fish --- old/mcfly-0.8.0~0/mcfly.fish 2023-03-07 05:43:54.000000000 +0100 +++ new/mcfly-0.8.1~0/mcfly.fish 2023-06-03 22:47:08.000000000 +0200 @@ -31,7 +31,9 @@ end function __mcfly_add_command -d 'Add run commands to McFly database' -e fish_postexec - # First, retain return code of last command before we lose it + # Check for the private mode + test -n "$fish_private_mode"; and return + # Retain return code of last command before we lose it set -l last_status $status # Handle first call of this function after sourcing mcfly.fish, when the old PWD won't be set set -q __MCFLY_OLD_PWD; or set -g __MCFLY_OLD_PWD "$PWD" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcfly-0.8.0~0/mcfly.zsh new/mcfly-0.8.1~0/mcfly.zsh --- old/mcfly-0.8.0~0/mcfly.zsh 2023-03-07 05:43:54.000000000 +0100 +++ new/mcfly-0.8.1~0/mcfly.zsh 2023-06-03 22:47:08.000000000 +0200 @@ -1,9 +1,7 @@ #!/bin/zsh # Ensure stdin is a tty -# Avoid loading this file more than once -if [[ -o interactive ]] && [[ "$__MCFLY_LOADED" != "loaded" ]]; then - __MCFLY_LOADED="loaded" +if [[ -o interactive ]]; then # Setup MCFLY_HISTFILE and make sure it exists. export MCFLY_HISTFILE="${HISTFILE:-$HOME/.zsh_history}" @@ -26,9 +24,7 @@ setopt interactive_comments # allow comments in interactive shells (like Bash does) # McFly's temporary, per-session history file. - if [[ ! -f "${MCFLY_HISTORY}" ]]; then - export MCFLY_HISTORY=$(command mktemp ${TMPDIR:-/tmp}/mcfly.XXXXXXXX) - fi + export MCFLY_HISTORY=$(command mktemp ${TMPDIR:-/tmp}/mcfly.XXXXXXXX) # Check if we need to use extended history if [[ -o extendedhistory ]]; then @@ -55,14 +51,24 @@ $MCFLY_PATH --history_format $MCFLY_HISTORY_FORMAT add --exit ${exit_code} return ${exit_code} # Restore the original exit code by returning it. } - precmd_functions+=(mcfly_prompt_command) + + if [[ -z $precmd_functions ]] || [[ "${precmd_functions[(ie)mcfly_prompt_command]}" -gt ${#precmd_functions} ]]; then + precmd_functions+=(mcfly_prompt_command) + else + [ -n "$MCFLY_DEBUG" ] && echo "mcfly_prompt_command already in precmd_functions, skipping" + fi # Cleanup $MCFLY_HISTORY tmp files on exit. - exit_logger() { + mcfly_exit_logger() { [ -n "$MCFLY_DEBUG" ] && echo "mcfly.zsh: Exiting and removing $MCFLY_HISTORY" command rm -f $MCFLY_HISTORY } - zshexit_functions+=(exit_logger) + + if [[ -z $zshexit_functions ]] || [[ "${zshexit_functions[(ie)mcfly_exit_logger]}" -gt ${#zshexit_functions} ]]; then + zshexit_functions+=(mcfly_exit_logger) + else + [ -n "$MCFLY_DEBUG" ] && echo "mcfly_exit_logger already in zshexit_functions, skipping" + fi # If this is an interactive shell, take ownership of ctrl-r. if [[ $- =~ .*i.* ]]; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcfly-0.8.0~0/pkg/brew/mcfly.rb new/mcfly-0.8.1~0/pkg/brew/mcfly.rb --- old/mcfly-0.8.0~0/pkg/brew/mcfly.rb 2023-03-07 05:43:54.000000000 +0100 +++ new/mcfly-0.8.1~0/pkg/brew/mcfly.rb 2023-06-03 22:47:08.000000000 +0200 @@ -7,16 +7,16 @@ # brew untap cantino/mcfly class Mcfly < Formula - version 'v0.7.1' + version 'v0.8.0' desc "McFly" homepage "https://github.com/cantino/mcfly" if OS.mac? url "https://github.com/cantino/mcfly/releases/download/#{version}/mcfly-#{version}-x86_64-apple-darwin.tar.gz" - sha256 "2d62398984b908ca06403f6ed9198702e8e193799fef57c9b7d38e69b7b4a33d" + sha256 "37938bec86416ee8ccd101642504517f738903d0ca3d5f5af57354bfc641a5f5" elsif OS.linux? url "https://github.com/cantino/mcfly/releases/download/#{version}/mcfly-#{version}-x86_64-unknown-linux-musl.tar.gz" - sha256 "76c54d1b320aaf39f2f65e628615e3eaa2a56f94dce8547e542b7ec94a3c9346" + sha256 "137373d482b6b638870567725a33e6f838f3729a8f80944a2db43840a6370284" end def install diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcfly-0.8.0~0/src/history/history.rs new/mcfly-0.8.1~0/src/history/history.rs --- old/mcfly-0.8.0~0/src/history/history.rs 2023-03-07 05:43:54.000000000 +0100 +++ new/mcfly-0.8.1~0/src/history/history.rs 2023-06-03 22:47:08.000000000 +0200 @@ -10,7 +10,7 @@ use crate::history::{db_extensions, schema}; use crate::network::Network; use crate::path_update_helpers; -use crate::settings::{HistoryFormat, ResultSort, Settings}; +use crate::settings::{HistoryFormat, ResultFilter, ResultSort, Settings}; use crate::simplified_command::SimplifiedCommand; use itertools::Itertools; use rusqlite::types::ToSql; @@ -442,9 +442,11 @@ names } + #[allow(clippy::too_many_arguments)] pub fn build_cache_table( &self, dir: &str, + result_filter: &ResultFilter, session_id: &Option<String>, start_time: Option<i64>, end_time: Option<i64>, @@ -524,6 +526,11 @@ 0 }; + let dir_filter_off = match &result_filter { + ResultFilter::Global => true, + ResultFilter::CurrentDirectory => false, + }; + self.connection.execute( "CREATE TEMP TABLE contextual_commands AS SELECT id, cmd, cmd_tpl, session_id, when_run, MAX(when_run) AS last_run, exit_code, selected, dir, @@ -565,13 +572,14 @@ COUNT(*) / :max_occurrences AS occurrences_factor FROM commands c - WHERE id > :min_id AND when_run > :start_time AND when_run < :end_time + WHERE id > :min_id AND when_run > :start_time AND when_run < :end_time AND (:dir_filter_off OR dir LIKE :directory) GROUP BY cmd ORDER BY id DESC;", named_params! { ":when_run_max": &when_run_max, ":history_duration": &(when_run_max - when_run_min), ":directory": &dir.to_owned(), + ":dir_filter_off": &dir_filter_off, ":max_occurrences": &max_occurrences, ":max_length": &max_length, ":max_selected_occurrences": &max_selected_occurrences, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcfly-0.8.0~0/src/interface.rs new/mcfly-0.8.1~0/src/interface.rs --- old/mcfly-0.8.0~0/src/interface.rs 2023-03-07 05:43:54.000000000 +0100 +++ new/mcfly-0.8.1~0/src/interface.rs 2023-06-03 22:47:08.000000000 +0200 @@ -4,7 +4,7 @@ use crate::fixed_length_grapheme_string::FixedLengthGraphemeString; use crate::history::Command; use crate::history_cleaner; -use crate::settings::{InterfaceView, KeyScheme}; +use crate::settings::{InterfaceView, KeyScheme, ResultFilter}; use crate::settings::{ResultSort, Settings}; use chrono::{Duration, TimeZone, Utc}; use crossterm::event::KeyCode::Char; @@ -29,6 +29,7 @@ menu_mode: MenuMode, in_vim_insert_mode: bool, result_sort: ResultSort, + result_filter: ResultFilter, } pub struct SelectionResult { @@ -77,11 +78,17 @@ } match interface.result_sort { - ResultSort::Rank => menu_text.push_str("F1 - Switch Sort to Time | "), - ResultSort::LastRun => menu_text.push_str("F1 - Switch Sort to Rank | "), + ResultSort::Rank => menu_text.push_str("F1 - Rank Sort | "), + ResultSort::LastRun => menu_text.push_str("F1 - Time Sort | "), + } + + menu_text.push_str("F2 - Delete | "); + + match interface.result_filter { + ResultFilter::Global => menu_text.push_str("F3 - All Directories"), + ResultFilter::CurrentDirectory => menu_text.push_str("F3 - This Directory"), } - menu_text.push_str("F2 - Delete"); menu_text } @@ -111,6 +118,7 @@ menu_mode: MenuMode::Normal, in_vim_insert_mode: true, result_sort: settings.result_sort.to_owned(), + result_filter: settings.result_filter.to_owned(), } } @@ -144,6 +152,7 @@ fn build_cache_table(&self) { self.history.build_cache_table( &self.settings.dir.to_owned(), + &self.result_filter, &Some(self.settings.session_id.to_owned()), None, None, @@ -153,24 +162,26 @@ } fn menubar<W: Write>(&self, screen: &mut W) { - let (width, _height): (u16, u16) = terminal::size().unwrap(); + if !self.settings.disable_menu { + let (width, _height): (u16, u16) = terminal::size().unwrap(); - queue!( - screen, - cursor::Hide, - cursor::MoveTo(0, self.info_line_index()), - Clear(ClearType::CurrentLine), - SetBackgroundColor(self.menu_mode.bg()), - SetForegroundColor(Color::White), - cursor::MoveTo(1, self.info_line_index()), - Print(format!( - "{text:width$}", - text = self.menu_mode.text(self), - width = width as usize - 1 - )), - SetBackgroundColor(Color::Reset) - ) - .unwrap(); + queue!( + screen, + cursor::Hide, + cursor::MoveTo(0, self.info_line_index()), + Clear(ClearType::CurrentLine), + SetBackgroundColor(self.menu_mode.bg()), + SetForegroundColor(Color::White), + cursor::MoveTo(1, self.info_line_index()), + Print(format!( + "{text:width$}", + text = self.menu_mode.text(self), + width = width as usize - 1 + )), + SetBackgroundColor(Color::Reset) + ) + .unwrap(); + } } fn prompt<W: Write>(&self, screen: &mut W) { @@ -416,6 +427,14 @@ } } + fn switch_result_filter(&mut self) { + self.result_filter = match self.result_filter { + ResultFilter::Global => ResultFilter::CurrentDirectory, + ResultFilter::CurrentDirectory => ResultFilter::Global, + }; + self.build_cache_table(); + } + fn select(&mut self) { let mut screen = stdout(); terminal::enable_raw_mode().unwrap(); @@ -663,6 +682,13 @@ } } + KeyEvent { + code: KeyCode::F(3), + .. + } => { + self.switch_result_filter(); + self.refresh_matches(true); + } _ => {} } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcfly-0.8.0~0/src/settings.rs new/mcfly-0.8.1~0/src/settings.rs --- old/mcfly-0.8.0~0/src/settings.rs 2023-03-07 05:43:54.000000000 +0100 +++ new/mcfly-0.8.1~0/src/settings.rs 2023-06-03 22:47:08.000000000 +0200 @@ -42,6 +42,12 @@ LastRun, } +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum ResultFilter { + Global, + CurrentDirectory, +} + #[derive(Debug, Clone, Copy)] pub enum HistoryFormat { /// bash format - commands in plain text, one per line, with multi-line commands joined. @@ -85,6 +91,7 @@ pub delete_without_confirm: bool, pub interface_view: InterfaceView, pub result_sort: ResultSort, + pub result_filter: ResultFilter, pub disable_menu: bool, pub prompt: String, pub disable_run_command: bool, @@ -116,6 +123,7 @@ delete_without_confirm: false, interface_view: InterfaceView::Top, result_sort: ResultSort::Rank, + result_filter: ResultFilter::Global, disable_menu: false, prompt: String::from("$"), disable_run_command: false, @@ -138,7 +146,7 @@ .and_then(|o| o.parse::<i64>().ok()); settings.interface_view = match env::var("MCFLY_INTERFACE_VIEW") { - Ok(val) => match val.as_str() { + Ok(val) => match val.to_uppercase().as_str() { "TOP" => InterfaceView::Top, "BOTTOM" => InterfaceView::Bottom, _ => InterfaceView::Top, @@ -147,7 +155,7 @@ }; settings.result_sort = match env::var("MCFLY_RESULTS_SORT") { - Ok(val) => match val.as_str() { + Ok(val) => match val.to_uppercase().as_str() { "RANK" => ResultSort::Rank, "LAST_RUN" => ResultSort::LastRun, _ => ResultSort::Rank, @@ -155,6 +163,15 @@ _ => ResultSort::Rank, }; + settings.result_filter = match env::var("MCFLY_RESULTS_FILTER") { + Ok(val) => match val.to_uppercase().as_str() { + "GLOBAL" => ResultFilter::Global, + "CURRENT_DIRECTORY" => ResultFilter::CurrentDirectory, + _ => ResultFilter::Global, + }, + _ => ResultFilter::Global, + }; + settings.session_id = cli.session_id.unwrap_or_else(|| env::var("MCFLY_SESSION_ID") .unwrap_or_else(|err| { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcfly-0.8.0~0/src/shell_history.rs new/mcfly-0.8.1~0/src/shell_history.rs --- old/mcfly-0.8.0~0/src/shell_history.rs 2023-03-07 05:43:54.000000000 +0100 +++ new/mcfly-0.8.1~0/src/shell_history.rs 2023-06-03 22:47:08.000000000 +0200 @@ -117,7 +117,7 @@ match history_format { HistoryFormat::Bash => { let history_contents = read_ignoring_utf_errors(path); - let zsh_timestamp_and_duration_regex = Regex::new(r"^: \d+:\d+;").unwrap(); + let zsh_timestamp_and_duration_regex = Regex::new(r"^: [0-9]+:[0-9]+;").unwrap(); let when = SystemTime::now() .duration_since(UNIX_EPOCH) .unwrap_or_else(|err| panic!("McFly error: Time went backwards ({})", err)) @@ -131,7 +131,7 @@ } HistoryFormat::Zsh { .. } => { let history_contents = read_and_unmetafy(path); - let zsh_timestamp_and_duration_regex = Regex::new(r"^: \d+:\d+;").unwrap(); + let zsh_timestamp_and_duration_regex = Regex::new(r"^: [0-9]+:[0-9]+;").unwrap(); let when = SystemTime::now() .duration_since(UNIX_EPOCH) .unwrap_or_else(|err| panic!("McFly error: Time went backwards ({})", err)) @@ -192,7 +192,7 @@ commands.pop(); } - let starts_with_mcfly = Regex::new(r"^(: \d+:\d+;)?#mcfly:").unwrap(); + let starts_with_mcfly = Regex::new(r"^(: [0-9]+:[0-9]+;)?#mcfly:").unwrap(); if commands.is_empty() || !starts_with_mcfly.is_match(&commands[commands.len() - 1].command) { return; // Abort if empty or the last line isn't a comment. @@ -226,7 +226,7 @@ pub fn delete_lines(path: &Path, history_format: HistoryFormat, command: &str) { let commands = full_history(path, history_format); - let zsh_timestamp_and_duration_regex = Regex::new(r"^: \d+:\d+;").unwrap(); + let zsh_timestamp_and_duration_regex = Regex::new(r"^: [0-9]+:[0-9]+;").unwrap(); let lines = commands .into_iter() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mcfly-0.8.0~0/src/training_sample_generator.rs new/mcfly-0.8.1~0/src/training_sample_generator.rs --- old/mcfly-0.8.0~0/src/training_sample_generator.rs 2023-03-07 05:43:54.000000000 +0100 +++ new/mcfly-0.8.1~0/src/training_sample_generator.rs 2023-06-03 22:47:08.000000000 +0200 @@ -1,7 +1,7 @@ use crate::history::Command; use crate::history::Features; use crate::history::History; -use crate::settings::Settings; +use crate::settings::{ResultFilter, Settings}; use crate::training_cache; use rand::seq::IteratorRandom; use std::fs; @@ -55,6 +55,7 @@ // Unwrap is safe here because we check command.dir.is_none() above. history.build_cache_table( &command.dir.to_owned().unwrap(), + &ResultFilter::Global, &Some(command.session_id.clone()), None, command.when_run, ++++++ vendor.tar.xz ++++++ /work/SRC/openSUSE:Factory/mcfly/vendor.tar.xz /work/SRC/openSUSE:Factory/.mcfly.new.15902/vendor.tar.xz differ: char 26, line 1