             console.log "codeclimate binary not found! Installation instructions at http://github.com/codeclimate/codeclimate"
             return []
 
-        if (linterMap.hasOwnProperty(grammarName) == true)
-          linterNameArray.push(linter) for linter in linterMap[grammarName] when (linter not in linterNameArray)
-
+        # Search for a .codeclimate.yml in the project tree. If one isn't found,
+        # use the presence of a .git directory as the assumed project root,
+        # and offer to create a .codeclimate.yml file there. If the user doesn't
+        # want one, and says no, we won't bug them again.
         configurationFilePath = Helpers.findFile(fileDir, configurationFile)
         if (!configurationFilePath)
           gitDir = Path.dirname(Helpers.findFile(fileDir, ".git"))

    configurationFile = '.codeclimate.yml'
    linterMap = {
      '*': ['fixme'],
      'Ruby on Rails': ['rubocop'],
      'Ruby': ['rubocop'],
      'JavaScript': ['eslint'],
      'CoffeeScript': ['coffeelint'],
      'Python': ['pep8', 'radon'],
      'PHP': ['phpcodesniffer', 'phpmd']
    }
    provider =
      name: 'Code Climate'
      grammarScopes: ['*'] # Lint everything then filter with map
      scope: 'file'
      lint: (textEditor) =>
        filePath = textEditor.getPath()
        fileDir = Path.dirname(filePath)
        grammarName = textEditor.getGrammar().name
        linterNameArray = linterMap['*']

        if !FS.existsSync(@executablePath)
          try
            @executablePath = EX("/bin/bash -lc 'which codeclimate'").toString().trim()

                  range: [[locLine,locPosBeg], [locLine,locPosEnd]]
                })

            # Log the length of time it took to run analysis
            console.log("Code Climate analysis: " + (Date.now() - analysisBeginTime) + "ms")
            return linterResults
          )
