 
   console.log message
 
-
 log "Parsing source files...", 'yellow'
 
 exec command, (err, res)->


    log "Following classes are defined more than once:\n", 'red'
    log conflicts
    log ""

  if hasFileIssues?

    log "Following files have more than one class in it:\n", 'yellow'
    log fileIssues
    log ""


  log "Checking for usages... (this may take time) ... safe to stop with ctrl+c", 'yellow'
  log "Following classes from pointed files may not be used in the code:", 'red'
  log "Uses 'ack' app, you can install it via '$ brew install ack'", 'cyan'

  lastProject = null

  findUsage = (i)->

    klass = classNames[i]

    # Ignore AppController classes...
    unless colorDisabled
      process.stdout.write "\r\r#{i} - working on #{klass}\r"

    if /AppController.coffee$/.test classes[klass].file
      if i < classNames.length - 1 then findUsage i+1
      return

    exec """ack -hc "#{klass}" """, (err, res)->
      if (parseInt res) is 1
        klass = classes[klass]
        project = (klass.file.split '/')[0]
        if project isnt lastProject
          lastProject = project
          log "\n\nFrom #{lastProject} project ....................\n", 'cyan'

        if colorDisabled
          log "#{klass.class} from #{klass.file}"
        else
          c = "#{klass.class}".yellow; f = "#{klass.file}".blue;
          log "#{c} from #{f}"

      findUsage i+1  if i < classNames.length - 1

  findUsage 0


    classNames.push klass

    classes[klass] = { name: klass, file }

    projects[project].push classes[klass]

    if _e and eklass
      classes[klass].extends = eklass
      relations.push { name: klass, extends: eklass }
      graph += """  "#{klass}" -> "#{eklass}";\n"""

  i = 0
