aardio 文档

textkit.editor 库模块帮助文档

操作选择

最小参数

需求 operation 必要字段
准确旧片段替换 replace oldText, newText
锚点前 / 后插入 insertBefore / insertAfter anchor, newText
替换完整行 replaceLines startLine, newText;endLine 可省略
保留两端锚点,替换中间 replaceBetween beginAnchor, endAnchor, newText
保留两端锚点,删除中间 deleteBetween beginAnchor, endAnchor

Minimal args:只传当前操作对应字段;不适用的定位、保护参数会报错。newText 不能省略;空字符串才表示删除。deleteBetween 不接收 newText。

Copy old / format new:oldText、anchor、expectedOldText 复制当前原文,不 trim/dedent,不重新排版。新片段可显式用 textkit.indent/dedent 调整。编辑器不推测缩进,不提供正则、模糊匹配或空白放宽。

多处与行尾

EOL-only tolerance:默认仅忽略 CRLF/LF/CR 差异,新内容采用局部行尾;SPACE/TAB、行尾空格、大小写仍严格。preserveEol=false 禁用换行等价;replaceLines 的整行行尾衔接规则仍有效。禁止为“修复匹配”规范整份原文。

预览预算与 textkit.patch 相同;失败先读 info.code / hint,再读取对应区域。诊断是建议检查的位置,不参与写入。此库只处理字符串,文件备份/编译/写入由文件工具负责。

结构化编辑 textkit 主库

textkit.editor 成员列表 #

结构化编辑引擎,供文件编辑工具使用:literal-only / unique-by-default / atomic。
Route: patch 标记冲突、整行编辑、锚点插入或明确批量替换→process。Copy old, format new;不自动缩进、不模糊回退;仅处理字符串。

textkit.editor.process(text,args) #

→newText,null,info;失败→null,err,info,无部分结果。
Minimal args: replace(oldText,newText);insertBefore/After(anchor,newText);replaceBetween(beginAnchor,endAnchor,newText);deleteBetween(beginAnchor,endAnchor);replaceLines(startLine,newText[,endLine,expectedOldText])。这些是operation值,不是子方法。
默认唯一;replaceAll=true=全部非重叠命中;expectedCount=N=准确次数断言,不是上限/第N处;零命中失败。
newText 显式传入,空串=删除(deleteBetween 不传);插入不自动加换行;between 默认保留锚点、拒绝嵌套/缺尾,includeAnchors=true 才包含锚点。
replaceLines:1-based闭区间整行;空串删除整行;有原行尾且新文本缺行尾时沿用。expectedOldText 可含/不含末行EOL。
preserveEol 默认true:仅EOL等价,新文本适配局部EOL,未动部分字节保真;false=禁用等价,不取消整行衔接。
previewMaxBytes 默认1024,0..4096;0关闭文本回显,不限制编辑。失败按info.code/hint重读原文,禁止trim/dedent旧片段后模糊重试。

textkit.editor.version #

实现版本

Markdown 格式