Fix mangled newlines in some code blocks
Because some tokens can contain newlines and not only comment tokens, I removed the comments specific code to handle newlines in a more generic way.
This commit is contained in:
parent
71f16b797f
commit
58c20698d6
@ -305,28 +305,20 @@ func (parser *htmlParser) syntaxHighlight(text, language string) Entity {
|
|||||||
|
|
||||||
var children []Entity
|
var children []Entity
|
||||||
for _, token := range tokens {
|
for _, token := range tokens {
|
||||||
if token.Value == "\n" {
|
lines := strings.SplitAfter(token.Value, "\n")
|
||||||
children = append(children, NewBreakEntity())
|
for _, line := range lines {
|
||||||
|
line_len := len(line)
|
||||||
} else if token.Type.String() == "CommentSingle" {
|
if line_len == 0 {
|
||||||
children = append(children, tokenToTextEntity(style, &token))
|
continue
|
||||||
children = append(children, NewBreakEntity())
|
}
|
||||||
|
|
||||||
} else if token.Type.String() == "CommentMultiline" {
|
|
||||||
lines := strings.Split(token.Value, "\n")
|
|
||||||
for i, line := range lines {
|
|
||||||
t := token.Clone()
|
t := token.Clone()
|
||||||
t.Value = line
|
t.Value = line
|
||||||
children = append(children, tokenToTextEntity(style, &t))
|
children = append(children, tokenToTextEntity(style, &t))
|
||||||
|
|
||||||
if i < len(lines)-1 {
|
if line[line_len-1:] == "\n" {
|
||||||
children = append(children, NewBreakEntity())
|
children = append(children, NewBreakEntity())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
|
||||||
children = append(children, tokenToTextEntity(style, &token))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return NewCodeBlockEntity(children, styleEntryToStyle(style.Get(chroma.Background)))
|
return NewCodeBlockEntity(children, styleEntryToStyle(style.Get(chroma.Background)))
|
||||||
|
Loading…
Reference in New Issue
Block a user