mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-22 03:47:58 +01:00
Fix some option validators. Closes issue #78.
This commit is contained in:
@@ -597,8 +597,12 @@ const CompletionContext = Class("CompletionContext", {
|
||||
|
||||
if (!context.autoComplete && !context.tabPressed && context.editor)
|
||||
context.waitingForTab = true;
|
||||
else if (completer)
|
||||
return completer.apply(self || this, [context].concat(Array.slice(arguments, fork.length)));
|
||||
else if (completer) {
|
||||
let res = completer.apply(self || this, [context].concat(Array.slice(arguments, fork.length)));
|
||||
if (res && !isArray(res) && !isArray(res.__proto__))
|
||||
return [k for (k in res)];
|
||||
return res;
|
||||
}
|
||||
if (completer)
|
||||
return null;
|
||||
return context;
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
/** @scope modules */
|
||||
|
||||
let ValueError = Class("ValueError", Error);
|
||||
|
||||
// do NOT create instances of this class yourself, use the helper method
|
||||
// options.add() instead
|
||||
/**
|
||||
@@ -227,6 +229,8 @@ const Option = Class("Option", {
|
||||
return this.invalidArgument(str || this.stringify(values), operator);
|
||||
}
|
||||
catch (e) {
|
||||
if (!(e instanceof ValueError))
|
||||
dactyl.reportError(e);
|
||||
return this.invalidArgument(str || this.stringify(values), operator) + ": " + e.message;
|
||||
}
|
||||
|
||||
@@ -563,7 +567,7 @@ const Option = Class("Option", {
|
||||
validIf: function (test, error) {
|
||||
if (test)
|
||||
return true;
|
||||
throw Error(error);
|
||||
throw ValueError(error);
|
||||
},
|
||||
|
||||
// TODO: Run this by default?
|
||||
|
||||
Reference in New Issue
Block a user