 path = require "path"
 
 # path(lineNumber): (Deprecation|Warning|Error): <message>
-dubErrorFormat = /(.*?)\((\d+)(?:,(\d+))?\): (Deprecation|Warning|Error): (.*)/g;
+dubErrorFormat = /(.*?)\((\d+),(\d+)\): (Deprecation|Warning|Error): (.*)/g;
+dubErrorFormatRel = /(.*?)\((\d+),(\d+)\): (.*)/g;
 
 module.exports =
   class DubLinter

            obj = []
            for line in lines
              match = dubErrorFormat.exec(line)
              if match? && match.length >= 6
                obj.push
                  type: match[4],
                  text: match[5],
                  filePath: path.join(atom.project.getPaths()[0], match[1]),
                  range: [
                    [parseInt(match[2]) - 1, parseInt(match[3]) - 1],
                    [parseInt(match[2]) - 1, parseInt(match[3]) - 1] # Whole line
                  ]
            resolve obj

        proc.onWillThrowError ({error,handle}) ->

    lint: (textEditor) =>
      return new Promise (resolve, reject) =>
        output = ""
        args = ["build", "--nodeps", "--combined", "-q"]

        if global.buildName?
          args.push "--config=" + global.buildName

        env = Object.create(process.env)
        env.DFLAGS = "-vcolumns -o-"

        proc = new BufferedProcess
          command: @dubPath
