X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=common%2Fmodules%2Fhelp.jsm;h=cc66a595144dcb99b1222d3676457d28e4b1017c;hb=refs%2Fheads%2Fupstream;hp=f477411ed4b9acae873f5792a36b995f6cc14b04;hpb=354a049cce8415487552ce405cce167b7071fe1f;p=dactyl.git diff --git a/common/modules/help.jsm b/common/modules/help.jsm index f477411..cc66a59 100644 --- a/common/modules/help.jsm +++ b/common/modules/help.jsm @@ -1,4 +1,4 @@ -// Copyright (c) 2008-2013 Kris Maglione +// Copyright (c) 2008-2014 Kris Maglione // // This work is licensed for reuse under an MIT license. Details are // given in the LICENSE.txt file included with this file. @@ -201,7 +201,7 @@ var Help = Module("Help", { ["toc", { start: "2" }], body]); - }); + }, true); }, initialize: function initialize() { @@ -237,7 +237,7 @@ var Help = Module("Help", { * @returns {string} */ findHelp: function (topic, consolidated) { - if (!consolidated && Set.has(help.files, topic)) + if (!consolidated && hasOwnProperty(help.files, topic)) return topic; let items = modules.completion._runCompleter("help", topic, null, !!consolidated).items; let partialMatch = null; @@ -268,7 +268,7 @@ var Help = Module("Help", { if (!topic) { let helpFile = consolidated ? "all" : modules.options["helpfile"]; - if (Set.has(help.files, helpFile)) + if (hasOwnProperty(help.files, helpFile)) dactyl.open("dactyl://help/" + helpFile, { from: "help" }); else dactyl.echomsg(_("help.noFile", helpFile.quote())); @@ -304,7 +304,7 @@ var Help = Module("Help", { addURIEntry(file, "data:text/plain;charset=UTF-8," + encodeURI(data)); } - let empty = Set("area base basefont br col frame hr img input isindex link meta param" + let empty = RealSet("area base basefont br col frame hr img input isindex link meta param" .split(" ")); function fix(node) { switch (node.nodeType) { @@ -319,13 +319,13 @@ var Help = Module("Help", { for (let { name, value } in array.iterValues(node.attributes)) { if (name == "dactyl:highlight") { - Set.add(styles, value); + styles.add(value); name = "class"; value = "hl-" + value; } if (name == "href") { value = node.href || value; - if (value.indexOf("dactyl://help-tag/") == 0) { + if (value.startsWith("dactyl://help-tag/")) { try { let uri = services.io.newChannel(value, null, null).originalURI; value = uri.spec == value ? "javascript:;" : uri.path.substr(1); @@ -345,7 +345,7 @@ var Help = Module("Help", { data.push(" ", name, '="', DOM.escapeHTML(value), '"'); } - if (node.localName in empty) + if (empty.has(node.localName)) data.push(" />"); else { data.push(">"); @@ -362,7 +362,7 @@ var Help = Module("Help", { let { buffer, content, events } = modules; let chromeFiles = {}; - let styles = {}; + let styles = RealSet(); for (let [file, ] in Iterator(help.files)) { let url = "dactyl://help/" + file; @@ -380,7 +380,7 @@ var Help = Module("Help", { addDataEntry(file + ".xhtml", data.join("")); } - let data = [h for (h in highlight) if (Set.has(styles, h.class) || /^Help/.test(h.class))] + let data = [h for (h in highlight) if (styles.has(h.class) || /^Help/.test(h.class))] .map(h => h.selector .replace(/^\[.*?=(.*?)\]/, ".hl-$1") .replace(/html\|/g, "") + "\t" + "{" + h.cssText + "}")