   ".qui": markupDocsExtractor
 
 
-# Return the documentation for all CoffeeScript files below the given root.
+# Return the documentation for all files below the given root.
 projectDocs = ( root ) ->
   docs = {}
   walk root, ( filePath ) ->



# Main
args = process.argv.splice 2 # Ignore "node" and script name args
root = if args[0]? then path.resolve args[0] else process.cwd()
docs = projectDocs root
printDocs docs
    if extractor?
      source = fs.readFileSync filePath, "utf8"
      { className: className, comments: comments } = extractor.extract source
      if className? and comments?
        docs[ className ] = comments
  docs


# Return the documenation for all files below the given roots.
projectsDocs = ( paths ) ->
  docs = {}
  for project in projects
    root = path.resolve project
    for own key, value of projectDocs root
      docs[ key ] = value
  sortByKeys docs


# Return the given object with its keys sorted.
sortByKeys = ( obj ) ->
  keys = ( key for own key, value of obj )
  sortedKeys = keys.sort()
  sorted = {}
  for key in sortedKeys
    sorted[ key ] = obj[ key ]
  sorted


printDocs = ( docs ) ->
