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

      return unless @LintOnFly
      @SubLintOnFly.add editor.onDidStopChanging @lint.bind(@, true)
  lint:(onChange)->
    return if @InProgress
    @InProgress = true
    onChange = Boolean onChange

    ActiveEditor = atom.workspace.getActiveTextEditor()
    Buffer = ActiveEditor.getBuffer()


class PlusTrace
  constructor:(@Message, @File, @Position)->
class PlusMessage then constructor:(@Message, @File, @Position, @Trace)->
class PlusError extends PlusMessage
class PlusWarning extends PlusMessage

class LinterPlus
  Subscriptions: null
  SubLintOnFly: null
  InProgress: false
  InProgressFly: false
  LintOnFly: true
  View: null
  ViewPanel: null
  Messages:[]
  MessagesRegular:[]
  MessagesFly:[]
  Linters: []
  constructor:->
    @View = new (require './view')(this)
