1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-21 17:57:59 +01:00

translate ~ to HOME on Windows for use with :source

This commit is contained in:
Doug Kearns
2007-06-10 11:16:32 +00:00
parent b845a0f5cc
commit ae62af34c1

View File

@@ -1594,6 +1594,33 @@ function source(filename, silent)
if (!filename) if (!filename)
return; return;
function getEnv(variable)
{
var environment = Components.classes["@mozilla.org/process/environment;1"]
.getService(Components.interfaces.nsIEnvironment);
return environment.get(variable);
}
// convert "~" to HOME on Windows
if (navigator.platform == "Win32")
{
// TODO: proper pathname separator translation like Vim
filename = filename.replace('/', '\\', 'g');
var matches = filename.match(/^~(.*)/)
if (matches)
{
var home_dir = getEnv("HOME");
if (!home_dir)
home_dir = getEnv("USERPROFILE");
if (!home_dir)
{
// TODO: are these guaranteed to be set?
home_dir = getEnv("HOMEDRIVE") + getEnv("HOMEPATH");
}
filename = home_dir + "\\" + matches[1];
}
}
try try
{ {
var fd = fopen(filename, "<"); var fd = fopen(filename, "<");