跳到正文
QuireKit MSFE
开发者文档
v0.0.0 · 实验版本

源码与组件 API

查询扩展如何读取语法、修改字段,以及组件可使用的动作。

字段 codec

read 从已确认的语法范围派生字段,patch 编码精确的源码修改。可以只安装语义而不提供视图。

@quirekit/msfe-core

不依赖特定解析器的语义编解码器;渲染是可选能力,不负责持久化。

SourceDefinitionts

文档与语法范围

范围使用 UTF-16 偏移,结束位置不包含在范围内。语法访问是派生查询,不代表另一份可持久化文档。

@quirekit/msfe-core

对已接受文档的只读访问,不依赖解析器和视图实现。

SourceDocumentts
@quirekit/msfe-core

按需访问语法,不依赖特定解析器,也不分配另一份持久化 AST。

SourceNodets

节点组件

attrs 由源码派生。字段修改、删除和显露源码必须使用提供的受控动作;先前持有的 props 可能因文档变化失效。

@quirekit/msfe-core

从源码派生的组件输入;所有动作都会先校验此快照,再修改源码。

MsfeNodeViewPropsts

定义和解析需求

defineSource 创建可安装的源码协议;读取、写回、指纹和资源分别承担不同职责。不能用资源值代替持久字段。完整流程见 节点教程。

@quirekit/msfe-core

参数 definition:类型化源码协议。返回可安装的源码定义。

defineSourcets

语义查询返回 pending 时可以注册解析需求,等待已接受状态再重试。该入口不会同步扫描整篇文档。

@quirekit/msfe-core

参数 state:尚未完整解析的已接受快照。记录解析需求,不会同步强制推进解析。

requestMarkdownParsets

查询结果的处理

editor.querySource(name, range?) 返回 status 与 matches。每个 match 包含语义名、扩展类别 kind、字段、范围和 SourceNode;真实语法名称通过 node.kind 读取。范围参数使用 UTF-16 逻辑坐标。默认查询当前选区,不能将其当作一个全文件节点列表。

字符串工具 decodeMarkdownString、decodeMarkdownDestination、encodeMarkdownField 服务于不同的 Markdown 字段。保留用户原始表示时只编码被修改的字段,不对整篇文章统一格式化。位置与异步动作见 命令 API。

MSFE · QuireKitMarkdown 源码始终属于你。