Skip to content

Commit 69b9ae1

Browse files
committed
Haxe PATH fixes
1 parent 4d2d3e9 commit 69b9ae1

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

‎External/Plugins/HaXeContext/Context.cs‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -230,21 +230,24 @@ public override void UserRefreshRequest()
230230
/// </summary>
231231
static public void SetHaxeEnvironment(string sdkPath)
232232
{
233+
sdkPath = sdkPath.TrimEnd(new char[] { '/', '\\' });
233234
if (currentEnv == sdkPath) return;
234-
currentEnv = sdkPath;
235235
Environment.SetEnvironmentVariable("HAXEPATH", sdkPath);
236236

237237
var neko = Path.GetFullPath(Path.Combine(sdkPath, "..\\neko"));
238238
if (Directory.Exists(neko))
239239
Environment.SetEnvironmentVariable("NEKO_INSTPATH", neko);
240240
else neko = null;
241241

242-
var path = Environment.GetEnvironmentVariable("PATH");
243-
path = Regex.Replace(path.Replace(currentSDK + ";", ""), "^[^;]+neko;", "", RegexOptions.IgnoreCase);
244-
path = Regex.Replace(path.Replace(currentSDK + ";", ""), "^[^;]+haxe;", "", RegexOptions.IgnoreCase);
245-
path = currentSDK.TrimEnd(new char[] { '/', '\\' }) + ";" + path;
242+
var path = ";" + Environment.GetEnvironmentVariable("PATH");
243+
if (currentEnv != null) path = path.Replace(currentEnv + ";", ";");
244+
path = Regex.Replace(path, ";[^;]+neko[/\\\\]*;", ";", RegexOptions.IgnoreCase);
245+
path = Regex.Replace(path, ";[^;]+haxe[/\\\\]*;", ";", RegexOptions.IgnoreCase);
246+
path = path.TrimStart(new char[] { ';' });
247+
path = sdkPath + ";" + path;
246248
if (neko != null) path = neko.TrimEnd(new char[] { '/', '\\' }) + ";" + path;
247249
Environment.SetEnvironmentVariable("PATH", path);
250+
currentEnv = sdkPath;
248251
}
249252

250253
/// <summary>

0 commit comments

Comments
 (0)