From d29104889a262f5fef6c2970bd8c08847721cba5 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Wed, 7 Aug 2019 18:08:43 +0800 Subject: [PATCH 1/2] :pencil2: Fix some tyops in doc comments --- ast/ast.go | 2 +- ast/block.go | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ast/ast.go b/ast/ast.go index 06d1883..ddc2272 100644 --- a/ast/ast.go +++ b/ast/ast.go @@ -428,7 +428,7 @@ const ( // If Walker returns error, Walk function immediately stop walking. type Walker func(n Node, entering bool) (WalkStatus, error) -// Walk walks a AST tree by the depth first search algorighm. +// Walk walks a AST tree by the depth first search algorithm. func Walk(n Node, walker Walker) error { status, err := walker(n, true) if err != nil || status == WalkStop { diff --git a/ast/block.go b/ast/block.go index 4592dbf..113308e 100644 --- a/ast/block.go +++ b/ast/block.go @@ -54,7 +54,7 @@ type Document struct { // KindDocument is a NodeKind of the Document node. var KindDocument = NewNodeKind("Document") -// Dump impelements Node.Dump . +// Dump implements Node.Dump . func (n *Document) Dump(source []byte, level int) { DumpHelper(n, source, level, nil, nil) } @@ -82,7 +82,7 @@ type TextBlock struct { BaseBlock } -// Dump impelements Node.Dump . +// Dump implements Node.Dump . func (n *TextBlock) Dump(source []byte, level int) { DumpHelper(n, source, level, nil, nil) } @@ -107,7 +107,7 @@ type Paragraph struct { BaseBlock } -// Dump impelements Node.Dump . +// Dump implements Node.Dump . func (n *Paragraph) Dump(source []byte, level int) { DumpHelper(n, source, level, nil, nil) } @@ -142,7 +142,7 @@ type Heading struct { Level int } -// Dump impelements Node.Dump . +// Dump implements Node.Dump . func (n *Heading) Dump(source []byte, level int) { m := map[string]string{ "Level": fmt.Sprintf("%d", n.Level), @@ -166,12 +166,12 @@ func NewHeading(level int) *Heading { } } -// A ThemanticBreak struct represents a themantic break of Markdown text. +// A ThemanticBreak struct represents a thematic break of Markdown text. type ThemanticBreak struct { BaseBlock } -// Dump impelements Node.Dump . +// Dump implements Node.Dump . func (n *ThemanticBreak) Dump(source []byte, level int) { DumpHelper(n, source, level, nil, nil) } @@ -201,7 +201,7 @@ func (n *CodeBlock) IsRaw() bool { return true } -// Dump impelements Node.Dump . +// Dump implements Node.Dump . func (n *CodeBlock) Dump(source []byte, level int) { DumpHelper(n, source, level, nil, nil) } @@ -252,7 +252,7 @@ func (n *FencedCodeBlock) IsRaw() bool { return true } -// Dump impelements Node.Dump . +// Dump implements Node.Dump . func (n *FencedCodeBlock) Dump(source []byte, level int) { m := map[string]string{} if n.Info != nil { @@ -282,7 +282,7 @@ type Blockquote struct { BaseBlock } -// Dump impelements Node.Dump . +// Dump implements Node.Dump . func (n *Blockquote) Dump(source []byte, level int) { DumpHelper(n, source, level, nil, nil) } From 6f6884271dea35d239f9e27f8fe62b1cdb40228d Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Wed, 7 Aug 2019 18:15:09 +0800 Subject: [PATCH 2/2] :pencil2: Fix typos --- ast/block.go | 20 +++++------ parser/list.go | 4 +-- parser/parser.go | 4 +-- parser/themantic_break.go | 71 --------------------------------------- parser/thematic_break.go | 71 +++++++++++++++++++++++++++++++++++++++ renderer/html/html.go | 4 +-- 6 files changed, 87 insertions(+), 87 deletions(-) delete mode 100644 parser/themantic_break.go create mode 100644 parser/thematic_break.go diff --git a/ast/block.go b/ast/block.go index 113308e..69a74d1 100644 --- a/ast/block.go +++ b/ast/block.go @@ -166,27 +166,27 @@ func NewHeading(level int) *Heading { } } -// A ThemanticBreak struct represents a thematic break of Markdown text. -type ThemanticBreak struct { +// A ThematicBreak struct represents a thematic break of Markdown text. +type ThematicBreak struct { BaseBlock } // Dump implements Node.Dump . -func (n *ThemanticBreak) Dump(source []byte, level int) { +func (n *ThematicBreak) Dump(source []byte, level int) { DumpHelper(n, source, level, nil, nil) } -// KindThemanticBreak is a NodeKind of the ThemanticBreak node. -var KindThemanticBreak = NewNodeKind("ThemanticBreak") +// KindThematicBreak is a NodeKind of the ThematicBreak node. +var KindThematicBreak = NewNodeKind("ThematicBreak") // Kind implements Node.Kind. -func (n *ThemanticBreak) Kind() NodeKind { - return KindThemanticBreak +func (n *ThematicBreak) Kind() NodeKind { + return KindThematicBreak } -// NewThemanticBreak returns a new ThemanticBreak node. -func NewThemanticBreak() *ThemanticBreak { - return &ThemanticBreak{ +// NewThematicBreak returns a new ThematicBreak node. +func NewThematicBreak() *ThematicBreak { + return &ThematicBreak{ BaseBlock: BaseBlock{}, } } diff --git a/parser/list.go b/parser/list.go index 88bcc2d..9be7405 100644 --- a/parser/list.go +++ b/parser/list.go @@ -162,8 +162,8 @@ func (b *listParser) Continue(node ast.Node, reader text.Reader, pc Context) Sta } return Continue | HasChildren } - // Themantic Breaks take precedence over lists - if isThemanticBreak(line) { + // Thematic Breaks take precedence over lists + if isThematicBreak(line) { isHeading := false last := pc.LastOpenedBlock().Node if ast.IsParagraph(last) { diff --git a/parser/parser.go b/parser/parser.go index 32bff58..adf3be7 100644 --- a/parser/parser.go +++ b/parser/parser.go @@ -520,7 +520,7 @@ type ASTTransformer interface { // Priorities of default BlockParsers are: // // SetextHeadingParser, 100 -// ThemanticBreakParser, 200 +// ThematicBreakParser, 200 // ListParser, 300 // ListItemParser, 400 // CodeBlockParser, 500 @@ -532,7 +532,7 @@ type ASTTransformer interface { func DefaultBlockParsers() []util.PrioritizedValue { return []util.PrioritizedValue{ util.Prioritized(NewSetextHeadingParser(), 100), - util.Prioritized(NewThemanticBreakParser(), 200), + util.Prioritized(NewThematicBreakParser(), 200), util.Prioritized(NewListParser(), 300), util.Prioritized(NewListItemParser(), 400), util.Prioritized(NewCodeBlockParser(), 500), diff --git a/parser/themantic_break.go b/parser/themantic_break.go deleted file mode 100644 index 8dfaf4e..0000000 --- a/parser/themantic_break.go +++ /dev/null @@ -1,71 +0,0 @@ -package parser - -import ( - "github.com/yuin/goldmark/ast" - "github.com/yuin/goldmark/text" - "github.com/yuin/goldmark/util" -) - -type themanticBreakParser struct { -} - -var defaultThemanticBreakParser = &themanticBreakParser{} - -// NewThemanticBreakParser returns a new BlockParser that -// parses themantic breaks. -func NewThemanticBreakParser() BlockParser { - return defaultThemanticBreakParser -} - -func isThemanticBreak(line []byte) bool { - w, pos := util.IndentWidth(line, 0) - if w > 3 { - return false - } - mark := byte(0) - count := 0 - for i := pos; i < len(line); i++ { - c := line[i] - if util.IsSpace(c) { - continue - } - if mark == 0 { - mark = c - count = 1 - if mark == '*' || mark == '-' || mark == '_' { - continue - } - return false - } - if c != mark { - return false - } - count++ - } - return count > 2 -} - -func (b *themanticBreakParser) Open(parent ast.Node, reader text.Reader, pc Context) (ast.Node, State) { - line, segment := reader.PeekLine() - if isThemanticBreak(line) { - reader.Advance(segment.Len() - 1) - return ast.NewThemanticBreak(), NoChildren - } - return nil, NoChildren -} - -func (b *themanticBreakParser) Continue(node ast.Node, reader text.Reader, pc Context) State { - return Close -} - -func (b *themanticBreakParser) Close(node ast.Node, reader text.Reader, pc Context) { - // nothing to do -} - -func (b *themanticBreakParser) CanInterruptParagraph() bool { - return true -} - -func (b *themanticBreakParser) CanAcceptIndentedLine() bool { - return false -} diff --git a/parser/thematic_break.go b/parser/thematic_break.go new file mode 100644 index 0000000..7a886c0 --- /dev/null +++ b/parser/thematic_break.go @@ -0,0 +1,71 @@ +package parser + +import ( + "github.com/yuin/goldmark/ast" + "github.com/yuin/goldmark/text" + "github.com/yuin/goldmark/util" +) + +type ThematicBreakParser struct { +} + +var defaultThematicBreakParser = &ThematicBreakParser{} + +// NewThematicBreakParser returns a new BlockParser that +// parses thematic breaks. +func NewThematicBreakParser() BlockParser { + return defaultThematicBreakParser +} + +func isThematicBreak(line []byte) bool { + w, pos := util.IndentWidth(line, 0) + if w > 3 { + return false + } + mark := byte(0) + count := 0 + for i := pos; i < len(line); i++ { + c := line[i] + if util.IsSpace(c) { + continue + } + if mark == 0 { + mark = c + count = 1 + if mark == '*' || mark == '-' || mark == '_' { + continue + } + return false + } + if c != mark { + return false + } + count++ + } + return count > 2 +} + +func (b *ThematicBreakParser) Open(parent ast.Node, reader text.Reader, pc Context) (ast.Node, State) { + line, segment := reader.PeekLine() + if isThematicBreak(line) { + reader.Advance(segment.Len() - 1) + return ast.NewThematicBreak(), NoChildren + } + return nil, NoChildren +} + +func (b *ThematicBreakParser) Continue(node ast.Node, reader text.Reader, pc Context) State { + return Close +} + +func (b *ThematicBreakParser) Close(node ast.Node, reader text.Reader, pc Context) { + // nothing to do +} + +func (b *ThematicBreakParser) CanInterruptParagraph() bool { + return true +} + +func (b *ThematicBreakParser) CanAcceptIndentedLine() bool { + return false +} diff --git a/renderer/html/html.go b/renderer/html/html.go index ca7c7e3..bed6a85 100644 --- a/renderer/html/html.go +++ b/renderer/html/html.go @@ -172,7 +172,7 @@ func (r *Renderer) RegisterFuncs(reg renderer.NodeRendererFuncRegisterer) { reg.Register(ast.KindListItem, r.renderListItem) reg.Register(ast.KindParagraph, r.renderParagraph) reg.Register(ast.KindTextBlock, r.renderTextBlock) - reg.Register(ast.KindThemanticBreak, r.renderThemanticBreak) + reg.Register(ast.KindThematicBreak, r.renderThematicBreak) // inlines @@ -333,7 +333,7 @@ func (r *Renderer) renderTextBlock(w util.BufWriter, source []byte, n ast.Node, return ast.WalkContinue, nil } -func (r *Renderer) renderThemanticBreak(w util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) { +func (r *Renderer) renderThematicBreak(w util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) { if !entering { return ast.WalkContinue, nil }