     @markers = []
 
   # This method is called in render, and classifies the messages according to scope
-  classifyMessages: (Gen) ->
+  updateMessages: ->
     counts = {File: 0, Project: 0}
-    isProject = @state.scope is 'Project'
-    activeFile = atom.workspace.getActiveTextEditor()?.getPath()
     @messages.clear()
-    Gen.forEach (Entry) =>
-      # Entry === Array<Messages>
+    @linter.getMessages().forEach (Entry) =>
       Entry.forEach (message) =>
         # If there's no file prop on message and the panel scope is file then count is as current
-        if (not message.filePath and not isProject) or message.filePath is activeFile
+        if message.currentFile
           counts.File++
           counts.Project++
-          message.currentFile = true
         else
           counts.Project++
-          message.currentFile = false
         @messages.add message
     @tabs.File.count = counts.File
     @tabs.Project.count = counts.Project


    @panel.id = 'linter-panel'
    @updateTabs()
    @linter.subscriptions.add @linter.onDidChangeMessages =>
      @render()

  # consumed in views/panel


  # This message is called in editor-linter.coffee
  render: ->
    @updateMessages()
    @updateLineMessages()
    @updateBubble()
    @renderPanelMarkers()
