1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-20 10:47:59 +01:00

Show QuickMarked status in statusbar; add URL completion to :qmark.

This commit is contained in:
Kris Maglione
2010-09-24 11:39:12 -04:00
parent 5a71f24eaa
commit d9e1e9bb1f
3 changed files with 51 additions and 22 deletions

View File

@@ -14,6 +14,9 @@
const QuickMarks = Module("quickmarks", {
init: function () {
this._qmarks = storage.newMap("quickmarks", { store: true });
storage.addObserver("quickmarks", function () {
statusline.updateUrl();
}, window);
},
/**
@@ -29,6 +32,20 @@ const QuickMarks = Module("quickmarks", {
dactyl.echomsg({ domains: [util.getHost(location)], message: "Added Quick Mark '" + qmark + "': " + location }, 1);
},
/**
* Returns a list of QuickMarks associates with the given URL.
*
* @param {string} url The url to find QuickMarks for.
* @return {[string]}
*/
find: function find(url) {
let res = [];
for (let [k, v] in this._qmarks)
if (dactyl.stringToURLArray(v).some(function (u) String.replace(u, /#.*/, "") == url))
res.push(k);
return res;
},
/**
* Deletes the specified quickmarks. The <b>filter</b> is a list of
* quickmarks and ranges are supported. Eg. "ab c d e-k".
@@ -120,15 +137,21 @@ const QuickMarks = Module("quickmarks", {
commands.add(["qma[rk]"],
"Mark a URL with a letter for quick access",
function (args) {
let matches = args.string.match(/^([a-zA-Z0-9])(?:\s+(.+))?$/);
if (!matches)
if (!/^[a-zA-Z0-9]$/.test(args[0]))
dactyl.echoerr("E488: Trailing characters");
else if (!matches[2])
quickmarks.add(matches[1], buffer.URL);
else if (!args[1])
quickmarks.add(args[0], buffer.URL);
else
quickmarks.add(matches[1], matches[2]);
quickmarks.add(args[0], args[1]);
},
{ argCount: "+" });
{
argCount: "+",
completer: function (context, args) {
if (args.length == 2)
return completion.url(context);
},
literal: 1
});
commands.add(["qmarks"],
"Show all QuickMarks",