         #type: reResult[1]
         type: "Error"
         text: reResult[4]
-        filePath: projectPath() + '/' + reResult[2]
+        filePath: projectPath(textEditor) + '/' + reResult[2]
         range: helpers.rangeFromLineNumber(textEditor, reResult[3] - 1)
     parseWarning = (row, textEditor) ->
       re = ///

      lintOnFly: false
      name: 'Elixir'
      lint: (textEditor) =>
        if isForcedElixirc() or not isMixProject() or isExsFile(textEditor)
          lintElixirc(textEditor)
        else
          lintMix(textEditor)

    os = require 'os'
    fs = require 'fs'
    path = require 'path'
    projectPath = (textEditor) ->
      editorPath = textEditor.getPath()
      for projectPathCandidate in atom.project.getPaths()
        if editorPath.indexOf(projectPathCandidate) == 0
          return projectPathCandidate
      null
    isMixProject = (textEditor) ->
      fs.existsSync(projectPath(textEditor) + '/mix.exs')
    isTestFile = (textEditor) ->
      relativePath = path.relative(projectPath(textEditor), textEditor.getPath())
      relativePath.split(path.sep)[0] == 'test'
    isForcedElixirc = =>
      @forceElixirc
