diff --git a/content/completion.js b/content/completion.js index f72dc806..a86e7d0a 100644 --- a/content/completion.js +++ b/content/completion.js @@ -1394,7 +1394,14 @@ function Completion() //{{{ context.completions = completions; }, - preference: function preference(filter) commands.get("set").completer(filter, true), // XXX + preference: function preference(context) + { + let prefs = Components.classes["@mozilla.org/preferences-service;1"] + .getService(Components.interfaces.nsIPrefBranch); + context.title = ["Firefox Preference", "Value"]; + context.keys = { text: function (item) item.item, description: function (item) options.getPref(item.item) }; + context.completions = prefs.getChildList("", { value: 0 }); + }, search: function search(context, noSuggest) { diff --git a/content/options.js b/content/options.js index ada77719..6ac9356c 100644 --- a/content/options.js +++ b/content/options.js @@ -678,11 +678,7 @@ function Options() //{{{ return; } - let prefs = Components.classes["@mozilla.org/preferences-service;1"] - .getService(Components.interfaces.nsIPrefBranch); - context.keys = { text: function (pref) pref.item, description: function (pref) options.getPref(pref.item) }; - context.completions = prefs.getChildList("", { value: 0 }); - return; + return completion.preference(context); } let opt = options.parseOpt(filter, modifiers);