         line_expr = /:(\d+):(\d+): (E\d{3}) (.*)/
         errors = []
 
-        return unless @pep8Path
+        pep8Path = atom.config.get('pep8.PEP8Path')
+        ignoreErrors = atom.config.get('pep8.ignoreErrors')
 
-        proc = process.spawn(@pep8Path, [path])
+        return unless pep8Path
+
+        proc = process.spawn(pep8Path, [path])
 
         # Watch for pep8 errors
         output = byline(proc.stdout)

            if matches
                [_, line, position, type, message] = matches

                if type in @ignoreErrors
                    return # Skip errors the user has chosen to ignore

                errors.push {

module.exports =
    supportedExtensions: [".py"]
    errorView: null

    initConfig: ->
      atom.config.setDefaults('pep8',
        PEP8Path: '/usr/local/bin/pep8',
        ignoreErrors: [],
        lintOnSave: true
      )

    activate: ->
        @initConfig()

        atom.workspaceView.command 'pep8:lint', =>
            @lint()

        atom.workspaceView.command 'core:save', =>
            @onSave()

    onSave: ->
        @lint() if atom.config.get('pep8.lintOnSave')

    lint: ->
        editor = atom.workspace.getActiveEditor()
