🎨 搜索结果高亮支持大部分行级元素 https://github.com/siyuan-note/siyuan/issues/6745

This commit is contained in:
Liang Ding 2022-12-25 11:06:23 +08:00
parent dc72c05d18
commit 3d92974f9e
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
4 changed files with 22 additions and 21 deletions

View file

@ -644,7 +644,6 @@ func GetDoc(startID, endID, id string, index int, keyword string, mode int, size
n.Tokens = gulu.Str.ToBytes(text) n.Tokens = gulu.Str.ToBytes(text)
} }
if ast.NodeText == n.Type {
if 0 < len(keywords) { if 0 < len(keywords) {
hitBlock := false hitBlock := false
for p := n.Parent; nil != p; p = p.Parent { for p := n.Parent; nil != p; p = p.Parent {
@ -663,7 +662,6 @@ func GetDoc(startID, endID, id string, index int, keyword string, mode int, size
if processVirtualRef(n, &unlinks, virtualBlockRefKeywords, refCount, luteEngine) { if processVirtualRef(n, &unlinks, virtualBlockRefKeywords, refCount, luteEngine) {
return ast.WalkContinue return ast.WalkContinue
} }
}
return ast.WalkContinue return ast.WalkContinue
}) })

View file

@ -177,13 +177,11 @@ func GetDocHistoryContent(historyPath, keyword string) (id, rootID, content stri
n.RemoveIALAttr("heading-fold") n.RemoveIALAttr("heading-fold")
n.RemoveIALAttr("fold") n.RemoveIALAttr("fold")
if ast.NodeText == n.Type {
if 0 < len(keywords) { if 0 < len(keywords) {
if markReplaceSpan(n, &unlinks, keywords, searchMarkDataType, luteEngine) { if markReplaceSpan(n, &unlinks, keywords, searchMarkDataType, luteEngine) {
return ast.WalkContinue return ast.WalkContinue
} }
} }
}
return ast.WalkContinue return ast.WalkContinue
}) })

View file

@ -893,6 +893,7 @@ func markReplaceSpan(n *ast.Node, unlinks *[]*ast.Node, keywords []string, markS
} }
} else if ast.NodeTextMark == n.Type { } else if ast.NodeTextMark == n.Type {
// TODO 搜索结果高亮支持大部分行级元素 https://github.com/siyuan-note/siyuan/issues/6745 // TODO 搜索结果高亮支持大部分行级元素 https://github.com/siyuan-note/siyuan/issues/6745
} }
return false return false
} }

View file

@ -35,6 +35,10 @@ func processVirtualRef(n *ast.Node, unlinks *[]*ast.Node, virtualBlockRefKeyword
return false return false
} }
if ast.NodeText != n.Type {
return false
}
parentBlock := treenode.ParentBlock(n) parentBlock := treenode.ParentBlock(n)
if nil == parentBlock || 0 < refCount[parentBlock.ID] { if nil == parentBlock || 0 < refCount[parentBlock.ID] {
return false return false