🎨 虚拟引用和反链提及大小写敏感遵循搜索设置 Fix https://github.com/siyuan-note/siyuan/issues/6181

This commit is contained in:
Liang Ding 2022-10-13 20:02:18 +08:00
parent aa094e549d
commit 2c610c2bad
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
2 changed files with 20 additions and 9 deletions

View file

@ -648,19 +648,26 @@ func markReplaceSpan(text string, keywords []string, replacementStart, replaceme
}
for _, k := range keywords {
if gulu.Str.IsASCII(k) {
if gulu.Str.IsASCII(part) {
if part == k {
parts[i] = replacementStart + k + replacementEnd
tmpPart := part
tmpK := k
if !Conf.Search.CaseSensitive {
tmpPart = strings.ToLower(part)
tmpK = strings.ToLower(k)
}
if gulu.Str.IsASCII(tmpK) {
if gulu.Str.IsASCII(tmpPart) {
if tmpPart == tmpK {
parts[i] = replacementStart + part + replacementEnd
}
} else {
if strings.Contains(part, k) {
parts[i] = strings.ReplaceAll(part, k, replacementStart+k+replacementEnd)
if strings.Contains(tmpPart, tmpK) {
parts[i] = search.EncloseHighlighting(part, []string{k}, replacementStart, replacementEnd, Conf.Search.CaseSensitive)
}
}
} else {
if strings.Contains(part, k) {
parts[i] = strings.ReplaceAll(part, k, replacementStart+k+replacementEnd)
if strings.Contains(tmpPart, tmpK) {
parts[i] = search.EncloseHighlighting(part, []string{k}, replacementStart, replacementEnd, Conf.Search.CaseSensitive)
}
}
}