MooTool

Handy tool set for developers

View on GitHub

DIFF-021:随手记快速替换与本产品文档库

原行为(Electron)

文档库为用户可选目录;元数据可写 frontmatter。快速替换 24 项在 quickReplace.ts:行处理前 CRLF 归一;localeCompare 默认 locale 排序;Number(...).toExponential() 转科学计数;JSON.stringify/JSON.parse 做转义。选区优先,否则全文,一次操作为一次撤销。

本产品行为

默认库为 data/vaults/quick-note,设置可改绝对路径,路径 normalize 后禁止逃出库根。快速替换对齐上述 24 个 ID 与 Electron 测试样本;排序用 Collator(Locale.ROOT);科学计数用手写 mantissa/exponent,不以 Java String.format("%e") 冒充 JS。转义用手写 JSON 字符串规则 + Jackson 反解析。选区走 EditorBuffer.replaceRange

本轮不做 Git、Markdown 预览/分栏、列编辑、附件、frontmatter 隐藏、全文索引或外部冲突监视;这些入口没有做成空按钮。

理由

产品线独立要求自有 Vault。JVM 没有 JS localeCompare/toExponential 的默认实现,必须固定可测规则。未完成能力按验收规则保持未实现,不能用预览壳冒充。

证据

QuickReplaceEngineTest:与 Electron 相同的空行/去重计数/排序、hello_world/1.25e3/1,234,567.5、单引号列表与 escape 往返。StorageIsolationTest.noteVaultRejectsPathEscapeAndCreatesMarkdowndesktopTest 120/120

受影响范围