From b6eea4b3977b34ac3b9b7b78272c815bcc529a99 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 24 Feb 2025 21:47:03 +0800 Subject: [PATCH] :art: Improve find-replace of text containing escape characters https://github.com/siyuan-note/siyuan/issues/14173 --- kernel/model/search.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kernel/model/search.go b/kernel/model/search.go index 5afe09fcf..4a012eba4 100644 --- a/kernel/model/search.go +++ b/kernel/model/search.go @@ -590,6 +590,12 @@ func FindReplace(keyword, replacement string, replaceTypes map[string]bool, ids if replaceTextNode(n, method, keyword, replacement, r, luteEngine) { if nil != n.Parent && ast.NodeBackslash == n.Parent.Type { unlinks = append(unlinks, n.Parent) + + prev, next := n.Parent.Previous, n.Parent.Next + if nil != prev && ast.NodeText == prev.Type && nil != next && ast.NodeText == next.Type { + prev.Tokens = append(prev.Tokens, next.Tokens...) + unlinks = append(unlinks, next) + } } else { unlinks = append(unlinks, n) }