code: function reportFile (filepath, data) {
      var lines = []
  
      // Filename
      lines.push(colors.magenta.underline(path.relative(appRoot.path, filepath)))
  
      // Loop file specific error/warning messages
      data.results.forEach(function (file) {
        file.messages.forEach(function (msg) {
          var context = colors.yellow((options.showFilePath ? filepath + ':' : 'line ') + msg.line + ':' + msg.column)
          var message = colors.cyan(msg.message + (options.showRuleNames ? ' (' + msg.ruleId + ')' : ''))
          lines.push(context + '\t' + message)
        })
      })
  
      // Error/Warning count
      lines.push(logSymbols.error + ' ' + colors.red(data.errorCount + ' error' + (data.errorCount === 1 ? 's' : '')) + '\t' + logSymbols.warning + ' ' + colors.yellow(data.warningCount + ' warning' + (data.errorCount === 1 ? 's' : '')))
  
      return lines.join('\n') + '\n'
    }
docs: File specific reporter