type CodeBlock … func (b *CodeBlock) PrintHTML(buf *bytes.Buffer) { … } func (b *CodeBlock) printMarkdown(buf *bytes.Buffer, s mdState) { … } func newPre(p *parseState, s line) (line, bool) { … } func newFence(p *parseState, s line) (line, bool) { … } func (s *line) trimFence(fence, info *string, n *int) bool { … } type preBuilder … func (c *preBuilder) extend(p *parseState, s line) (line, bool) { … } func (b *preBuilder) build(p buildState) Block { … } type fenceBuilder … func (c *fenceBuilder) extend(p *parseState, s line) (line, bool) { … } func (c *fenceBuilder) build(p buildState) Block { … }