anchor.diff:          DataItem.Y1:= iLine-1;
           DataItem.X2:= 0;
           DataItem.Y2:= iLine;
  -        DataItem.Level:= GetLevel(S[1]);
  +        DataItem.Level:= GetLevel(NewHeaderChar, PrevHeaderChar);
           DataItem.Title:= St.Lines[iLine-1];
           DataItem.Icon:= -1;
           Data.Add(DataItem)
  
positive.code:   private
      class function IsHeaderOfChar(const S: UnicodeString; ch: WideChar): boolean;
      class function IsHeaderLine(const S: UnicodeString): boolean;
      class function GetLevel(ch: WideChar): integer;
    public
      class procedure GetHeaders(Ed: TATSynEdit; Data: TATTreeHelperRecords);
    end;
  
  implementation
  
  class function TTreeHelperRest.IsHeaderOfChar(const S: UnicodeString; ch: WideChar): boolean;
  var
  
negative.code:   DataItem: TATTreeHelperRecord;
    St: TATStrings;
    S: UnicodeString;
    PrevHeaderChar, NewHeaderChar: WideChar;
    NLen, iLine: integer;
  begin
    Data.Clear;
    PrevHeaderChar:= #0;
    NewHeaderChar:= #0;
    St:= Ed.Strings;
    for iLine:= 1{not 0} to St.Count-1 do
    begin
  