                   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
           )

            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)

        configurationFilePath = Helpers.findFile(fileDir, configurationFile)
        if (!configurationFilePath)
          gitDir = Path.dirname(Helpers.findFile(fileDir, ".git"))

    configurationFile = '.codeclimate.yml'
    linterMap = {
      '*': ['fixme'],
      'Ruby': ['rubocop'],
      'Ruby on Rails': ['rubocop'],
      'Ruby on Rails (RJS)': ['rubocop'],
      'JavaScript': ['eslint'],
      'CoffeeScript': ['coffeelint'],
      'CoffeeScript (Literate)': ['coffeelint'],
      'Python': ['pep8', 'radon'],
      'PHP': ['phpcodesniffer', 'phpmd']
    }
    provider =
      name: 'Code Climate'
      grammarScopes: ['*']
      scope: 'file'
      lint: (textEditor) =>
        filePath = textEditor.getPath()
        fileDir = Path.dirname(filePath)
        grammarName = textEditor.getGrammar().name
        linterNameArray = []
        linterNameArray.push(linter) for linter in linterMap['*']

        # Make sure executable path exists and reconcile it if it doesn't
        if !FS.existsSync(@executablePath)
          try
            @executablePath = EX("/bin/bash -lc 'which codeclimate'").toString().trim()
