用途:本文档是 Hunk 终端差异查看器的扩展开发接口(hunkdiff/extension)地图,帮助开发者根据用户需求选择调用点,而非固定配方。
主要能力:扩展可用单个 TypeScript/JSX/JS 文件默认导出工厂函数,在启动时获得 API 对象,无需构建步骤或清单。注册点包括:注册主题、文件语言高亮、VCS 适配器、边栏/状态窗格、文件视图(实验性)、行内高亮、键盘模式、CLI 命令树、快捷键命令;还可隐藏或重排文件(transformChangeset)、监听事件、通过扩展事件总线与其他扩展协作、读取配置、快照笔记等。
使用方式:示例见 examples/extensions/ 下 review-triage、inline-edit、rendered-markdown、code-document-file-view、jsx-file-view 等。扩展可来自 --extension <path>、用户配置 [extensions] paths、~/.config/hunk/extensions/,以上均立即运行;.hunk/extensions/ 或仓库配置路径需信任提示。共享扩展通过 hunk extension install <source> 安装。id 为文件主名或文件夹名,命令命名空间为 <id>.<commandId>。
限制:注册仅在工厂运行期间有效;禁止打包自带 React;文件视图布局无效会退回原始 diff;ctx.workspace 写入仅适用于可重载、未暂存的工作树审阅且有同意;API 触不到审阅之外(无剪贴板、文件系统等);扩展失败会被隔离但非沙箱。当前 API 版本为 28。