summaryrefslogtreecommitdiff
path: root/vendor/github.com/yuin/goldmark/parser
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/yuin/goldmark/parser')
-rw-r--r--vendor/github.com/yuin/goldmark/parser/blockquote.go11
-rw-r--r--vendor/github.com/yuin/goldmark/parser/list_item.go2
-rw-r--r--vendor/github.com/yuin/goldmark/parser/parser.go8
3 files changed, 15 insertions, 6 deletions
diff --git a/vendor/github.com/yuin/goldmark/parser/blockquote.go b/vendor/github.com/yuin/goldmark/parser/blockquote.go
index e7778dca7..8faa7ac94 100644
--- a/vendor/github.com/yuin/goldmark/parser/blockquote.go
+++ b/vendor/github.com/yuin/goldmark/parser/blockquote.go
@@ -28,12 +28,13 @@ func (b *blockquoteParser) process(reader text.Reader) bool {
reader.Advance(pos)
return true
}
- if line[pos] == ' ' || line[pos] == '\t' {
- pos++
- }
reader.Advance(pos)
- if line[pos-1] == '\t' {
- reader.SetPadding(2)
+ if line[pos] == ' ' || line[pos] == '\t' {
+ padding := 0
+ if line[pos] == '\t' {
+ padding = util.TabWidth(reader.LineOffset()) - 1
+ }
+ reader.AdvanceAndSetPadding(1, padding)
}
return true
}
diff --git a/vendor/github.com/yuin/goldmark/parser/list_item.go b/vendor/github.com/yuin/goldmark/parser/list_item.go
index 81357a9ad..2206ad908 100644
--- a/vendor/github.com/yuin/goldmark/parser/list_item.go
+++ b/vendor/github.com/yuin/goldmark/parser/list_item.go
@@ -58,7 +58,7 @@ func (b *listItemParser) Continue(node ast.Node, reader text.Reader, pc Context)
}
offset := lastOffset(node.Parent())
- isEmpty := node.ChildCount() == 0
+ isEmpty := node.ChildCount() == 0 && pc.Get(emptyListItemWithBlankLines) != nil
indent, _ := util.IndentWidth(line, reader.LineOffset())
if (isEmpty || indent < offset) && indent < 4 {
_, typ := matchesListItem(line, true)
diff --git a/vendor/github.com/yuin/goldmark/parser/parser.go b/vendor/github.com/yuin/goldmark/parser/parser.go
index 5cc2175f9..b59666c6d 100644
--- a/vendor/github.com/yuin/goldmark/parser/parser.go
+++ b/vendor/github.com/yuin/goldmark/parser/parser.go
@@ -878,10 +878,17 @@ func (p *parser) Parse(reader text.Reader, opts ...ParseOption) ast.Node {
blockReader := text.NewBlockReader(reader.Source(), nil)
p.walkBlock(root, func(node ast.Node) {
p.parseBlock(blockReader, node, pc)
+ lines := node.Lines()
+ if lines != nil && lines.Len() != 0 {
+ s := lines.At(lines.Len() - 1)
+ s.EOB = true
+ lines.Set(lines.Len()-1, s)
+ }
})
for _, at := range p.astTransformers {
at.Transform(root, reader, pc)
}
+
// root.Dump(reader.Source(), 0)
return root
}
@@ -1256,4 +1263,5 @@ func (p *parser) parseBlock(block text.BlockReader, parent ast.Node, pc Context)
for _, ip := range p.closeBlockers {
ip.CloseBlock(parent, block, pc)
}
+
}