anchor.diff:            break;
             
           case TokenType.lineEnd:
  +          _appendTextToken(_read());
             _parseLine();
             break;
             
  
positive.code:     _stack.clear();
      _stack.add(new SectionNode('root', 0, 0, _delimiters));    
    
      // Handle standalone tag on first line.
      _parseLine();
      
      for (var token = _peek(); token != null; token = _peek()) {
  
negative.code:   // rendering.
    
    // match:
    // lineEnd whitespace openDelimiter any* closeDelimiter whitespace lineEnd
    //
    // Where lineEnd can also mean start/end of the source.
    void _parseLine() {   
      // Continue parsing standalone lines until we find one than isn't a
      // standalone line.        
      while (_peek() != null) {
        var precedingLineEnd = _readIf(TokenType.lineEnd, eofOk: true);
        var precedingWhitespace = _readIf(TokenType.whitespace, eofOk: true);          
        var indent = precedingWhitespace == null ? '' : precedingWhitespace.value;
        var tag = _readTag();
        var tagNode = _createNodeFromTag(tag, partialIndent: indent);
        var followingWhitespace = _readIf(TokenType.whitespace, eofOk: true);
        
        const standaloneTypes = const [
          TagType.openSection,
  