anchor.diff:      selector: 'replace-dialog',
       templateUrl: 'replace_component.html',
       providers: const [TextProcessingService, TextareaDomService])
  -class ReplaceDialogComponent {
  +class ReplaceDialogComponent implements OnChanges {
  +
  +  final TextProcessingService _textProcessingService;
  +  final TextareaDomService _textareaDomService;
   
     @Input()
     bool showDialog = false;
  
positive.code:     replacementText ??= "";
      if (textToReplace.length > 0) {
        TextareaSelection selInfo = _textareaDomService.getCurrentSelectionInfo();
        note.text = getUpdatedText();
        saveAndUpdateState(selInfo.start);
      }
    }
  
    void saveAndUpdateState(int cursorPos) {
      trackCursorPosition(cursorPos);
      note.save();
      _undoList.add(note.text);
    }
  
negative.code:   List<String> _undoList = new List<String>();
  
    int insertPos = -1;
  
    ReplaceDialogComponent(this._textProcessingService,
        this._textareaDomService);
  