anchor.diff:    ace.EditSession get currentSession => _aceEditor.session;
   
     void switchTo(ace.EditSession session, [workspace.File file]) {
  +    if (_foldListenerSubscription != null) {
  +      _foldListenerSubscription.cancel();
  +      _foldListenerSubscription = null;
  +    }
  +
       if (session == null) {
         _aceEditor.session = ace.createEditSession('', new ace.Mode('ace/mode/text'));
         _aceEditor.readOnly = true;
  
positive.code:       _aceEditor.setOption(
            'enableBasicAutocompletion', path.extension(file.name) != '.dart');
  
        // TODO(ericarnold): Markers aren't shown until file is edited.  Fix.
        setMarkers(currentFile.getMarkers());
  
        // Setup handlers once.
        if (_markerSubscription == null) {
          _markerSubscription = file.workspace.onMarkerChange.listen(
              _handleMarkerChange);
          currentSession.onChangeFold.listen((_) {
            setMarkers(currentFile.getMarkers());
          });
        }
      }
    }
  
negative.code:   ace.Editor _aceEditor;
  
    workspace.Marker _currentMarker;
  
    StreamSubscription<ace.FoldChangeEvent> _foldListenerSubscription;
  
    static bool get available => js.context['ace'] != null;
  
  