diff --git a/content/options.js b/content/options.js index 078f77d7..06268fac 100644 --- a/content/options.js +++ b/content/options.js @@ -715,6 +715,10 @@ liberator.Options = function () //{{{ continue; if (option.hasName(filter)) { + // TODO: the starting value should be the current + // value, for compatibility with Vim (also the most + // useful approach in this case) while still + // offering much better completion if (option.completer) return [filter.length + 1, option.completer(filter)]; // FIXME: filter should be component after "option=" return [filter.length + 1, [[option.value + "", ""]]]; diff --git a/content/ui.js b/content/ui.js index 98857b82..42b904fa 100644 --- a/content/ui.js +++ b/content/ui.js @@ -367,6 +367,13 @@ liberator.CommandLine = function () //{{{ "Change how command line completion is done", "stringlist", "", { + completer: function (value) + { + return [ + ["auto", "Automatically show completions while you are typing"], + ["sort", "Always sort the completion list"] + ]; + }, validator: function (value) { return value.split(",").every(function (item) { return /^(sort|auto|)$/.test(item); }); diff --git a/locale/en-US/options.txt b/locale/en-US/options.txt index cf6f9c3a..cffe9f07 100644 --- a/locale/en-US/options.txt +++ b/locale/en-US/options.txt @@ -734,7 +734,7 @@ the second part for the second use, etc. These are the possible values for each part: `---------------`------------------------ -"" Complete only the first match +"" Complete only the first match. "full" Complete the next full match. After the last, the original string is used. "longest" Complete till the longest common string. "list" When more than one match, list all matches. @@ -753,8 +753,8 @@ A list of words that change how command line completion is done. Possible words: `--------`------------------------------- -*auto* Automatically show completions while you are typing -*sort* Always sorts completion list, overriding the 'complete' option. +*auto* Automatically show completions while you are typing. +*sort* Always sort the completion list, overriding the 'complete' option. ----------------------------------------- ____