anchor.diff:          _markerSubscription = file.workspace.onMarkerChange.listen(
               _handleMarkerChange);
         }
  -    }
  -  }
  -
  +
  +      setMarkers(file.getMarkers());
  +      buildOutline();
  +    }
  +  }
  +
  +  /**
  +   * Make a service call and build the outline view for the current file.
  +   */
     void buildOutline() {
       String name = currentFile == null ? '' : currentFile.name;
  +
  +    if (!name.endsWith(".dart")) return;
  +
       String text = currentSession.value;
       outline.build(name, text);
     }
  
positive.code:       _foldListenerSubscription = currentSession.onChangeFold.listen((_) {
          setMarkers(file.getMarkers());
        });
  
        setMarkers(file.getMarkers());
        buildOutline();
      }
  
      // Setup the code completion options for the current file type.
  
negative.code: 
        // TODO(ericarnold): Need to cache or re-analyze on file switch.
        // TODO(ericarnold): Need to analyze on initial file load.
        aceManager.buildOutline();
  
        return file.setContents(text).then((_) => dirty = false);
      } else {
  