瀏覽代碼

:art: Improve search highlighting https://github.com/siyuan-note/siyuan/issues/13343

Daniel 7 月之前
父節點
當前提交
08e3b6b82f
共有 2 個文件被更改,包括 4 次插入3 次删除
  1. 2 1
      kernel/api/filetree.go
  2. 2 2
      kernel/model/file.go

+ 2 - 1
kernel/api/filetree.go

@@ -1120,7 +1120,7 @@ func getDoc(c *gin.Context) {
 		highlight = highlightArg.(bool)
 	}
 
-	blockCount, content, parentID, parent2ID, rootID, typ, eof, scroll, boxID, docPath, isBacklinkExpand, err :=
+	blockCount, content, parentID, parent2ID, rootID, typ, eof, scroll, boxID, docPath, isBacklinkExpand, keywords, err :=
 		model.GetDoc(startID, endID, id, index, query, queryTypes, queryMethod, mode, size, isBacklink, highlight)
 	if model.ErrBlockNotFound == err {
 		ret.Code = 3
@@ -1151,6 +1151,7 @@ func getDoc(c *gin.Context) {
 		"path":             docPath,
 		"isSyncing":        isSyncing,
 		"isBacklinkExpand": isBacklinkExpand,
+		"keywords":         keywords,
 	}
 }
 

+ 2 - 2
kernel/model/file.go

@@ -599,7 +599,8 @@ func StatTree(id string) (ret *util.BlockStatResult) {
 	}
 }
 
-func GetDoc(startID, endID, id string, index int, query string, queryTypes map[string]bool, queryMethod, mode int, size int, isBacklink, highlight bool) (blockCount int, dom, parentID, parent2ID, rootID, typ string, eof, scroll bool, boxID, docPath string, isBacklinkExpand bool, err error) {
+func GetDoc(startID, endID, id string, index int, query string, queryTypes map[string]bool, queryMethod, mode int, size int, isBacklink, highlight bool) (
+	blockCount int, dom, parentID, parent2ID, rootID, typ string, eof, scroll bool, boxID, docPath string, isBacklinkExpand bool, keywords []string, err error) {
 	//os.MkdirAll("pprof", 0755)
 	//cpuProfile, _ := os.Create("pprof/GetDoc")
 	//pprof.StartCPUProfile(cpuProfile)
@@ -800,7 +801,6 @@ func GetDoc(startID, endID, id string, index int, query string, queryTypes map[s
 
 	subTree := &parse.Tree{ID: rootID, Root: &ast.Node{Type: ast.NodeDocument}, Marks: tree.Marks}
 
-	var keywords []string
 	if "" != query && (0 == queryMethod || 1 == queryMethod || 3 == queryMethod) { // 只有关键字、查询语法和正则表达式搜索支持高亮
 		if 0 == queryMethod {
 			query = stringQuery(query)