mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2026-02-08 15:35:46 +01:00
Deal with echoed messages being cleared by scroll event. Closes issue #374.
This commit is contained in:
@@ -93,10 +93,8 @@ var RangeFinder = Module("rangefinder", {
|
||||
find: function (pattern, backwards) {
|
||||
let str = this.bootstrap(pattern, backwards);
|
||||
if (!this.rangeFind.find(str))
|
||||
this.timeout(function () {
|
||||
this.dactyl.echoerr("E486: Pattern not found: " + pattern,
|
||||
this.commandline.FORCE_SINGLELINE);
|
||||
});
|
||||
this.dactyl.echoerr("E486: Pattern not found: " + pattern,
|
||||
this.commandline.FORCE_SINGLELINE);
|
||||
|
||||
return this.rangeFind.found;
|
||||
},
|
||||
@@ -107,15 +105,12 @@ var RangeFinder = Module("rangefinder", {
|
||||
else if (!this.rangeFind.find(null, reverse))
|
||||
this.dactyl.echoerr("E486: Pattern not found: " + this.lastFindPattern,
|
||||
this.commandline.FORCE_SINGLELINE);
|
||||
else if (this.rangeFind.wrapped)
|
||||
// hack needed, because wrapping causes a "scroll" event which
|
||||
// clears our command line
|
||||
this.timeout(function () {
|
||||
let msg = this.rangeFind.backward ? "find hit TOP, continuing at BOTTOM"
|
||||
: "find hit BOTTOM, continuing at TOP";
|
||||
this.commandline.echo(msg, "WarningMsg", this.commandline.APPEND_TO_MESSAGES
|
||||
| this.commandline.FORCE_SINGLELINE);
|
||||
}, 0);
|
||||
else if (this.rangeFind.wrapped) {
|
||||
let msg = this.rangeFind.backward ? "find hit TOP, continuing at BOTTOM"
|
||||
: "find hit BOTTOM, continuing at TOP";
|
||||
this.commandline.echo(msg, "WarningMsg", this.commandline.APPEND_TO_MESSAGES
|
||||
| this.commandline.FORCE_SINGLELINE);
|
||||
}
|
||||
else
|
||||
this.commandline.echo((this.rangeFind.backward ? "?" : "/") + this.lastFindPattern,
|
||||
"Normal", this.commandline.FORCE_SINGLELINE);
|
||||
|
||||
@@ -60,6 +60,9 @@ var Option = Class("Option", {
|
||||
if (this.type in Option.stringify)
|
||||
this.stringify = Option.stringify[this.type];
|
||||
|
||||
if (this.type in Option.domains)
|
||||
this.domains = Option.domains[this.type];
|
||||
|
||||
if (this.type in Option.testValues)
|
||||
this.testValues = Option.testValues[this.type];
|
||||
|
||||
@@ -331,7 +334,7 @@ var Option = Class("Option", {
|
||||
* references to a given domain from the given values.
|
||||
*/
|
||||
filterDomain: function filterDomain(host, values)
|
||||
Array.filter(values, function (val) !util.isSubdomain(val, host)),
|
||||
Array.filter(values, function (val) !this.domains([val]).some(function (val) util.isSubdomain(val, host)), this),
|
||||
|
||||
/**
|
||||
* @property {value} The option's default value. This value will be used
|
||||
@@ -471,6 +474,11 @@ var Option = Class("Option", {
|
||||
get sitemap() this.regexplist
|
||||
},
|
||||
|
||||
domains: {
|
||||
sitelist: function (vals) array.compact(vals.map(function (site) util.getHost(site.filter))),
|
||||
get sitemap() this.sitelist
|
||||
},
|
||||
|
||||
stringify: {
|
||||
charlist: function (vals) Commands.quote(vals.join("")),
|
||||
|
||||
|
||||
Reference in New Issue
Block a user