Use try_from_bytes in handle_file_urls (#7652)

白山風露 created

Reduce build error on Windows.

Release Notes:

- N/A

Change summary

crates/zed/src/open_listener.rs | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)

Detailed changes

crates/zed/src/open_listener.rs 🔗

@@ -11,15 +11,13 @@ use gpui::{AppContext, AsyncAppContext, Global};
 use itertools::Itertools;
 use language::{Bias, Point};
 use release_channel::parse_zed_link;
-use std::ffi::OsStr;
-use std::os::unix::prelude::OsStrExt;
 use std::path::Path;
 use std::sync::atomic::Ordering;
 use std::sync::Arc;
 use std::thread;
 use std::time::Duration;
 use std::{path::PathBuf, sync::atomic::AtomicBool};
-use util::paths::PathLikeWithPosition;
+use util::paths::{PathExt, PathLikeWithPosition};
 use util::ResultExt;
 use workspace::AppState;
 
@@ -129,9 +127,9 @@ impl OpenListener {
         let paths: Vec<_> = urls
             .iter()
             .flat_map(|url| url.strip_prefix("file://"))
-            .map(|url| {
+            .flat_map(|url| {
                 let decoded = urlencoding::decode_binary(url.as_bytes());
-                PathBuf::from(OsStr::from_bytes(decoded.as_ref()))
+                PathBuf::try_from_bytes(decoded.as_ref()).log_err()
             })
             .collect();