Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
74273ebc1c
1 changed files with 6 additions and 20 deletions
|
@ -40,7 +40,6 @@ func AutoSpace(rootID string) (err error) {
|
|||
defer util.ClearPushProgress(100)
|
||||
|
||||
generateFormatHistory(tree)
|
||||
|
||||
luteEngine := NewLute()
|
||||
// 合并相邻的同类行级节点
|
||||
ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus {
|
||||
|
@ -53,31 +52,18 @@ func AutoSpace(rootID string) (err error) {
|
|||
return ast.WalkContinue
|
||||
})
|
||||
|
||||
// 合并相邻的文本节点
|
||||
for {
|
||||
var unlinks []*ast.Node
|
||||
ast.Walk(tree.Root, func(n *ast.Node, entering bool) ast.WalkStatus {
|
||||
if entering && ast.NodeText == n.Type && nil != n.Next && ast.NodeText == n.Next.Type {
|
||||
n.Tokens = append(n.Tokens, n.Next.Tokens...)
|
||||
unlinks = append(unlinks, n.Next)
|
||||
}
|
||||
return ast.WalkContinue
|
||||
})
|
||||
for _, n := range unlinks {
|
||||
n.Unlink()
|
||||
}
|
||||
if 1 > len(unlinks) {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
rootIAL := tree.Root.KramdownIAL
|
||||
addBlockIALNodes(tree, false)
|
||||
|
||||
luteEngine.SetAutoSpace(true)
|
||||
// 第一次格式化为了合并相邻的文本节点
|
||||
formatRenderer := render.NewFormatRenderer(tree, luteEngine.RenderOptions)
|
||||
md := formatRenderer.Render()
|
||||
newTree := parseKTree(md)
|
||||
// 第二次格式化启用自动空格
|
||||
luteEngine.SetAutoSpace(true)
|
||||
formatRenderer = render.NewFormatRenderer(newTree, luteEngine.RenderOptions)
|
||||
md = formatRenderer.Render()
|
||||
newTree = parseKTree(md)
|
||||
newTree.Root.ID = tree.ID
|
||||
newTree.Root.KramdownIAL = rootIAL
|
||||
newTree.ID = tree.ID
|
||||
|
|
Loading…
Add table
Reference in a new issue