diff --git a/Cargo.lock b/Cargo.lock index 3905f60..de4b0c0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -353,6 +353,15 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "convert_case" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -443,6 +452,24 @@ dependencies = [ "libc", "mio 0.8.11", "parking_lot", + "signal-hook", + "signal-hook-mio", + "winapi", +] + +[[package]] +name = "crossterm" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" +dependencies = [ + "bitflags 2.11.0", + "crossterm_winapi", + "derive_more", + "document-features", + "mio 1.1.1", + "parking_lot", + "rustix", "serde", "signal-hook", "signal-hook-mio", @@ -477,6 +504,28 @@ dependencies = [ "powerfmt", ] +[[package]] +name = "derive_more" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn", +] + [[package]] name = "digest" version = "0.10.7" @@ -519,6 +568,15 @@ dependencies = [ "syn", ] +[[package]] +name = "document-features" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +dependencies = [ + "litrs", +] + [[package]] name = "dunce" version = "1.0.5" @@ -1393,6 +1451,12 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" +[[package]] +name = "litrs" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" + [[package]] name = "lock_api" version = "0.4.14" @@ -1491,6 +1555,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", + "log", "wasi 0.11.1+wasi-snapshot-preview1", "windows-sys 0.61.2", ] @@ -1935,7 +2000,7 @@ dependencies = [ "bitflags 2.11.0", "cassowary", "compact_str", - "crossterm", + "crossterm 0.27.0", "itertools 0.12.1", "lru", "paste", @@ -1988,22 +2053,23 @@ dependencies = [ [[package]] name = "reedline" -version = "0.32.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abf59e4c97b5049ba96b052cdb652368305a2eddcbce9bf1c16f9d003139eeea" +checksum = "67478e45862a0c29fd99658e382c07b1b80b9c1b7d946ce6bd2e4a679141554b" dependencies = [ "chrono", - "crossterm", + "crossterm 0.29.0", "fd-lock", - "itertools 0.12.1", + "itertools 0.13.0", "nu-ansi-term", "serde", "strip-ansi-escapes", "strum", "strum_macros", - "thiserror 1.0.69", + "thiserror 2.0.18", + "unicase", "unicode-segmentation", - "unicode-width 0.1.14", + "unicode-width 0.2.2", ] [[package]] @@ -2123,6 +2189,15 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + [[package]] name = "rustix" version = "1.1.3" @@ -2281,7 +2356,7 @@ dependencies = [ "chrono", "clap", "colored", - "crossterm", + "crossterm 0.27.0", "dirs", "futures", "fuzzy-matcher", @@ -2432,6 +2507,7 @@ checksum = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc" dependencies = [ "libc", "mio 0.8.11", + "mio 1.1.1", "signal-hook", ] diff --git a/Cargo.toml b/Cargo.toml index c026dbf..b30710e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,7 +39,7 @@ once_cell = "1.19" whoami = "2.1" # Modern CLI/TUI -reedline = "0.32" +reedline = "0.45" crossterm = "0.27" ratatui = "0.26" fuzzy-matcher = "0.3" diff --git a/src/input/completer.rs b/src/input/completer.rs index 02f527e..77ef0db 100644 --- a/src/input/completer.rs +++ b/src/input/completer.rs @@ -54,6 +54,7 @@ impl SelfwareCompleter { extra: None, span: Span::new(span_start, span_end), append_whitespace: true, + match_indices: None, }, ) }) @@ -91,6 +92,7 @@ impl SelfwareCompleter { extra: None, span: Span::new(span_start, span_end), append_whitespace: true, + match_indices: None, }, ) }) @@ -168,6 +170,7 @@ impl SelfwareCompleter { extra: None, span: Span::new(span_start, span_end), append_whitespace: !is_dir, + match_indices: None, }, )); } diff --git a/src/input/ghost_text.rs b/src/input/ghost_text.rs index de00f6c..12d0833 100644 --- a/src/input/ghost_text.rs +++ b/src/input/ghost_text.rs @@ -161,6 +161,7 @@ impl Hinter for GhostTextHinter { _pos: usize, history: &dyn History, _use_ansi_coloring: bool, + _cwd: &str, ) -> String { // First try pattern hints if let Some(hint) = self.find_pattern_hint(line) {