 
   exec: (command, options = {stream: 'stdout'}) ->
     throw new Error "Nothing to execute." if not arguments.length
-    child_process = require 'child_process'
     return new Promise (resolve, reject) ->
       process = child_process.exec(command, options)
       data = []

  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
