1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-02-12 01:45:46 +01:00

Merge the globals of multiple plugins of the same name.

This commit is contained in:
Kris Maglione
2011-08-12 17:42:08 -04:00
parent 5e86f4ed93
commit 500db37708

View File

@@ -182,20 +182,24 @@ var Contexts = Module("contexts", {
function (dir) dir.contains(file, true),
0);
let name = isPlugin ? file.getRelativeDescriptor(isPlugin).replace(File.PATH_SEP, "-")
: file.leafName;
let id = name.replace(/\.[^.]*$/, "").replace(/-([a-z])/g, function (m, n1) n1.toUpperCase());
let contextPath = file.path;
let self = Set.has(plugins, contextPath) && plugins.contexts[contextPath];
if (!self && isPlugin)
self = Set.has(plugins, id) && plugins[id];
if (self) {
if (Set.has(self, "onUnload"))
self.onUnload();
}
else {
let name = isPlugin ? file.getRelativeDescriptor(isPlugin).replace(File.PATH_SEP, "-")
: file.leafName;
self = args && !isArray(args) ? args : newContext.apply(null, args || [userContext]);
update(self, {
NAME: Const(name.replace(/\.[^.]*$/, "").replace(/-([a-z])/g, function (m, n1) n1.toUpperCase())),
NAME: Const(id),
PATH: Const(file.path),