✏️ Fix typos

This commit is contained in:
Liang Ding 2019-08-07 18:15:09 +08:00
parent d29104889a
commit 6f6884271d
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
6 changed files with 87 additions and 87 deletions

View file

@ -166,27 +166,27 @@ func NewHeading(level int) *Heading {
} }
} }
// A ThemanticBreak struct represents a thematic break of Markdown text. // A ThematicBreak struct represents a thematic break of Markdown text.
type ThemanticBreak struct { type ThematicBreak struct {
BaseBlock BaseBlock
} }
// Dump implements Node.Dump . // 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) DumpHelper(n, source, level, nil, nil)
} }
// KindThemanticBreak is a NodeKind of the ThemanticBreak node. // KindThematicBreak is a NodeKind of the ThematicBreak node.
var KindThemanticBreak = NewNodeKind("ThemanticBreak") var KindThematicBreak = NewNodeKind("ThematicBreak")
// Kind implements Node.Kind. // Kind implements Node.Kind.
func (n *ThemanticBreak) Kind() NodeKind { func (n *ThematicBreak) Kind() NodeKind {
return KindThemanticBreak return KindThematicBreak
} }
// NewThemanticBreak returns a new ThemanticBreak node. // NewThematicBreak returns a new ThematicBreak node.
func NewThemanticBreak() *ThemanticBreak { func NewThematicBreak() *ThematicBreak {
return &ThemanticBreak{ return &ThematicBreak{
BaseBlock: BaseBlock{}, BaseBlock: BaseBlock{},
} }
} }

View file

@ -162,8 +162,8 @@ func (b *listParser) Continue(node ast.Node, reader text.Reader, pc Context) Sta
} }
return Continue | HasChildren return Continue | HasChildren
} }
// Themantic Breaks take precedence over lists // Thematic Breaks take precedence over lists
if isThemanticBreak(line) { if isThematicBreak(line) {
isHeading := false isHeading := false
last := pc.LastOpenedBlock().Node last := pc.LastOpenedBlock().Node
if ast.IsParagraph(last) { if ast.IsParagraph(last) {

View file

@ -520,7 +520,7 @@ type ASTTransformer interface {
// Priorities of default BlockParsers are: // Priorities of default BlockParsers are:
// //
// SetextHeadingParser, 100 // SetextHeadingParser, 100
// ThemanticBreakParser, 200 // ThematicBreakParser, 200
// ListParser, 300 // ListParser, 300
// ListItemParser, 400 // ListItemParser, 400
// CodeBlockParser, 500 // CodeBlockParser, 500
@ -532,7 +532,7 @@ type ASTTransformer interface {
func DefaultBlockParsers() []util.PrioritizedValue { func DefaultBlockParsers() []util.PrioritizedValue {
return []util.PrioritizedValue{ return []util.PrioritizedValue{
util.Prioritized(NewSetextHeadingParser(), 100), util.Prioritized(NewSetextHeadingParser(), 100),
util.Prioritized(NewThemanticBreakParser(), 200), util.Prioritized(NewThematicBreakParser(), 200),
util.Prioritized(NewListParser(), 300), util.Prioritized(NewListParser(), 300),
util.Prioritized(NewListItemParser(), 400), util.Prioritized(NewListItemParser(), 400),
util.Prioritized(NewCodeBlockParser(), 500), util.Prioritized(NewCodeBlockParser(), 500),

View file

@ -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
}

71
parser/thematic_break.go Normal file
View file

@ -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
}

View file

@ -172,7 +172,7 @@ func (r *Renderer) RegisterFuncs(reg renderer.NodeRendererFuncRegisterer) {
reg.Register(ast.KindListItem, r.renderListItem) reg.Register(ast.KindListItem, r.renderListItem)
reg.Register(ast.KindParagraph, r.renderParagraph) reg.Register(ast.KindParagraph, r.renderParagraph)
reg.Register(ast.KindTextBlock, r.renderTextBlock) reg.Register(ast.KindTextBlock, r.renderTextBlock)
reg.Register(ast.KindThemanticBreak, r.renderThemanticBreak) reg.Register(ast.KindThematicBreak, r.renderThematicBreak)
// inlines // inlines
@ -333,7 +333,7 @@ func (r *Renderer) renderTextBlock(w util.BufWriter, source []byte, n ast.Node,
return ast.WalkContinue, nil 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 { if !entering {
return ast.WalkContinue, nil return ast.WalkContinue, nil
} }