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

Fix prompt (namely hint mode) completions.

This commit is contained in:
Kris Maglione
2011-02-01 19:12:26 -05:00
parent cf9be47589
commit e80eb262fb
2 changed files with 7 additions and 3 deletions

View File

@@ -434,9 +434,9 @@ var CommandPromptMode = Class("CommandPromptMode", CommandMode, {
init.supercall(this); init.supercall(this);
}, },
complete: function () { complete: function (context) {
if (this.completer) if (this.completer)
return this.completer.apply(this, arguments); context.forkapply("prompt", 0, this, "completer", Array.slice(arguments, 1));
}, },
get mode() modes.PROMPT get mode() modes.PROMPT

View File

@@ -651,6 +651,10 @@ var CompletionContext = Class("CompletionContext", {
* interpreted as a method to access on *self*. * interpreted as a method to access on *self*.
*/ */
fork: function fork(name, offset, self, completer) { fork: function fork(name, offset, self, completer) {
return this.forkapply(name, offset, self, completer, Array.slice(arguments, fork.length));
},
forkapply: function forkapply(name, offset, self, completer, args) {
if (isString(completer)) if (isString(completer))
completer = self[completer]; completer = self[completer];
let context = this.constructor(this, name, offset); let context = this.constructor(this, name, offset);
@@ -660,7 +664,7 @@ var CompletionContext = Class("CompletionContext", {
if (!context.autoComplete && !context.tabPressed && context.editor) if (!context.autoComplete && !context.tabPressed && context.editor)
context.waitingForTab = true; context.waitingForTab = true;
else if (completer) { else if (completer) {
let res = completer.apply(self || this, [context].concat(Array.slice(arguments, fork.length))); let res = completer.apply(self || this, [context].concat(args));
if (res && !isArray(res) && !isArray(res.__proto__)) if (res && !isArray(res) && !isArray(res.__proto__))
res = [k for (k in res)]; res = [k for (k in res)];
if (res) if (res)