diff --git a/Cargo.lock b/Cargo.lock index 6c490f0572..e467676dda 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1023,7 +1023,7 @@ version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] @@ -1343,6 +1343,7 @@ dependencies = [ "crossterm_winapi", "derive_more", "document-features", + "filedescriptor", "mio", "parking_lot", "rustix 1.1.4", @@ -1775,7 +1776,7 @@ dependencies = [ "libc", "option-ext", "redox_users 0.5.2", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -1948,7 +1949,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -2074,6 +2075,17 @@ dependencies = [ "version_check", ] +[[package]] +name = "filedescriptor" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e40758ed24c9b2eeb76c35fb0aebc66c626084edd827e07e1552279814c6682d" +dependencies = [ + "libc", + "thiserror 1.0.69", + "winapi", +] + [[package]] name = "filetime" version = "0.2.27" @@ -2480,6 +2492,7 @@ dependencies = [ "merge", "nu-ansi-term", "nucleo", + "nucleo-picker", "num-format", "open", "pretty_assertions", @@ -2598,6 +2611,7 @@ dependencies = [ "crossterm 0.29.0", "derive_setters", "nucleo", + "nucleo-picker", "pretty_assertions", "rustyline", "tracing", @@ -4862,7 +4876,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -4914,7 +4928,7 @@ dependencies = [ "portable-atomic", "portable-atomic-util", "serde_core", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -5498,6 +5512,27 @@ dependencies = [ "tempfile", ] +[[package]] +name = "ncp-engine" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4b904e494a9e626d4056d26451ea0ff7c61d0527bdd7fa382d8dc0fbc95228b" +dependencies = [ + "ncp-matcher", + "parking_lot", + "rayon", +] + +[[package]] +name = "ncp-matcher" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "169f19d4393d100a624fd04f4267965329afe3b0841835d84a35b25b7a9ea160" +dependencies = [ + "memchr", + "unicode-segmentation", +] + [[package]] name = "new_debug_unreachable" version = "1.0.6" @@ -5567,7 +5602,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -5591,6 +5626,20 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "nucleo-picker" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c280559561e7d56bb9d4df36a80abf8d87a10a7a8d68310f8d8bb542ba5c0b1f" +dependencies = [ + "crossterm 0.29.0", + "memchr", + "ncp-engine", + "parking_lot", + "unicode-segmentation", + "unicode-width 0.2.2", +] + [[package]] name = "num-conv" version = "0.2.1" @@ -7019,7 +7068,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.12.1", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -7099,7 +7148,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -8052,7 +8101,7 @@ dependencies = [ "getrandom 0.4.2", "once_cell", "rustix 1.1.4", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -8115,7 +8164,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874" dependencies = [ "rustix 1.1.4", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -9204,7 +9253,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 7e12f7da7a..3978b3526c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -130,6 +130,7 @@ rmcp = { version = "0.10.0", features = [ ] } open = "5.3.2" nucleo = "0.5.0" +nucleo-picker = "0.11.1" gray_matter = "0.3.2" num-format = "0.4" humantime = "2.1.0" diff --git a/crates/forge_main/Cargo.toml b/crates/forge_main/Cargo.toml index 64784fd085..57d0124d03 100644 --- a/crates/forge_main/Cargo.toml +++ b/crates/forge_main/Cargo.toml @@ -28,6 +28,7 @@ forge_select.workspace = true merge.workspace = true nucleo.workspace = true +nucleo-picker.workspace = true libc = "0.2" forge_fs.workspace = true tokio.workspace = true diff --git a/crates/forge_select/Cargo.toml b/crates/forge_select/Cargo.toml index 270dac1fe4..1494f9b142 100644 --- a/crates/forge_select/Cargo.toml +++ b/crates/forge_select/Cargo.toml @@ -12,6 +12,7 @@ console.workspace = true crossterm = "0.29.0" derive_setters.workspace = true nucleo.workspace = true +nucleo-picker.workspace = true rustyline.workspace = true tracing.workspace = true