anchor.diff:  
       // Setup the code completion options for the current file type.
       if (file != null) {
  +      currentFile = file;
         _aceEditor.setOption(
             'enableBasicAutocompletion', path.extension(file.name) != '.dart');
  +
  +      // TODO(ericarnold): Markers aren't shown until file is edited.  Fix.
  +      setMarkers(currentFile.getMarkers());
  +
         if (_markerChangeHandler == null) {
           _markerChangeHandler = file.workspace.onMarkerChange.listen(
               _handleMarkerChange);
  
positive.code:   }
  
    void _handleMarkerChange(workspace.MarkerChangeEvent event) {
      setMarkers(event.marker);
    }
  
    String _convertMarkerSeverity(int markerSeverity) {
      switch (markerSeverity) {
        case workspace.Marker.SEVERITY_ERROR:
          return ace.Annotation.WARNING;
          break;
        case workspace.Marker.SEVERITY_WARNING:
          return ace.Annotation.WARNING;
          break;
        case workspace.Marker.SEVERITY_INFO:
          return ace.Annotation.WARNING;
          break;
      }
    }
  
negative.code:   static bool get available => js.context['ace'] != null;
  
    StreamSubscription _markerChangeHandler;
    workspace.File currentFile;
  
    AceContainer(this.parentElement) {
      _aceEditor = ace.edit(parentElement);
  