anchor.diff:      '>', '"' : nodes.addText(lexer.location, htmlEscape(lexer.grab(cmText)));
       '&' : parseEntity(lexer, nodes, wsMode);
       '`' : parseBackTick(lexer, nodes, wsMode);
  +    '~' : parseTilde(lexer, nodes, wsMode);
       '*' : parseDelimiter(lexer, nodes, wsMode, true);
       '_' : if isWhitespaceChar(lexer.peekLast) or isEscapable(lexer.peekLast) or (lexer.peekLast = #0) or
                isWhitespaceChar(lexer.peekEndRun) or isEscapable(lexer.peekEndRun) or (lexer.peekEndRun = #0) then
  
positive.code:   end;
  end;
  
  procedure TCMTextLexer.skipWS;
  begin
    while isWhitespaceChar(peek) do
  
negative.code:     function grab(style : TCommonMarkStyle; length : integer) : String; overload;
      function has(s : string) : boolean;
      function runExistsAfter(s : String) : boolean;
      function runExistsAfterBeforeChar(s : String; c : char) : boolean;
      procedure skipWS;
      function location : TLocation;
    end;
  