Explorar o código

Fix parsing of C# files with spaces in the path

Ignacio Etcheverry %!s(int64=5) %!d(string=hai) anos
pai
achega
9e8a5e4b5a

+ 4 - 3
modules/mono/editor/GodotTools/GodotTools.Core/StringExtensions.cs

@@ -14,10 +14,11 @@ namespace GodotTools.Core
             if (Path.DirectorySeparatorChar == '\\')
             if (Path.DirectorySeparatorChar == '\\')
                 dir = dir.Replace("/", "\\") + "\\";
                 dir = dir.Replace("/", "\\") + "\\";
 
 
-            Uri fullPath = new Uri(Path.GetFullPath(path), UriKind.Absolute);
-            Uri relRoot = new Uri(Path.GetFullPath(dir), UriKind.Absolute);
+            var fullPath = new Uri(Path.GetFullPath(path), UriKind.Absolute);
+            var relRoot = new Uri(Path.GetFullPath(dir), UriKind.Absolute);
 
 
-            return relRoot.MakeRelativeUri(fullPath).ToString();
+            // MakeRelativeUri converts spaces to %20, hence why we need UnescapeDataString
+            return Uri.UnescapeDataString(relRoot.MakeRelativeUri(fullPath).ToString());
         }
         }
 
 
         public static string NormalizePath(this string path)
         public static string NormalizePath(this string path)