+{Range} = require('atom')
+XRegExp = require('xregexp').XRegExp
+path = require 'path'
+child_process = require 'child_process'
+
 module.exports = Helpers =
   # Validates that the results passed to Linter Base by a Provider contain the
   #   information needed to display an issue.

  execFilePath: (command, filePath, options = {}) ->
    throw new Error "Nothing to execute." if not arguments.length
    throw new Error "No File Path to work with." if not filePath
    path = require 'path'
    child_process = require 'child_process'
    return new Promise (resolve, reject) ->
      file = path.basename(filePath)
      options.cwd = path.dirname(filePath) if not options.cwd

    for result in results
      unless result.type
        throw new Error "Missing type field on Linter Response, Got: #{Object.keys(result)}"
      result.range = Range.fromObject result.range if result.range?
      result.class = result.type.toLowerCase().replace(' ', '-')
      Helpers.validateResults(result.trace) if result.trace
