| 123456789101112131415161718192021222324 | module.exports = fileCompletionvar mkdir = require('mkdirp')var glob = require('glob')function fileCompletion (root, req, depth, cb) {  if (typeof cb !== 'function') {    cb = depth    depth = Infinity  }  mkdir(root, function (er) {    if (er) return cb(er)    // can be either exactly the req, or a descendent    var pattern = root + '/{' + req + ',' + req + '/**/*}'    var opts = { mark: true, dot: true, maxDepth: depth }    glob(pattern, opts, function (er, files) {      if (er) return cb(er)      return cb(null, (files || []).map(function (f) {        return f.substr(root.length + 1).replace(/^\/|\/$/g, '')      }))    })  })}
 |