From e568ccb94011146288b4bd63952be741b7500df5 Mon Sep 17 00:00:00 2001 From: Jonas Maier Date: Fri, 6 Mar 2026 12:51:07 +0100 Subject: completion somewhat works --- src/completion.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/completion.rs') diff --git a/src/completion.rs b/src/completion.rs index cb030a1..407a397 100644 --- a/src/completion.rs +++ b/src/completion.rs @@ -3,7 +3,7 @@ use std::fs; pub struct Suggestion { pub display: BString, - full: BString, + pub delta: BString, } fn _path_completion(mut prefix: BString) -> io::Result> { @@ -27,9 +27,16 @@ fn _path_completion(mut prefix: BString) -> io::Result> { let entry = entry?; let name = entry.file_name().as_bytes().to_vec(); if name.starts_with(&partial_entry) { + let mut delta = name[partial_entry.len()..].to_vec(); + + let is_dir = entry.metadata().map(|m| m.is_dir()).unwrap_or(false); + if is_dir { + delta.push(b'/'); + } + sugs.push(Suggestion { display: name, - full: entry.path().as_os_str().as_bytes().to_vec(), + delta, }); } } -- cgit v1.2.3