🎨 Find replace supports selecting element types https://github.com/siyuan-note/siyuan/issues/9895

This commit is contained in:
Daniel 2023-12-17 11:47:40 +08:00
parent 97af8f874b
commit a379e24b3b
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -160,16 +160,17 @@ func getRecentDocs() (ret []*RecentDoc, err error) {
}
type Criterion struct {
Name string `json:"name"`
Sort int `json:"sort"` // 0按块类型默认1按创建时间升序2按创建时间降序3按更新时间升序4按更新时间降序5按内容顺序仅在按文档分组时
Group int `json:"group"` // 0不分组1按文档分组
HasReplace bool `json:"hasReplace"` // 是否有替换
Method int `json:"method"` // 0文本1查询语法2SQL3正则表达式
HPath string `json:"hPath"`
IDPath []string `json:"idPath"`
K string `json:"k"` // 搜索关键字
R string `json:"r"` // 替换关键字
Types *CriterionTypes `json:"types"` // 类型过滤选项
Name string `json:"name"`
Sort int `json:"sort"` // 0按块类型默认1按创建时间升序2按创建时间降序3按更新时间升序4按更新时间降序5按内容顺序仅在按文档分组时
Group int `json:"group"` // 0不分组1按文档分组
HasReplace bool `json:"hasReplace"` // 是否有替换
Method int `json:"method"` // 0文本1查询语法2SQL3正则表达式
HPath string `json:"hPath"`
IDPath []string `json:"idPath"`
K string `json:"k"` // 搜索关键字
R string `json:"r"` // 替换关键字
Types *CriterionTypes `json:"types"` // 类型过滤选项
ReplaceTypes *CriterionReplaceTypes `json:"replaceTypes"` // 替换类型过滤选项
}
type CriterionTypes struct {
@ -187,6 +188,32 @@ type CriterionTypes struct {
EmbedBlock bool `json:"embedBlock"`
}
type CriterionReplaceTypes struct {
Text bool `json:"text"`
ImgText bool `json:"img-text"`
ImgTitle bool `json:"img-title"`
ImgSrc bool `json:"img-src"`
AText bool `json:"a-text"`
ATitle bool `json:"a-title"`
AHref bool `json:"a-href"`
Code bool `json:"code"`
Em bool `json:"em"`
Strong bool `json:"strong"`
InlineMath bool `json:"inline-math"`
InlineMemo bool `json:"inline-memo"`
Kbd bool `json:"kbd"`
Mark bool `json:"mark"`
S bool `json:"s"`
Sub bool `json:"sub"`
Sup bool `json:"sup"`
Tag bool `json:"tag"`
U bool `json:"u"`
DocTitle bool `json:"doc-title"`
CodeBlock bool `json:"code-block"`
MathBlock bool `json:"math-block"`
HtmlBlock bool `json:"html-block"`
}
var criteriaLock = sync.Mutex{}
func RemoveCriterion(name string) (err error) {