// Copyright (c) 2006-2008 by Martin Stubenschrott <stubenschrott@vimperator.org>
// Copyright (c) 2007-2012 by Doug Kearns <dougkearns@gmail.com>
-// Copyright (c) 2008-2012 Kris Maglione <maglione.k@gmail.com>
+// Copyright (c) 2008-2013 Kris Maglione <maglione.k@gmail.com>
// Some code based on Venkman
//
// This work is licensed for reuse under an MIT license. Details are
*/
getRuntimeDirectories: function getRuntimeDirectories(name) {
return modules.options.get("runtimepath").files
- .map(function (dir) dir.child(name))
- .filter(function (dir) dir.exists() && dir.isDirectory() && dir.isReadable());
+ .map(dir => dir.child(name))
+ .filter(dir => (dir.exists() && dir.isDirectory() && dir.isReadable()));
},
// FIXME: multiple paths?
/**
* Sets the current working directory.
*
- * @param {string} newDir The new CWD. This may be a relative or
+ * @param {File|string} newDir The new CWD. This may be a relative or
* absolute path and is expanded by {@link #expandPath}.
+ * @optional
+ * @default = "~"
*/
- set cwd(newDir) {
- newDir = newDir && newDir.path || newDir || "~";
+ set cwd(newDir = "~") {
+ newDir = newDir.path || newDir;
if (newDir == "-") {
util.assert(this._oldcwd != null, _("io.noPrevDir"));
*/
File: Class.Memoize(function () let (io = this)
Class("File", File, {
- init: function init(path, checkCWD)
- init.supercall(this, path, (arguments.length < 2 || checkCWD) && io.cwd)
+ init: function init(path, checkCWD=true)
+ init.supercall(this, path, checkCWD && io.cwd)
})),
/**
function async(status) {
let output = stdout.read();
- [stdin, stdout, cmd].forEach(function (f) f.exists() && f.remove(false));
+ for (let f of [stdin, stdout, cmd])
+ if (f.exists())
+ f.remove(false);
callback(result(status, output));
}
}
finally {
if (!checked || res !== true)
- args.forEach(function (f) f.remove(false));
+ args.forEach(f => { f.remove(false); });
}
return res;
}
lines.last.push(item, sep);
}
lines.last.pop();
- return lines.map(function (l) l.join("")).join("\n").replace(/\s+\n/gm, "\n");
+ return lines.map(l => l.join(""))
+ .join("\n")
+ .replace(/\s+\n/gm, "\n");
}//}}}
let params = { //{{{
_("command.run.noPrevious"));
arg = arg.replace(/(\\)*!/g,
- function (m) /^\\(\\\\)*!$/.test(m) ? m.replace("\\!", "!") : m.replace("!", io._lastRunCommand)
- );
+ m => (/^\\(\\\\)*!$/.test(m) ? m.replace("\\!", "!")
+ : m.replace("!", io._lastRunCommand)));
}
io._lastRunCommand = arg;
}
}
};
- context.generate = function () iter(services.charset.getDecoderList());
+ context.generate = () => iter(services.charset.getDecoderList());
};
completion.directory = function directory(context, full) {
this.file(context, full);
- context.filters.push(function (item) item.isdir);
+ context.filters.push(item => item.isdir);
};
completion.environment = function environment(context) {
context.title = ["Environment Variable", "Value"];
- context.generate = function ()
+ context.generate = () =>
io.system(config.OS.isWindows ? "set" : "env")
.output.split("\n")
- .filter(function (line) line.indexOf("=") > 0)
- .map(function (line) line.match(/([^=]+)=(.*)/).slice(1));
+ .filter(line => line.indexOf("=") > 0)
+ .map(line => line.match(/([^=]+)=(.*)/).slice(1));
};
completion.file = function file(context, full, dir) {
icon: function (f) this.isdir ? "resource://gre/res/html/folder.png"
: "moz-icon://" + f.leafName
};
- context.compare = function (a, b) b.isdir - a.isdir || String.localeCompare(a.text, b.text);
+ context.compare = (a, b) => b.isdir - a.isdir || String.localeCompare(a.text, b.text);
if (modules.options["wildignore"])
- context.filters.push(function (item) !modules.options.get("wildignore").getKey(item.path));
+ context.filters.push(item => !modules.options.get("wildignore").getKey(item.path));
// context.background = true;
context.key = dir;
if (!match.path) {
context.key = match.proto;
context.advance(match.proto.length);
- context.generate = function () config.chromePackages.map(function (p) [p, match.proto + p + "/"]);
+ context.generate = () => config.chromePackages.map(p => [p, match.proto + p + "/"]);
}
else if (match.scheme === "chrome") {
context.key = match.prefix;
"List of directories searched when executing :cd",
"stringlist", ["."].concat(services.environment.get("CDPATH").split(/[:;]/).filter(util.identity)).join(","),
{
- get files() this.value.map(function (path) File(path, modules.io.cwd))
- .filter(function (dir) dir.exists()),
+ get files() this.value.map(path => File(path, modules.io.cwd))
+ .filter(dir => dir.exists()),
setter: function (value) File.expandPathList(value)
});
"List of directories searched for runtime files",
"stringlist", IO.runtimePath,
{
- get files() this.value.map(function (path) File(path, modules.io.cwd))
- .filter(function (dir) dir.exists())
+ get files() this.value.map(path => File(path, modules.io.cwd))
+ .filter(dir => dir.exists())
});
options.add(["shell", "sh"],