 
   # A string, list, tuple or callable that returns a string, list or tuple,
   # containing the command line (with arguments) used to lint.
-  cmd: '-fsyntax-only -fno-caret-diagnostics -fexceptions'
+
   isCpp: false
   clang: null
+  @cmd: ''
 
   executablePath: null
 

      file = file.replace(/(\r\n|\n|\r)/gm, ' ')
      includepaths = "#{includepaths} #{file}"

    split = includepaths.split " "

    # concat includepath
    for custompath in split
      if custompath.length > 0
        @cmd = "#{@cmd} -I #{custompath}"
        # if the path is relative, resolve it
        # TODO: if path contain blank space!!!
        # custompathResolved = path.resolve(atom.project.getPaths()[0], custompath)
        # @cmd = "#{@cmd} -I \"#{custompathResolved}\""
        # custompathResolved = custompathResolved.replace(/\ /g, '\\ ')
        # @cmd = "#{@cmd} -I #{custompathResolved}"

    if atom.config.get 'linter-clang.clangSuppressWarnings'
      @cmd = "#{@cmd} -w"
    # build the command with arguments to lint the file
    {command, args} = @getCmdAndArgs(filePath)

    # add file to regex to filter output to this file,
    # need to change filename a bit to fit into regex

    ':(?<line>\\d+):.+: .*((?<error>error)|(?<warning>warning)): (?<message>.*)'

    if atom.inDevMode()
      console.log 'linter-clang: is node executable: ' + @isNodeExecutable

    # use BufferedNodeProcess if the linter is node executable
    if @isNodeExecutable
