anchor.diff:    TRangeKinds = set of TRangeKind;
   
     // defines the ranges which can be folded
  -  TFoldKinds = set of (fkBrackets, fkComments1, fkComments2, fkStrings);
  +  TFoldKinds = set of (fkBrackets, fkComments1, fkComments2, fkStrings, fkRegion);
   
     // internal class used to keep trace of the useful informations of the previous line
     TSynD2SynRange = class(TSynCustomHighlighterRange)
     private
  +    namedRegionCount: Integer;
       nestedCommentsCount: Integer;
       tokenStringBracketsCount: Integer;
       rangeKinds: TRangeKinds;
  
positive.code:     exit;
    end;
  
    // line comment
    if (fCurrRange.rangeKinds = []) or (fCurrRange.rangeKinds = [rkAsm]) then if readDelim(reader, fTokStop, '//') then
    begin
      fTokKind := tkCommt;
      if readDelim(reader, fTokStop, '/') then
        fTokKind := tkDDocs;
      readLine(reader, fTokStop);
      //if fTokStop - fTokStart > 4 then
      //begin
      //  Dec(reader,4);
      //  Dec(fTokStop,4);
      //  if reader = '---+'#10 then
      //    StartCodeFoldBlock(nil)
      //  else if reader = '----'#10 then
      //    EndCodeFoldBlock();
      //  readLine(reader, fTokStop);
      //end;
      exit;
    end else readerReset;
  
  
negative.code:     rangeKinds := src_t.rangeKinds;
      nestedCommentsCount := src_t.nestedCommentsCount;
      tokenStringBracketsCount := src_t.tokenStringBracketsCount;
      namedRegionCount := src_t.namedRegionCount;
    end;
  end;
  
  