Skip to content

Commit c156bdf

Browse files
committed
I will cry
1 parent a7b8e2e commit c156bdf

File tree

2 files changed

+20
-12
lines changed

2 files changed

+20
-12
lines changed

src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
use indexmap::IndexMap;
12
use std::collections::HashMap;
23
use std::fs;
34
use std::io::Write as _;
45
use std::path::PathBuf;
56
use std::process::{Command, Stdio};
67
use std::sync::{Mutex, OnceLock};
7-
use indexmap::IndexMap;
88
use thiserror::Error;
99

1010
const VSWHERE_URL: &str =

src/main.rs

+19-11
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,25 @@ use std::{
55
};
66

77
fn unixify_path(path: &Path) -> String {
8-
let p = path.components()
9-
.filter_map(|c| Some(match c {
10-
std::path::Component::Prefix(prefix_component) => match prefix_component.kind() {
11-
Prefix::Disk(os_str) => format!("/{}", os_str as char).to_lowercase(),
12-
_ => format!("{}", prefix_component.as_os_str().to_str().unwrap()),
13-
},
14-
std::path::Component::RootDir => return None,
15-
std::path::Component::CurDir => ".".to_string(),
16-
std::path::Component::ParentDir => "..".to_string(),
17-
std::path::Component::Normal(os_str) => os_str.to_str().unwrap().replace(" ", "\\ "),
18-
}))
8+
let p = path
9+
.components()
10+
.filter_map(|c| {
11+
Some(match c {
12+
std::path::Component::Prefix(prefix_component) => match prefix_component.kind() {
13+
Prefix::Disk(os_str) => format!("/{}", os_str as char).to_lowercase(),
14+
_ => format!("{}", prefix_component.as_os_str().to_str().unwrap()),
15+
},
16+
std::path::Component::RootDir => return None,
17+
std::path::Component::CurDir => ".".to_string(),
18+
std::path::Component::ParentDir => "..".to_string(),
19+
std::path::Component::Normal(os_str) => os_str
20+
.to_str()
21+
.unwrap()
22+
.replace(" ", "\\ ")
23+
.replace('(', "\\(")
24+
.replace(')', "\\)"),
25+
})
26+
})
1927
.collect::<Vec<_>>();
2028
// eprintln!("P: {:?}", p);
2129
p.join("/")

0 commit comments

Comments
 (0)