diff --git a/common/content/commandline.js b/common/content/commandline.js index 26a07f38..f9a90b2e 100644 --- a/common/content/commandline.js +++ b/common/content/commandline.js @@ -500,6 +500,9 @@ const CommandLine = Module("commandline", { this._history.save(); this.resetCompletions(); // cancels any asynchronous completion still going on, must be before we set completions = null this.hideCompletions(); + this._completions = null; + this._history = null; + this._statusTimer.tell(); if (!this._keepCommand || this._silent || this._quiet) { modes.delay(function () { diff --git a/common/content/io.js b/common/content/io.js index 3cfba864..4cc0c74b 100644 --- a/common/content/io.js +++ b/common/content/io.js @@ -636,7 +636,8 @@ lookup: }, { argCount: "?", // TODO: "1" - probably not worth supporting weird Vim edge cases. The dream is dead. --djk bang: true, - completer: function (context) completion.shellCommand(context), + // This is abominably slow. + // completer: function (context) completion.shellCommand(context), literal: 0 }); }, @@ -744,10 +745,9 @@ lookup: for (let [, dirName] in Iterator(dirNames)) { let dir = io.File(dirName); - if (dir.exists() && dir.isDirectory()) { - commands.push([[file.leafName, dir.path] for (file in dir.iterDirectory()) - if (file.isFile() && file.isExecutable())]); - } + if (dir.exists() && dir.isDirectory()) + commands.push([[file.leafName, dir.path] for (file in iter(dir.directoryEntries)) + if (file.isFile() && file.isExecutable())]); } return array.flatten(commands); diff --git a/common/locale/en-US/styling.xml b/common/locale/en-US/styling.xml index b19d35f8..5f7f05e0 100644 --- a/common/locale/en-US/styling.xml +++ b/common/locale/en-US/styling.xml @@ -95,8 +95,8 @@