mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-20 15:37:59 +01:00
Death to E4X and stuff. Also fix some bugs.
This commit is contained in:
@@ -17,11 +17,8 @@ Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
|
||||
function init() {
|
||||
Cu.import("resource://dactyl/bootstrap.jsm");
|
||||
if (!JSMLoader.initialized)
|
||||
JSMLoader.init();
|
||||
JSMLoader.load("base.jsm", global);
|
||||
require(global, "config");
|
||||
require(global, "util");
|
||||
require("config", global);
|
||||
require("util", global);
|
||||
}
|
||||
|
||||
function CommandLineHandler() {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
//
|
||||
// This work is licensed for reuse under an MIT license. Details are
|
||||
// given in the LICENSE.txt file included with this file.
|
||||
/* use strict */
|
||||
"use strict";
|
||||
|
||||
/** @scope modules */
|
||||
|
||||
@@ -213,18 +213,18 @@ var Abbreviations = Module("abbreviations", {
|
||||
nonkeyword: /[ "']/
|
||||
};
|
||||
|
||||
this._match = util.regexp(<><![CDATA[
|
||||
this._match = util.regexp(literal(/*
|
||||
(^ | \s | <nonkeyword>) (<keyword>+ )$ | // full-id
|
||||
(^ | \s | <keyword> ) (<nonkeyword>+ <keyword>)$ | // end-id
|
||||
(^ | \s ) (\S* <nonkeyword> )$ // non-id
|
||||
]]></>, "x", params);
|
||||
this._check = util.regexp(<><![CDATA[
|
||||
*/), "x", params);
|
||||
this._check = util.regexp(literal(/*
|
||||
^ (?:
|
||||
<keyword>+ | // full-id
|
||||
<nonkeyword>+ <keyword> | // end-id
|
||||
\S* <nonkeyword> // non-id
|
||||
) $
|
||||
]]></>, "x", params);
|
||||
*/), "x", params);
|
||||
},
|
||||
|
||||
get: deprecated("group.abbrevs.get", { get: function get() this.user.closure.get }),
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
//
|
||||
// This work is licensed for reuse under an MIT license. Details are
|
||||
// given in the LICENSE.txt file included with this file.
|
||||
/* use strict */
|
||||
"use strict";
|
||||
|
||||
/** @scope modules */
|
||||
|
||||
@@ -757,8 +757,10 @@ var Mappings = Module("mappings", {
|
||||
yield {
|
||||
name: name,
|
||||
columns: [
|
||||
i === 0 ? "" : <span highlight="Object" style="padding-right: 1em;">{mode.name}</span>,
|
||||
hive == mappings.builtin ? "" : <span highlight="Object" style="padding-right: 1em;">{hive.name}</span>
|
||||
i === 0 ? "" : ["span", { highlight: "Object", style: "padding-right: 1em;" },
|
||||
mode.name],
|
||||
hive == mappings.builtin ? "" : ["span", { highlight: "Object", style: "padding-right: 1em;" },
|
||||
hive.name]
|
||||
],
|
||||
__proto__: map
|
||||
};
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
//
|
||||
// This work is licensed for reuse under an MIT license. Details are
|
||||
// given in the LICENSE.txt file included with this file.
|
||||
/* use strict */
|
||||
"use strict";
|
||||
|
||||
/** @scope modules */
|
||||
|
||||
|
||||
@@ -154,6 +154,7 @@ this.lazyRequire("cache", ["cache"]);
|
||||
this.lazyRequire("config", ["config"]);
|
||||
this.lazyRequire("messages", ["_", "Messages"]);
|
||||
this.lazyRequire("services", ["services"]);
|
||||
this.lazyRequire("storage", ["File"]);
|
||||
this.lazyRequire("util", ["FailedAssertion", "util"]);
|
||||
|
||||
function literal(/* comment */) {
|
||||
@@ -161,7 +162,7 @@ function literal(/* comment */) {
|
||||
let file = caller.filename.replace(/.* -> /, "");
|
||||
let key = "literal:" + file + ":" + caller.line;
|
||||
|
||||
let source = util.httpGet(file).responseText;
|
||||
let source = File.readURL(file);
|
||||
|
||||
let match = RegExp("(?:.*\\n){" + (caller.lineNumber - 1) + "}" +
|
||||
".*literal\\(/\\*([^]*?)\\*/\\)").exec(source);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
//
|
||||
// This work is licensed for reuse under an MIT license. Details are
|
||||
// given in the LICENSE.txt file included with this file.
|
||||
/* use strict */
|
||||
"use strict";
|
||||
|
||||
try {
|
||||
|
||||
|
||||
@@ -660,6 +660,7 @@ var CompletionContext = Class("CompletionContext", {
|
||||
}
|
||||
catch (e) {
|
||||
util.reportError(e);
|
||||
util.dump(util.prettifyJSON(this.createRow(this.items[idx]), null, true));
|
||||
cache[idx] = DOM.fromJSON(
|
||||
["div", { highlight: "CompItem", style: "white-space: nowrap" },
|
||||
["li", { highlight: "CompResult" }, this.text + "\u00a0"],
|
||||
|
||||
@@ -422,9 +422,9 @@ var ConfigBase = Class("ConfigBase", {
|
||||
"xmlns.html": "http://www.w3.org/1999/xhtml",
|
||||
"xmlns.xul": "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",
|
||||
|
||||
"tag.command-line": <link topic="command-line">command line</link>,
|
||||
"tag.status-line": <link topic="status-line">status line</link>,
|
||||
"mode.command-line": <link topic="command-line-mode">Command Line</link>,
|
||||
"tag.command-line": ["link", { xmlns: "dactyl", topic: "command-line" }, "command line"],
|
||||
"tag.status-line": ["link", { xmlns: "dactyl", topic: "status-line" }, "status line"],
|
||||
"mode.command-line": ["link", { xmlns: "dactyl", topic: "command-line-mode" }, "Command Line"]
|
||||
},
|
||||
|
||||
dtdStrings: [
|
||||
|
||||
@@ -1643,6 +1643,14 @@ var DOM = Class("DOM", {
|
||||
}
|
||||
}),
|
||||
|
||||
toXML: function toXML(xml) {
|
||||
// Meh. For now.
|
||||
let doc = services.XMLDocument();
|
||||
let node = this.fromJSON(xml, doc);
|
||||
return services.XMLSerializer()
|
||||
.serializeToString(node);
|
||||
},
|
||||
|
||||
parseNamespace: function parseNamespace(name) {
|
||||
var m = /^(?:(.*):)?(.*)$/.exec(name);
|
||||
return [DOM.fromJSON.namespaces[m[1]], m[2]];
|
||||
|
||||
@@ -107,6 +107,7 @@ var Services = Module("Services", {
|
||||
this.addClass("Xmlhttp", "@mozilla.org/xmlextras/xmlhttprequest;1", [], "open");
|
||||
this.addClass("XPathEvaluator", "@mozilla.org/dom/xpath-evaluator;1", "nsIDOMXPathEvaluator");
|
||||
this.addClass("XMLDocument", "@mozilla.org/xml/xml-document;1", ["nsIDOMXMLDocument", "nsIDOMNodeSelector"]);
|
||||
this.addClass("XMLSerializer","@mozilla.org/xmlextras/xmlserializer;1", ["nsIDOMSerializer"]);
|
||||
this.addClass("ZipReader", "@mozilla.org/libjar/zip-reader;1", "nsIZipReader", "open", false);
|
||||
this.addClass("ZipWriter", "@mozilla.org/zipwriter;1", "nsIZipWriter", "open", false);
|
||||
},
|
||||
|
||||
@@ -714,15 +714,11 @@ var Template_ = Module("Template_", {
|
||||
arg = String(arg).replace("/* use strict */ \n", "/* use strict */ ");
|
||||
return arg;
|
||||
case "undefined":
|
||||
return ["span", { highlight: "Null" }, arg];
|
||||
return ["span", { highlight: "Null" }, "undefined"];
|
||||
case "object":
|
||||
if (arg instanceof Ci.nsIDOMElement)
|
||||
return util.objectToString(arg, !bw);
|
||||
|
||||
// for java packages value.toString() would crash so badly
|
||||
// that we cannot even try/catch it
|
||||
if (/^\[JavaPackage.*\]$/.test(arg))
|
||||
return "[JavaPackage]";
|
||||
if (processStrings && false)
|
||||
str = template._highlightFilter(str, "\n",
|
||||
function () ["span", { highlight: "NonText" },
|
||||
|
||||
@@ -902,12 +902,21 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
|
||||
* for *obj*.
|
||||
*/
|
||||
makeDTD: let (map = { "'": "'", '"': """, "%": "%", "&": "&", "<": "<", ">": ">" })
|
||||
function makeDTD(obj) iter(obj)
|
||||
.map(function ([k, v]) ["<!ENTITY ", k, " '", String.replace(v == null ? "null" : typeof v == "xml" ? v.toXMLString() : v,
|
||||
typeof v == "xml" ? /['%]/g : /['"%&<>]/g,
|
||||
function (m) map[m]),
|
||||
"'>"].join(""))
|
||||
.join("\n"),
|
||||
function makeDTD(obj) {
|
||||
function escape(val) {
|
||||
let isDOM = DOM.isJSONXML(val);
|
||||
return String.replace(val == null ? "null" :
|
||||
isDOM ? DOM.toXML(val)
|
||||
: val,
|
||||
isDOM ? /['%]/g
|
||||
: /['"%&<>]/g,
|
||||
function (m) map[m]);
|
||||
}
|
||||
|
||||
return iter(obj).map(function ([k, v])
|
||||
["<!ENTITY ", k, " '", escape(v), "'>"].join(""))
|
||||
.join("\n");
|
||||
},
|
||||
|
||||
/**
|
||||
* Converts a URI string into a URI object.
|
||||
|
||||
Reference in New Issue
Block a user