From d9e51448dc85e263cfb3acf20ce45979bdda7ddd Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Wed, 16 Nov 2022 10:33:30 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E8=99=9A=E6=8B=9F=E5=BC=95=E7=94=A8?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E5=85=B3=E9=94=AE=E5=AD=97=E6=9C=80=E5=A4=9A?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20`512`=20=E4=B8=AA=20Fix=20https://github.c?= =?UTF-8?q?om/siyuan-note/siyuan/issues/6603?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/virutalref.go | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/kernel/model/virutalref.go b/kernel/model/virutalref.go index 91c3930bd..7fd370eec 100644 --- a/kernel/model/virutalref.go +++ b/kernel/model/virutalref.go @@ -109,20 +109,17 @@ func getVirtualRefKeywords(docName string) (ret []string) { // 虚拟引用排除当前文档名 https://github.com/siyuan-note/siyuan/issues/4537 ret = gulu.Str.ExcludeElem(ret, []string{docName}) ret = prepareMarkKeywords(ret) + // 虚拟引用搜索关键字最多支持 `512` 个 https://github.com/siyuan-note/siyuan/issues/6603 + if 512 < len(ret) { + ret = ret[:512] + } return } func prepareMarkKeywords(keywords []string) (ret []string) { - keywords = gulu.Str.RemoveDuplicatedElem(keywords) - for _, k := range keywords { - if strings.ContainsAny(k, "?*!@#$%^&()[]{}\\|;:'\",.<>~`") { - continue - } - ret = append(ret, k) - } - + ret = gulu.Str.RemoveDuplicatedElem(keywords) sort.SliceStable(ret, func(i, j int) bool { - return len(ret[i]) < len(ret[j]) + return len(ret[i]) > len(ret[j]) }) return }