windows: Improve file_finder to support match with unix style path (#12357)
Release Notes: - Improved file_finder to support match with Unix style path. Sometimes we may get the Unix style path string, for example the result of `git status`: ```bash $ git status On branch improve-file-finder-match-unix-paths Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: crates/file_finder/src/file_finder.rs ``` For example, from GitHub page: <img width="760" alt="image" src="https://github.com/zed-industries/zed/assets/5518/c6fe8d8a-839e-4eef-a162-43b1dde09593"> If we copy that path to file_finder, it will not match any files on Windows. ## Before <img width="699" alt="屏幕截图 2024-05-28 001037" src="https://github.com/zed-industries/zed/assets/5518/2d2d729e-7d27-421b-9a38-cfe4e53cc033"> ## After Use Unix style path: <img width="689" alt="屏幕截图 2024-05-28 001150" src="https://github.com/zed-industries/zed/assets/5518/e82dc8d6-bd6c-4b78-bd91-5b5210da73c4"> Use Windows style path: <img width="629" alt="屏幕截图 2024-05-28 001302" src="https://github.com/zed-industries/zed/assets/5518/4892019e-b2f4-41aa-bbf7-2f5f8af7aafa">
This commit is contained in:
parent
97abf35529
commit
d501a877a0
6 changed files with 79 additions and 38 deletions
|
@ -55,7 +55,7 @@ impl OpenRequest {
|
|||
fn parse_file_path(&mut self, file: &str) {
|
||||
if let Some(decoded) = urlencoding::decode(file).log_err() {
|
||||
if let Some(path_buf) =
|
||||
PathLikeWithPosition::parse_str(&decoded, |s| PathBuf::try_from(s)).log_err()
|
||||
PathLikeWithPosition::parse_str(&decoded, |_, s| PathBuf::try_from(s)).log_err()
|
||||
{
|
||||
self.open_paths.push(path_buf)
|
||||
}
|
||||
|
@ -295,7 +295,7 @@ pub async fn handle_cli_connection(
|
|||
.map(|path_with_position_string| {
|
||||
PathLikeWithPosition::parse_str(
|
||||
&path_with_position_string,
|
||||
|path_str| {
|
||||
|_, path_str| {
|
||||
Ok::<_, std::convert::Infallible>(
|
||||
Path::new(path_str).to_path_buf(),
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue