     @View.remove()
     @SubLintOnFly.dispose()
     @Subscriptions.dispose()
+  progress:(onChange, newValue)->
+    if typeof newValue is 'undefined'
+      if onChange
+        return @InProgressFly
+      else
+        return @InProgress
+    else
+      if onChange
+        @InProgressFly = newValue
+      else
+        @InProgress = newValue
 
 module.exports = LinterPlus
      return unless @LintOnFly
      @SubLintOnFly.add editor.onDidStopChanging @lint.bind(@, true)
  lint:(onChange)->
    if onChange
      return if @InProgressFly
      @InProgressFly = true
    else
      return if @InProgress
      @InProgress = true
    onChange = Boolean onChange
    @lint(true) unless onChange

    ActiveEditor = atom.workspace.getActiveTextEditor()

      else if RetVal
        Promises.push RetVal
    Promise.all(Promises).then (Results)=>
      @progress onChange, false
      Messages = []
      for Result in Results
        continue if (not Result) or (typeof Result) isnt 'object'
