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

Make [[ and ]] work better.

This commit is contained in:
Kris Maglione
2014-07-30 00:06:46 -07:00
parent 42859c7633
commit b71b724ccb
2 changed files with 12 additions and 11 deletions

View File

@@ -302,7 +302,7 @@ var HintSession = Class("HintSession", CommandMode, {
rect.left > offsets.right || rect.right < offsets.left)
return false;
if (!rect.width || !rect.height)
if (!rect.width && !rect.height)
if (!Array.some(elem.childNodes, elem => elem instanceof Element
&& DOM(elem).style.float != "none"
&& isVisible(elem)))
@@ -1125,7 +1125,7 @@ var Hints = Module("hints", {
}, {
isVisible: function isVisible(elem, offScreen) {
let rect = elem.getBoundingClientRect();
if (!rect.width || !rect.height)
if (!rect.width && !rect.height)
if (!Array.some(elem.childNodes, elem => elem instanceof Element
&& DOM(elem).style.float != "none"
&& isVisible(elem)))

View File

@@ -481,10 +481,13 @@ var Buffer = Module("Buffer", {
let selector = path || options.get("hinttags").stringDefaultValue;
let relRev = ["next", "prev"];
let rev = relRev[1 - relRev.indexOf(rel)];
function followFrame(frame) {
function iter(elems) {
for (let i = 0; i < elems.length; i++)
if (elems[i].rel.toLowerCase() === rel || elems[i].rev.toLowerCase() === rel)
if (elems[i].rel.toLowerCase() === rel || elems[i].rev.toLowerCase() === rev)
yield elems[i];
}
@@ -492,18 +495,16 @@ var Buffer = Module("Buffer", {
for (let elem in iter(elems))
yield elem;
elems = frame.document.getElementsByTagName("a");
for (let elem in iter(elems))
yield elem;
function a(regexp, elem) regexp.test(elem.textContent) === regexp.result ||
Array.some(elem.childNodes,
child => (regexp.test(child.alt) === regexp.result));
function b(regexp, elem) regexp.test(elem.title) === regexp.result;
let res = Array.filter(frame.document.querySelectorAll(selector), Hints.isVisible);
for (let test in values([a, b]))
let res = Array.filter(frame.document.querySelectorAll(selector),
Hints.isVisible);
for (let test of [a, b])
for (let regexp in values(regexps))
for (let i in util.range(res.length, 0, -1))
if (test(regexp, res[i]))
@@ -2522,12 +2523,12 @@ var Buffer = Module("Buffer", {
options.add(["nextpattern"],
"Patterns to use when guessing the next page in a document sequence",
"regexplist", UTF8(/'^Next [>»]','^Next »','\bnext\b',^>$,^(>>|»)$,^(>|»),(>|»)$,'\bmore\b'/.source),
"regexplist", UTF8(/'^\s*Next Page\s*$','^\s*Next [>»]','\bnext\b',^>$,^(>>|»)$,^(>|»),(>|»)$,'\bmore\b'/.source),
{ regexpFlags: "i" });
options.add(["previouspattern"],
"Patterns to use when guessing the previous page in a document sequence",
"regexplist", UTF8(/'[<«] Prev$','« Prev$','\bprev(ious)?\b',^<$,^(<<|«)$,^(<|«),(<|«)$/.source),
"regexplist", UTF8(/'^\s*Prev(ious)? Page\s*$','[<«] Prev\s*$','\bprev(ious)?\b',^<$,^(<<|«)$,^(<|«),(<|«)$/.source),
{ regexpFlags: "i" });
options.add(["pageinfo", "pa"],