|
@@ -1001,7 +1001,7 @@ func stringQuery(query string) string {
|
|
|
func markReplaceSpan(n *ast.Node, unlinks *[]*ast.Node, keywords []string, markSpanDataType string, luteEngine *lute.Lute) bool {
|
|
|
text := n.Content()
|
|
|
if ast.NodeText == n.Type {
|
|
|
- text = search.EncloseHighlighting(text, keywords, search.GetMarkSpanStart(markSpanDataType), search.GetMarkSpanEnd(), Conf.Search.CaseSensitive)
|
|
|
+ text = search.EncloseHighlighting(text, keywords, search.GetMarkSpanStart(markSpanDataType), search.GetMarkSpanEnd(), Conf.Search.CaseSensitive, false)
|
|
|
n.Tokens = gulu.Str.ToBytes(text)
|
|
|
if bytes.Contains(n.Tokens, []byte(search.MarkDataType)) {
|
|
|
linkTree := parse.Inline("", n.Tokens, luteEngine.ParseOptions)
|
|
@@ -1022,7 +1022,7 @@ func markReplaceSpan(n *ast.Node, unlinks *[]*ast.Node, keywords []string, markS
|
|
|
}
|
|
|
|
|
|
startTag := search.GetMarkSpanStart(markSpanDataType)
|
|
|
- text = search.EncloseHighlighting(text, keywords, startTag, search.GetMarkSpanEnd(), Conf.Search.CaseSensitive)
|
|
|
+ text = search.EncloseHighlighting(text, keywords, startTag, search.GetMarkSpanEnd(), Conf.Search.CaseSensitive, false)
|
|
|
if strings.Contains(text, search.MarkDataType) {
|
|
|
dataType := search.GetMarkSpanStart(n.TextMarkType + " " + search.MarkDataType)
|
|
|
text = strings.ReplaceAll(text, startTag, dataType)
|
|
@@ -1075,7 +1075,7 @@ func markReplaceSpanWithSplit(text string, keywords []string, replacementStart,
|
|
|
// 虚拟引用和反链提及关键字按最长匹配优先 https://github.com/siyuan-note/siyuan/issues/7465
|
|
|
sort.Slice(keywords, func(i, j int) bool { return len(keywords[i]) > len(keywords[j]) })
|
|
|
|
|
|
- tmp := search.EncloseHighlighting(text, keywords, replacementStart, replacementEnd, Conf.Search.CaseSensitive)
|
|
|
+ tmp := search.EncloseHighlighting(text, keywords, replacementStart, replacementEnd, Conf.Search.CaseSensitive, true)
|
|
|
parts := strings.Split(tmp, replacementEnd)
|
|
|
buf := bytes.Buffer{}
|
|
|
for i := 0; i < len(parts); i++ {
|