-// Copyright (c) 2008-2013 Kris Maglione <maglione.k@gmail.com>
+// Copyright (c) 2008-2014 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.
["toc", { start: "2" }],
body]);
- });
+ }, true);
},
initialize: function initialize() {
* @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;
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()));
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) {
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);
data.push(" ", name, '="', DOM.escapeHTML(value), '"');
}
- if (node.localName in empty)
+ if (empty.has(node.localName))
data.push(" />");
else {
data.push(">");
let { buffer, content, events } = modules;
let chromeFiles = {};
- let styles = {};
+ let styles = RealSet();
for (let [file, ] in Iterator(help.files)) {
let url = "dactyl://help/" + file;
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 + "}")