diff --git a/content/completion.js b/content/completion.js index 20b64ac0..d6850ec1 100644 --- a/content/completion.js +++ b/content/completion.js @@ -588,7 +588,7 @@ function Completion() //{{{ } } if (options.get("wildoptions").has("sort")) - filtered = filtered.sort(function (a, b) util.ciCompare(a[0], b[0]));; + filtered = filtered.sort(function (a, b) util.compareIgnoreCase(a[0], b[0]));; return filtered; } @@ -629,7 +629,7 @@ function Completion() //{{{ } } if (options.get("wildoptions").has("sort")) - filtered = filtered.sort(function (a, b) util.ciCompare(a[0], b[0]));; + filtered = filtered.sort(function (a, b) util.compareIgnoreCase(a[0], b[0]));; return filtered; } @@ -639,14 +639,19 @@ function Completion() //{{{ return { - setFunctionCompleter: function (func, completers) + setFunctionCompleter: function (funcs, completers) { - func.liberatorCompleter = function (func, obj, string, args) { - let completer = completers[args.length - 1]; - if (!completer) - return []; - return completer.call(this, this.eval(obj), this.eval(args.pop()) + string, args); - }; + if (!(funcs instanceof Array)) + funcs = [funcs]; + for (let [,func] in Iterator(funcs)) + { + func.liberatorCompleter = function (func, obj, string, args) { + let completer = completers[args.length - 1]; + if (!completer) + return []; + return completer.call(this, this.eval(obj), this.eval(args.pop()) + string, args); + }; + } }, // returns the longest common substring diff --git a/content/options.js b/content/options.js index 3a83c377..97c9ac86 100644 --- a/content/options.js +++ b/content/options.js @@ -847,14 +847,11 @@ function Options() //{{{ liberator.registerObserver("load_completion", function () { completion.setFunctionCompleter(options.get, [function () ([o.name, o.description] for (o in options))]); - let listPrefs = [function () Components.classes["@mozilla.org/preferences-service;1"] - .getService(Components.interfaces.nsIPrefBranch) - .getChildList("", { value: 0 }) - .map(function (pref) [pref, ""])]; - completion.setFunctionCompleter(options.getPref, listPrefs); - completion.setFunctionCompleter(options.setPref, listPrefs); - completion.setFunctionCompleter(options.resetPref, listPrefs); - completion.setFunctionCompleter(options.invertPref, listPrefs); + completion.setFunctionCompleter([options.getPref, options.setPref, options.resetPref, options.invertPref], + [function () Components.classes["@mozilla.org/preferences-service;1"] + .getService(Components.interfaces.nsIPrefBranch) + .getChildList("", { value: 0 }) + .map(function (pref) [pref, ""])]); }); return {