🎨 支持代码块搜索定位和高亮 https://github.com/siyuan-note/siyuan/issues/5520

This commit is contained in:
Liang Ding 2022-07-27 00:27:20 +08:00
parent 7f9ef304cf
commit ac357adc73
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
4 changed files with 12 additions and 4 deletions

File diff suppressed because one or more lines are too long

View file

@ -7,7 +7,7 @@ require (
github.com/88250/css v0.1.2
github.com/88250/flock v0.8.2
github.com/88250/gulu v1.2.3-0.20220720144315-065ef35ec583
github.com/88250/lute v1.7.5-0.20220724154255-81edef2f3ae2
github.com/88250/lute v1.7.5-0.20220726162257-7b9da9eaea07
github.com/88250/melody v0.0.0-20201115062536-c0b3394adcd1
github.com/88250/pdfcpu v0.3.13
github.com/88250/protyle v0.0.0-20220519012506-0a2c8dc24397

View file

@ -58,8 +58,8 @@ github.com/88250/gulu v1.2.0/go.mod h1:ZhEJ98UjR2y7j2toGj4/b+1rRELcZFQAPq/Yjyin2
github.com/88250/gulu v1.2.3-0.20220720144315-065ef35ec583 h1:FhA/zJemLrbOYJpdMIMBezO5rGigQSdPR1kv+aztHfA=
github.com/88250/gulu v1.2.3-0.20220720144315-065ef35ec583/go.mod h1:I1qBzsksFL2ciGSuqDE7R3XW4BUMrfDgOvSXEk7FsAI=
github.com/88250/lute v1.7.4-0.20220426011157-34c9bfa2e148/go.mod h1:Bdu9LRNjQhtL3TftbtpjIWTwDVAXoS7AD8QsZQPk7zo=
github.com/88250/lute v1.7.5-0.20220724154255-81edef2f3ae2 h1:nwgPx0LUAQ1sWlcBm/VSNK7RAHBdtOTNiPaEUFnuISQ=
github.com/88250/lute v1.7.5-0.20220724154255-81edef2f3ae2/go.mod h1:Bdu9LRNjQhtL3TftbtpjIWTwDVAXoS7AD8QsZQPk7zo=
github.com/88250/lute v1.7.5-0.20220726162257-7b9da9eaea07 h1:lP/RM3N3Hm+H6Jng/DfCzVwcrkPOrUkrjCC5///rtBg=
github.com/88250/lute v1.7.5-0.20220726162257-7b9da9eaea07/go.mod h1:Bdu9LRNjQhtL3TftbtpjIWTwDVAXoS7AD8QsZQPk7zo=
github.com/88250/melody v0.0.0-20201115062536-c0b3394adcd1 h1:9Cb+iN639vUI2OcIBc+4oGwml9/0J6bL6dWNb8Al+1s=
github.com/88250/melody v0.0.0-20201115062536-c0b3394adcd1/go.mod h1:jH6MMPr8G7AMzaVmWHXZQiB1DKO3giWbcWZ7UoJ1teI=
github.com/88250/pdfcpu v0.3.13 h1:touMWMZkCGalMIbEg9bxYp7rETM+zwb9hXjwhqi4I7Q=

View file

@ -615,6 +615,14 @@ func GetDoc(id string, index int, keyword string, mode int, size int) (blockCoun
return ast.WalkSkipChildren
}
// TODO: 支持代码块搜索定位和高亮 https://github.com/siyuan-note/siyuan/issues/5520
if ast.NodeCodeBlockCode == n.Type {
// 搜索高亮
text := string(n.Tokens)
text = search.EncloseHighlighting(text, keywords, "__@mark__", "__mark@__", Conf.Search.CaseSensitive)
n.Tokens = gulu.Str.ToBytes(text)
}
if ast.NodeText == n.Type {
if 0 < len(keywords) {
// 搜索高亮