summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/russross/blackfriday/block.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/russross/blackfriday/block.go')
-rw-r--r--vendor/github.com/russross/blackfriday/block.go24
1 files changed, 15 insertions, 9 deletions
diff --git a/vendor/github.com/russross/blackfriday/block.go b/vendor/github.com/russross/blackfriday/block.go
index 45c21a6c..563cb290 100644
--- a/vendor/github.com/russross/blackfriday/block.go
+++ b/vendor/github.com/russross/blackfriday/block.go
@@ -649,14 +649,17 @@ func isFenceLine(data []byte, info *string, oldmarker string, newlineOptional bo
}
i = skipChar(data, i, ' ')
- if i >= len(data) || data[i] != '\n' {
- if newlineOptional && i == len(data) {
+ if i >= len(data) {
+ if newlineOptional {
return i, marker
}
return 0, ""
}
+ if data[i] == '\n' {
+ i++ // Take newline into account
+ }
- return i + 1, marker // Take newline into account.
+ return i, marker
}
// fencedCodeBlock returns the end index if data contains a fenced code block at the beginning,
@@ -1133,6 +1136,15 @@ func (p *parser) listItem(out *bytes.Buffer, data []byte, flags *int) int {
i++
}
+ // process the following lines
+ containsBlankLine := false
+ sublist := 0
+ codeBlockMarker := ""
+ if p.flags&EXTENSION_FENCED_CODE != 0 && i > line {
+ // determine if codeblock starts on the first line
+ _, codeBlockMarker = isFenceLine(data[line:i], nil, "", false)
+ }
+
// get working buffer
var raw bytes.Buffer
@@ -1140,11 +1152,6 @@ func (p *parser) listItem(out *bytes.Buffer, data []byte, flags *int) int {
raw.Write(data[line:i])
line = i
- // process the following lines
- containsBlankLine := false
- sublist := 0
- codeBlockMarker := ""
-
gatherlines:
for line < len(data) {
i++
@@ -1153,7 +1160,6 @@ gatherlines:
for data[i-1] != '\n' {
i++
}
-
// if it is an empty line, guess that it is part of this item
// and move on to the next line
if p.isEmpty(data[line:i]) > 0 {