diff options
Diffstat (limited to 'deps/npm/lib/utils/completion/remote-packages.js')
-rw-r--r-- | deps/npm/lib/utils/completion/remote-packages.js | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/deps/npm/lib/utils/completion/remote-packages.js b/deps/npm/lib/utils/completion/remote-packages.js deleted file mode 100644 index 18d812caa..000000000 --- a/deps/npm/lib/utils/completion/remote-packages.js +++ /dev/null @@ -1,58 +0,0 @@ - -module.exports = remotePackages - -var npm = require("../../npm.js") - , registry = npm.registry - , containsSingleMatch = require("./contains-single-match.js") - , getCompletions = require("./get-completions.js") - -/* - Looks up remote packages for CLI tab-completion. - - NOTE: If doVersion is true, versions in the form <name>@<version> - will be completed. - - If doTag is true, tags in the form <name>@<tag> will be - completed. - - If recurring in true, sequences of multiple packages can be - completed. i.e. for schemes such as: - npm <command> <name>[@<version> [<name>[@<version>] ...] -*/ -function remotePackages (args, index, doVersion, doTag - , recurring, cb) { - if (recurring || index < 3) { - var name = (args.length + 1 === index) ? args[args.length - 1] : "" - if (name === undefined) name = "" - if (name.indexOf("/") !== -1) return cb(null, []) - // use up-to 1 hour stale cache. not super urgent. - registry.get("/", 3600, function (er, d) { - if (er) return cb(er) - var remoteList = Object.keys(d) - , found = remoteList.indexOf(name) - , unique = found && containsSingleMatch(name, remoteList) - , simpleMatches = getCompletions(name, remoteList) - , uniqueMatch = unique && simpleMatches[0] - , addTag = doTag && (unique || found || name.indexOf("@") !== -1) - , addVer = doVersion && (unique || found || name.indexOf("@") !== -1) - , list = [] - , pieces = (uniqueMatch || name).split("@") - , pkgname = pieces[0] - , extras = [] - if (unique && !addTag && !addVer) return cb(null, [uniqueMatch]) - if (d[pkgname] && (addTag || addVer)) { - if (d[pkgname].versions && addVer) { - extras = extras.concat(Object.keys(d[pkgname].versions)) - } - if (d[pkgname]["dist-tags"] && addTag) { - extras = extras.concat(Object.keys(d[pkgname]["dist-tags"])) - } - list = getCompletions(name, list.concat(extras.map(function (e) { - return pkgname + "@" + e - }))) - } - if (!unique) list = list.concat(getCompletions(name, remoteList)) - return cb(null, list) - }) - } -} |