Markup block - Gen<None> - 32 - (0:0,0)
    Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1
        SyntaxKind.Unknown;[];
    Directive block - Gen<Directive:{custom;CodeBlock;Unrestricted}> - 32 - (0:0,0)
        Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Tokens:1
            SyntaxKind.Transition;[@];
        MetaCode span - Gen<None> - [custom] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1
            SyntaxKind.Identifier;[custom];
        Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:Whitespace - (7:0,7) - Tokens:1
            SyntaxKind.Whitespace;[ ];
        Code span - Gen<DirectiveToken {;String;Opt:False}> - ["Name"] - DirectiveTokenEditHandler;Accepts:NonWhitespace - (8:0,8) - Tokens:1
            SyntaxKind.StringLiteral;["Name"];
        Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhitespace - (14:0,14) - Tokens:1
            SyntaxKind.Whitespace;[ ];
        MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[<null>];AtEnd - (15:0,15) - Tokens:1
            SyntaxKind.LeftBrace;[{];
        Code span - Gen<Stmt> - [ foo(); bar(); ] - CodeBlockEditHandler;Accepts:Any;CodeBlock - (16:0,16) - Tokens:11
            SyntaxKind.Whitespace;[ ];
            SyntaxKind.Identifier;[foo];
            SyntaxKind.LeftParenthesis;[(];
            SyntaxKind.RightParenthesis;[)];
            SyntaxKind.Semicolon;[;];
            SyntaxKind.Whitespace;[ ];
            SyntaxKind.Identifier;[bar];
            SyntaxKind.LeftParenthesis;[(];
            SyntaxKind.RightParenthesis;[)];
            SyntaxKind.Semicolon;[;];
            SyntaxKind.Whitespace;[ ];
        MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:1
            SyntaxKind.RightBrace;[}];
    Markup span - Gen<Markup> - [] - SpanEditHandler;Accepts:Any - (32:0,32) - Tokens:1
        SyntaxKind.Unknown;[];
