Use the OS path separator instead of / (#10000)

This commit is contained in:
Mo 2024-03-25 16:59:33 +01:00 committed by GitHub
parent 614a744d24
commit 1d1087822a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3,7 +3,7 @@ pub use etcetera::home_dir;
use std::{ use std::{
borrow::Cow, borrow::Cow,
ffi::OsString, ffi::OsString,
path::{Component, Path, PathBuf}, path::{Component, Path, PathBuf, MAIN_SEPARATOR_STR},
}; };
use crate::env::current_working_dir; use crate::env::current_working_dir;
@ -18,7 +18,8 @@ where
if let Ok(home) = home_dir() { if let Ok(home) = home_dir() {
if let Ok(stripped) = path.strip_prefix(&home) { if let Ok(stripped) = path.strip_prefix(&home) {
let mut path = OsString::with_capacity(2 + stripped.as_os_str().len()); let mut path = OsString::with_capacity(2 + stripped.as_os_str().len());
path.push("~/"); path.push("~");
path.push(MAIN_SEPARATOR_STR);
path.push(stripped); path.push(stripped);
return Cow::Owned(PathBuf::from(path)); return Cow::Owned(PathBuf::from(path));
} }