1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-20 19:27:57 +01:00

Don't strip spaces from URLs in :open (grr!), poke 'urlsep' value a bit, moderately decode URLs in O/T/W.

This commit is contained in:
Kris Maglione
2011-05-05 14:58:35 -04:00
parent 47f90927d3
commit a4aa3b5bc4
3 changed files with 11 additions and 7 deletions

View File

@@ -200,9 +200,13 @@ var Browser = Module("browser", XPCOM(Ci.nsISupportsWeakReference, ModuleBase),
["o"], "Open one or more URLs",
function () { CommandExMode().open("open "); });
function decode(uri) statusline.losslessDecodeURI(uri)
.replace(/%20(?!(?:%20)*$)/g, " ")
.replace(RegExp(options["urlseparator"], "g"), encodeURIComponent);
mappings.add([modes.NORMAL], ["O"],
"Open one or more URLs, based on current location",
function () { CommandExMode().open("open " + buffer.uri.spec); });
function () { CommandExMode().open("open " + decode(buffer.uri.spec)); });
mappings.add([modes.NORMAL], ["t"],
"Open one or more URLs in a new tab",
@@ -210,7 +214,7 @@ var Browser = Module("browser", XPCOM(Ci.nsISupportsWeakReference, ModuleBase),
mappings.add([modes.NORMAL], ["T"],
"Open one or more URLs in a new tab, based on current location",
function () { CommandExMode().open("tabopen " + buffer.uri.spec); });
function () { CommandExMode().open("tabopen " + decode(buffer.uri.spec)); });
mappings.add([modes.NORMAL], ["w"],
"Open one or more URLs in a new window",
@@ -218,7 +222,7 @@ var Browser = Module("browser", XPCOM(Ci.nsISupportsWeakReference, ModuleBase),
mappings.add([modes.NORMAL], ["W"],
"Open one or more URLs in a new window, based on current location",
function () { CommandExMode().open("winopen " + buffer.uri.spec); });
function () { CommandExMode().open("winopen " + decode(buffer.uri.spec)); });
mappings.add([modes.NORMAL], ["~"],
"Open home directory",

View File

@@ -1752,7 +1752,7 @@ var Buffer = Module("buffer", {
function () {
let url = dactyl.clipboardRead();
dactyl.assert(url, _("error.clipboardEmpty"));
dactyl.open(url);
dactyl.open(url.replace(/\s+/g, ""));
});
mappings.add([modes.NORMAL], ["P", "<tab-open-clipboard-url>"],
@@ -1760,7 +1760,7 @@ var Buffer = Module("buffer", {
function () {
let url = dactyl.clipboardRead();
dactyl.assert(url, _("error.clipboardEmpty"));
dactyl.open(url, { from: "paste", where: dactyl.NEW_TAB });
dactyl.open(url.replace(/\s+/g, ""), { from: "paste", where: dactyl.NEW_TAB });
});
// reloading

View File

@@ -1307,7 +1307,7 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
// If it starts with a valid protocol, pass it through.
let proto = /^([-\w]+):/.exec(url);
if (proto && "@mozilla.org/network/protocol;1?name=" + proto[1] in Cc)
return url.replace(/\s+/g, "");
return url;
// Check for a matching search keyword.
let searchURL = this.has("bookmarks") && bookmarks.getSearchURL(url, false);