   textEditor.displayBuffer.tokenizedBuffer.tokenizedLineForRow(lineNumber)
 fs = require('fs')
 path = require('path')
-
+{CompositeDisposable} = require 'atom'
 
 extractRange = ({code, message, lineNumber, colNumber, textEditor}) ->
   switch code

        projDir = @getProjDir(filePath) or path.dirname(filePath)
        execPath = fs.normalize(@applySubstitutions(atom.config.get('linter-flake8.executablePath'), projDir))
        cwd = path.dirname(textEditor.getPath())
        return helpers.exec(execPath, parameters, {stdin: fileText, cwd: cwd, stream: 'both'}).then (result) ->
          if (result.stderr and result.stderr.length and atom.inDevMode())
            console.log('flake8 stderr: ' + result.stderr)
          toReturn = []


  activate: ->
    require('atom-package-deps').install()
    @subscriptions = new CompositeDisposable
    @subscriptions.add atom.config.observe 'linter-flake8.disableTimeout',
      (disableTimeout) =>
        @disableTimeout = disableTimeout

  deactivate: ->
    @subscriptions.dispose()

  getProjDir: (file) ->
    atom.project.relativizePath(file)[0]
