diff options
author | Kris Maglione <kris@vimperator.org> | 2010-09-17 06:21:33 -0400 |
---|---|---|
committer | Kris Maglione <kris@vimperator.org> | 2010-09-17 06:21:33 -0400 |
commit | 1557b70f4527c166c5e933c1e2804d511b40dbb9 (patch) | |
tree | 21536d2e6d4f6cf13efe4daf9e0d7d97340bfe80 /common/content/modules.js | |
parent | bfbb4b1313d00f7e5c6418d4976b87e07aa7ce5a (diff) | |
download | pentadactyl-1557b70f4527c166c5e933c1e2804d511b40dbb9.tar.gz |
Major documentation updates and formatting fixes, and many, many other changes thanks to an MQ glitch, including:
* Significant completion speed improvements
* Significantly improve startup speed, in large part by lazily
instantiating Options and Commands, lazily installing highlight
stylesheets, etc.
* Update logos and icons, fix atrocious about page
* Fix Teledactyl
* JavaScript completion now avoids accessing property values
* Add Option#persist to define which options are saved with :mkp
* Add new Dactyl component which holds add-on-specific configuration
information and removes need for separate components for each dactyl
host
* Several fixes for latest nightlies
* Significant code cleanup and many bug fixes
--HG--
rename : muttator/AUTHORS => teledactyl/AUTHORS
rename : muttator/Donors => teledactyl/Donors
rename : muttator/Makefile => teledactyl/Makefile
rename : muttator/NEWS => teledactyl/NEWS
rename : muttator/TODO => teledactyl/TODO
rename : muttator/chrome.manifest => teledactyl/chrome.manifest
rename : muttator/components/commandline-handler.js => teledactyl/components/commandline-handler.js
rename : muttator/components/protocols.js => teledactyl/components/protocols.js
rename : muttator/content/addressbook.js => teledactyl/content/addressbook.js
rename : muttator/content/compose/compose.js => teledactyl/content/compose/compose.js
rename : muttator/content/compose/compose.xul => teledactyl/content/compose/compose.xul
rename : muttator/content/compose/dactyl.dtd => teledactyl/content/compose/dactyl.dtd
rename : muttator/content/compose/dactyl.xul => teledactyl/content/compose/dactyl.xul
rename : muttator/content/config.js => teledactyl/content/config.js
rename : muttator/content/dactyl.dtd => teledactyl/content/dactyl.dtd
rename : muttator/content/logo.png => teledactyl/content/logo.png
rename : muttator/content/mail.js => teledactyl/content/mail.js
rename : muttator/content/muttator.xul => teledactyl/content/pentadactyl.xul
rename : muttator/contrib/vim/Makefile => teledactyl/contrib/vim/Makefile
rename : muttator/contrib/vim/ftdetect/muttator.vim => teledactyl/contrib/vim/ftdetect/muttator.vim
rename : muttator/contrib/vim/mkvimball.txt => teledactyl/contrib/vim/mkvimball.txt
rename : muttator/contrib/vim/syntax/muttator.vim => teledactyl/contrib/vim/syntax/muttator.vim
rename : muttator/install.rdf => teledactyl/install.rdf
rename : muttator/locale/en-US/Makefile => teledactyl/locale/en-US/Makefile
rename : muttator/locale/en-US/all.xml => teledactyl/locale/en-US/all.xml
rename : muttator/locale/en-US/autocommands.xml => teledactyl/locale/en-US/autocommands.xml
rename : muttator/locale/en-US/gui.xml => teledactyl/locale/en-US/gui.xml
rename : muttator/locale/en-US/intro.xml => teledactyl/locale/en-US/intro.xml
rename : muttator/skin/icon.png => teledactyl/skin/icon.png
Diffstat (limited to 'common/content/modules.js')
-rw-r--r-- | common/content/modules.js | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/common/content/modules.js b/common/content/modules.js index 5f9594a4..cfc58511 100644 --- a/common/content/modules.js +++ b/common/content/modules.js @@ -1,4 +1,4 @@ -// Copyright (c) 2009 by Kris Maglione <maglione.k@gmail.com> +// Copyright (c) 2009-2010 by Kris Maglione <maglione.k@gmail.com> // // This work is licensed for reuse under an MIT license. Details are // given in the LICENSE.txt file included with this file. @@ -15,7 +15,7 @@ const ModuleBase = Class("ModuleBase", { */ requires: [], - toString: function () "[module " + this.constructor.name + "]" + toString: function () "[module " + this.constructor.classname + "]" }); /** @@ -76,26 +76,29 @@ window.addEventListener("load", function onLoad() { window.removeEventListener("load", onLoad, false); Module.list.forEach(function(module) { - modules.__defineGetter__(module.name, function() { - delete modules[module.name]; - return load(module.name, null, Components.stack.caller); + modules.__defineGetter__(module.classname, function() { + delete modules[module.classname]; + return load(module.classname, null, Components.stack.caller); }); }); - function dump(str) window.dump(String.replace(str, /\n?$/, "\n").replace(/^/m, Config.prototype.name.toLowerCase() + ": ")); + function dump(str) window.dump(String.replace(str, /\n?$/, "\n").replace(/^/m, services.get("dactyl:").name + ": ")); const start = Date.now(); const deferredInit = { load: [] }; const seen = set(); const loaded = set(["init"]); + modules.loaded = loaded; function init(module) { function init(func, mod) - function () defmodule.time(module.name || module.constructor.name, mod, func, module, dactyl, modules, window); + function () defmodule.time(module.classname || module.constructor.classname, mod, + func, module, + dactyl, modules, window); - set.add(loaded, module.constructor.name); + set.add(loaded, module.constructor.classname); for (let [mod, func] in Iterator(module.INIT)) { if (mod in loaded) - init(func)(); + init(func, mod)(); else { deferredInit[mod] = deferredInit[mod] || []; deferredInit[mod].push(init(func, mod)); @@ -112,34 +115,35 @@ window.addEventListener("load", function onLoad() { } try { - if (module.name in loaded) + if (module.classname in loaded) return; - if (module.name in seen) + if (module.classname in seen) throw Error("Module dependency loop."); - set.add(seen, module.name); + set.add(seen, module.classname); for (let dep in values(module.requires)) - load(Module.constructors[dep], module.name); + load(Module.constructors[dep], module.classname); - defmodule.loadLog.push("Load" + (isstring(prereq) ? " " + prereq + " dependency: " : ": ") + module.name); + defmodule.loadLog.push("Load" + (isstring(prereq) ? " " + prereq + " dependency: " : ": ") + module.classname); if (frame && frame.filename) defmodule.loadLog.push(" from: " + frame.filename + ":" + frame.lineNumber); - delete modules[module.name]; - modules[module.name] = defmodule.time(module.name, "init", module); + delete modules[module.classname]; + modules[module.classname] = defmodule.time(module.classname, "init", module); - init(modules[module.name]); - for (let [, fn] in iter(deferredInit[module.name] || [])) + init(modules[module.classname]); + for (let [, fn] in iter(deferredInit[module.classname] || [])) fn(); } catch (e) { - dump("Loading " + (module && module.name) + ": " + e + "\n" + (e.stack || "")); + dump("Loading " + (module && module.classname) + ": " + e + "\n" + (e.stack || "")); } - return modules[module.name]; + return modules[module.classname]; } Module.list.forEach(load); deferredInit["load"].forEach(call); + modules.times = update({}, defmodule.times); dump("Loaded in " + (Date.now() - start) + "ms"); }, false); |