     Scopes = ActiveEditor.scopeDescriptorForBufferPosition(ActiveEditor.getCursorBufferPosition()).scopes
     Promises = []
     @Linters.forEach (Linter)->
-      return if onChange and not Linter.lintOnFly
+      return if (onChange and not Linter.lintOnFly) or onChange
       Matching = Scopes.filter (Entry)-> Linter.scopes.indexOf(Entry) isnt -1
       return unless Matching.length
       RetVal = Linter.lint(ActiveEditor, Buffer, {Error: PlusError, Warning: PlusWarning, Trace: PlusTrace}, onChange)


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

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

      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()
    Buffer = ActiveEditor.getBuffer()
