Make the path-separator check Windows-only

This commit is contained in:
David Peter 2021-08-08 12:02:57 +02:00 committed by David Peter
parent 515e0ee469
commit d9697d1486
1 changed files with 11 additions and 8 deletions

View File

@ -177,18 +177,21 @@ fn run() -> Result<ExitCode> {
.value_of("path-separator")
.map_or_else(filesystem::default_path_separator, |s| Some(s.to_owned()));
if let Some(ref sep) = path_separator {
if sep.len() > 1 {
return Err(anyhow!(
"A path separator must be exactly one byte, but \
#[cfg(windows)]
{
if let Some(ref sep) = path_separator {
if sep.len() > 1 {
return Err(anyhow!(
"A path separator must be exactly one byte, but \
the given separator is {} bytes: '{}'.\n\
In some shells on Windows, '/' is automatically \
expanded. Try to use '//' instead.",
sep.len(),
sep
));
sep.len(),
sep
));
};
};
};
}
let ls_colors = if colored_output {
Some(LsColors::from_env().unwrap_or_else(|| LsColors::from_string(DEFAULT_LS_COLORS)))