From bdc48a6d246e089e13657460d69b6b05e5e0cc77 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Tue, 8 Jul 2025 20:38:59 +0800 Subject: [PATCH] :bug: Virtual reference keyword exclusion list does not work in certain cases https://github.com/siyuan-note/siyuan/issues/15252 --- kernel/model/virutalref.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/kernel/model/virutalref.go b/kernel/model/virutalref.go index 88f7319b3..67a899028 100644 --- a/kernel/model/virutalref.go +++ b/kernel/model/virutalref.go @@ -252,12 +252,16 @@ func getVirtualRefKeywords(root *ast.Node) (ret []string) { if 0 < len(regexps) { tmp = nil for _, str := range ret { + matchExclude := false for _, re := range regexps { - if ok, regErr := regexp.MatchString(re, str); !ok && nil == regErr { - tmp = append(tmp, str) + if ok, _ := regexp.MatchString(re, str); ok { + matchExclude = true break } } + if !matchExclude { + tmp = append(tmp, str) + } } ret = tmp }