Преглед на файлове

allow relative path for outside of path (close #85)

Nicolas Cannasse преди 5 години
родител
ревизия
9fd6ed0159
променени са 1 файла, в които са добавени 13 реда и са изтрити 0 реда
  1. 13 0
      hide/Ide.hx

+ 13 - 0
hide/Ide.hx

@@ -749,6 +749,19 @@ class Ide {
 		path = path.split("\\").join("/");
 		path = path.split("\\").join("/");
 		if( StringTools.startsWith(path.toLowerCase(), resourceDir.toLowerCase()+"/") )
 		if( StringTools.startsWith(path.toLowerCase(), resourceDir.toLowerCase()+"/") )
 			return path.substr(resourceDir.length+1);
 			return path.substr(resourceDir.length+1);
+
+		var resParts = resourceDir.split("/");
+		var pathParts = path.split("/");
+		for( i in 0...resParts.length ) {
+			if( pathParts[i].toLowerCase() != resParts[i].toLowerCase() ) {
+				if( pathParts[i].charCodeAt(pathParts[i].length-1) == ":".code )
+					return path; // drive letter change
+				var newPath = pathParts.splice(i, pathParts.length - i);
+				for( k in 0...resParts.length - i )
+					newPath.unshift("..");
+				return newPath.join("/");
+			}
+		}
 		return path;
 		return path;
 	}
 	}