diff --git a/src/Compiler.pir b/src/Compiler.pir index 269eb4f..b7613d3 100644 --- a/src/Compiler.pir +++ b/src/Compiler.pir @@ -85,6 +85,8 @@ Return generated HTML for all of its children. .sub 'html_children' :method .param pmc node + .param string sep :optional + .param int has_sep :opt_flag .local pmc code, iter code = new 'CodeString' iter = node.'iterator'() @@ -93,7 +95,12 @@ Return generated HTML for all of its children. .local pmc cpast cpast = shift iter $P0 = self.'html'(cpast) + $I0 = elements $P0 + unless $I0 goto iter_loop code .= $P0 + unless has_sep goto L1 + code .= sep + L1: goto iter_loop iter_end: .return (code) @@ -116,7 +123,7 @@ Return generated HTML for all of its children. .sub 'html' :method :multi(_, ['Markdown'; 'Document']) .param pmc node - .tailcall self.'html_children'(node) + .tailcall self.'html_children'(node, "\n\n") .end @@ -128,7 +135,7 @@ Return generated HTML for all of its children. .param pmc node .local pmc code new code, 'CodeString' - set code, "
\n\n" + set code, "
" .return (code) .end @@ -147,7 +154,7 @@ Return generated HTML for all of its children. $S0 .= $S1 $S0 .= "