🐛 Find-replace escaped characters will lose content https://github.com/siyuan-note/siyuan/issues/14438

This commit is contained in:
Daniel 2025-03-30 21:08:36 +08:00
parent 5c1961cb7e
commit 86106d62c0
No known key found for this signature in database
GPG Key ID: 86211BA83DF03017

View File

@ -592,8 +592,12 @@ func FindReplace(keyword, replacement string, replaceTypes map[string]bool, ids
unlinks = append(unlinks, n.Parent)
prev, next := n.Parent.Previous, n.Parent.Next
for ; prev != nil && ast.NodeText == prev.Type && prev.Tokens == nil; prev = prev.Previous {
// Tokens 为空的节点是之前处理过的节点,需要跳过
}
if nil != prev && ast.NodeText == prev.Type && nil != next && ast.NodeText == next.Type {
prev.Tokens = append(prev.Tokens, next.Tokens...)
next.Tokens = nil // 将 Tokens 设置为空,表示该节点已经被处理过
unlinks = append(unlinks, next)
}
} else {