       packages = (metadata for packageName, {metadata} of _atomPackages)
 
       packages = packages.filter (metadata) =>
-        if options.argv.themes
-          metadata.theme
-        else if options.argv.packages
-          not metadata.theme
-        else if options.argv.enabled
-          not @isPackageDisabled(metadata.name)
-        else
-          true
+        @isPackageVisible(options, metadata)
 
       unless options.argv.bare or options.argv.json
         if options.argv.themes

        packageLine
    console.log()

  listPackages: (directoryPath, options) ->
    packages = []
    for child in fs.list(directoryPath)

          manifest = CSON.readFileSync(manifestPath)
      manifest ?= {}
      manifest.name = child

      continue unless @isPackageVisible(options, manifest)
      packages.push(manifest)

    packages

