anchor.diff:  interface
   
   uses
  -  Classes, SysUtils, SynEdit, ce_d2syn, ce_txtsyn ,SynEditHighlighter,
  -  controls, lcltype, LazSynEditText, SynEditKeyCmds, SynHighlighterLFM, SynEditMouseCmds,
  -  ce_common, ce_observer, ce_writableComponent, crc, SynEditFoldedView;
  +  Classes, SysUtils, SynEdit, ce_d2syn, ce_txtsyn ,SynEditHighlighter, controls,
  +  lcltype, LazSynEditText, SynEditKeyCmds, SynHighlighterLFM, SynEditMouseCmds,
  +  SynEditFoldedView, crc, ce_common, ce_observer, ce_writableComponent;
   
   type
   
     TCESynMemo = class;
   
  -  // TextView, TSynEditFoldedView
     TCEFoldCache = class(TCollectionItem)
     private
       fCollapsed: boolean;
  
positive.code: end;
  
  procedure TCESynMemoCache.beforeSave;
  //var
  //  i: Integer;
  //  itm : TCEFoldCache;
  begin
    if fMemo = nil then exit;
    //
    fCaretPosition := fMemo.SelStart;
    fSelectionEnd := fMemo.SelEnd;
    //
    //TODO-cEditor Cache: folding persistence
  end;
  
  procedure TCESynMemoCache.afterLoad;
  begin
    if fMemo = nil then exit;
    //
    fMemo.SelStart := fCaretPosition;
    fMemo.SelEnd := fSelectionEnd;
  
negative.code:     fFolds: TCollection;
      fCaretPosition: Integer;
      fSelectionEnd: Integer;
      fSourceFilename: string;
      procedure setFolds(someFolds: TCollection);
    published
      property caretPosition: Integer read fCaretPosition write fCaretPosition;
      property sourceFilename: string read fSourceFilename write fSourceFilename;
      property folds: TCollection read fFolds write setFolds;
      property selectionEnd: Integer read fSelectionEnd write fSelectionEnd;
    public
      constructor create(aComponent: TComponent); override;
      destructor destroy; override;
  