anchor.diff:      try
         if Active then
           Close;
  -      FProject := Value;
  -
  +      SetInternalProject(Value);
         if FProject.Tendency <> nil then
           FProject.Tendency.Prepare; //Prepare debug object and others
         if FProject.SaveDesktop then
           FProject.Desktop.Load;
  -
         Changed;
         Engine.UpdateState([ecsChanged, ecsState, ecsRefresh, ecsProject, ecsProjectLoaded]);
       finally
  
positive.code: begin
    if FIsEngineStart then
    begin
      SaveOptions;
      for i := 0 to Tendencies.Count - 1 do
        Tendencies[i].Unprepare;
  
negative.code:     procedure DoChangedState(State: TEditorChangeStates); virtual;
      procedure DoMacroRecorderChanged(Sender: TObject);
      procedure DoReplaceText(Sender: TObject; const ASearch, AReplace: string; Line, Column: integer; var ReplaceAction: TSynReplaceAction);
    public
      constructor Create; virtual;
      destructor Destroy; override;
  
      procedure Startup;
      procedure LoadOptions;
      procedure SaveOptions;
      procedure Shutdown;
      function IsShutdown: Boolean;
  
      //I used it for search in files
      function SearchReplace(const FileName: string; const ALines: TStringList; const ASearch, AReplace: string; OnFoundEvent: TOnFoundEvent; AOptions: TSynSearchOptions): integer;
      //Recent
  