🎨 Improve find-replace for keywords containing spaces https://github.com/siyuan-note/siyuan/issues/13705

This commit is contained in:
Daniel 2025-01-05 00:03:57 +08:00
parent c8f80b6afd
commit 43d3566876
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -988,11 +988,6 @@ func FullTextSearchBlock(query string, boxes, paths []string, types map[string]b
}
query = filterQueryInvisibleChars(query)
trimQuery := strings.TrimSpace(query)
if "" != trimQuery {
query = trimQuery
}
var ignoreFilter string
if ignoreLines := getSearchIgnoreLines(); 0 < len(ignoreLines) {
// Support ignore search results https://github.com/siyuan-note/siyuan/issues/10089
@ -1755,22 +1750,26 @@ func columnConcat() string {
}
func stringQuery(query string) string {
if "" == strings.TrimSpace(query) {
trimmedQuery := strings.TrimSpace(query)
if "" == trimmedQuery {
return "\"" + query + "\""
}
query = strings.ReplaceAll(query, "\"", "\"\"")
query = strings.ReplaceAll(query, "'", "''")
buf := bytes.Buffer{}
parts := strings.Split(query, " ")
for _, part := range parts {
part = strings.TrimSpace(part)
part = "\"" + part + "\""
buf.WriteString(part)
buf.WriteString(" ")
if strings.Contains(trimmedQuery, " ") {
buf := bytes.Buffer{}
parts := strings.Split(query, " ")
for _, part := range parts {
part = strings.TrimSpace(part)
part = "\"" + part + "\""
buf.WriteString(part)
buf.WriteString(" ")
}
return strings.TrimSpace(buf.String())
}
return strings.TrimSpace(buf.String())
return "\"" + query + "\""
}
// markReplaceSpan 用于处理搜索高亮。