✏️ 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.
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{},
}
}

View file

@ -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) {

View file

@ -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),

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