Quellcode durchsuchen

Merge pull request #352 from daviessm/fix_windows_hyperlinks

fix(hyperlink): fix hyperlinks on Windows
Preston Thorpe vor 2 Jahren
Ursprung
Commit
8dcd795a15
1 geänderte Dateien mit 9 neuen und 0 gelöschten Zeilen
  1. 9 0
      src/output/file_name.rs

+ 9 - 0
src/output/file_name.rs

@@ -351,6 +351,7 @@ impl<'a, 'dir, C: Colours> FileName<'a, 'dir, C> {
         let mut display_hyperlink = false;
         if self.options.embed_hyperlinks == EmbedHyperlinks::On {
             if let Some(abs_path) = self.file.absolute_path.as_ref().and_then(|p| p.as_os_str().to_str()) {
+                #[cfg(not(target_os = "windows"))]
                 bits.insert(0, ANSIString::from(format!(
                     "{}file://{}{}{}",
                     HYPERLINK_START,
@@ -358,6 +359,14 @@ impl<'a, 'dir, C: Colours> FileName<'a, 'dir, C> {
                     urlencoding::encode(abs_path).replace("%2F", "/"),
                     HYPERLINK_END,
                 )));
+                #[cfg(target_os = "windows")]
+                bits.insert(0, ANSIString::from(format!(
+                    "{}file://{}{}",
+                    HYPERLINK_START,
+                    abs_path.replace("\\\\?\\", ""),
+                    HYPERLINK_END,
+                )));
+
                 display_hyperlink = true;
             }
         }