@@ -313,7 +313,7 @@ pub mod completers {
313313 return None;
314314 }
315315
316− //let is_dir = entry.file_type().map_or(false, |entry| entry.is_dir());
316+ let is_dir = entry.file_type().map_or(false, |entry| entry.is_dir());
317317
318318 let path = entry.path();
319319 let mut path = if is_tilde {
@@ -331,7 +331,12 @@ pub mod completers {
331331 path.push("");
332332 }
333333
334− let path = path.to_str().unwrap().to_owned();
334+ let path = if cfg!(windows) && is_dir {
335+ // Convert Windows style path separator to Unix style
336+ path.to_str().unwrap().replace("\\", "/")
337+ } else {
338+ path.to_str().unwrap().to_owned()
339+ };
335340 Some((end.clone(), Cow::from(path)))
336341 })
337342 }) // TODO: unwrap or skip