feat: 添加 Markdown 终端渲染支持(glamour)
This commit is contained in:
@@ -118,3 +118,38 @@ func (r *SimpleReader) ReadString() (string, error) {
|
||||
}
|
||||
return line, nil
|
||||
}
|
||||
|
||||
func FindParagraphEnd(text string, startPos int) int {
|
||||
if startPos >= len(text) {
|
||||
return 0
|
||||
}
|
||||
|
||||
inCodeBlock := false
|
||||
inMathBlock := false
|
||||
|
||||
for i := startPos; i < len(text); i++ {
|
||||
if i+3 < len(text) && text[i:i+3] == "```" {
|
||||
if !inCodeBlock {
|
||||
inCodeBlock = true
|
||||
} else {
|
||||
inCodeBlock = false
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
if i+2 < len(text) && (text[i:i+2] == "$$" || text[i:i+2] == "\\[") {
|
||||
inMathBlock = !inMathBlock
|
||||
continue
|
||||
}
|
||||
|
||||
if inCodeBlock || inMathBlock {
|
||||
continue
|
||||
}
|
||||
|
||||
if i+1 < len(text) && text[i] == '\n' && text[i+1] == '\n' {
|
||||
return i + 2
|
||||
}
|
||||
}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user