     @indexReady = true
     return true
 
+  addInfo: (info, detail=null) ->
+    if detail?
+      atom.notifications?.addInfo("ac-fortran: #{info}", {detail: detail})
+    else
+      atom.notifications?.addInfo("ac-fortran: #{info}")
+
+  addError: (info, detail=null) ->
+    if detail?
+      atom.notifications?.addError("ac-fortran: #{info}", {detail: detail})
+    else
+      atom.notifications?.addError("ac-fortran: #{info}")
+
   notifyIndexPending: (operation) ->
     atom.notifications?.addWarning("Could not complete operation: #{operation}", {
       detail: 'Indexing pending',

                    obj['desc'] = @descList.length-1
                  else
                    obj['desc'] = descIndex
    for modDir in @modDirs
      try
        files = fs.readdirSync(modDir)

    projectDirs = atom.project.getPaths()
    @modDirs = projectDirs
    @exclPaths = []
    extPaths = []
    for projDir in projectDirs
      settingPath = path.join(projDir, '.ac_fortran')
      try
        fs.accessSync(settingPath, fs.R_OK)
        fs.openSync(settingPath, 'r+')
        result = fs.readFileSync(settingPath)
        try
          configOptions = JSON.parse(result)
        catch
          @addError("Error reading project settings", "path #{settingPath}")
          continue
        if 'excl_paths' of configOptions
          for exclPath in configOptions['excl_paths']
            @exclPaths.push(path.join(projDir, exclPath))
