Skip to content

术语表

术语本文中的含义
Action可从快捷键、菜单、命令面板或代码 dispatch 的类型化用户意图。
ACPAgent Client Protocol;让通用 Agent UI 对接内置或外部 agent 的协议/模型层。
Anchor在并发/后续编辑后仍可解析的稳定文本位置,带左右 bias 和版本/operation 语义。
AppGPUI 进程级运行时,拥有 globals、entities、windows、executors 与平台服务。
Buffer单文档文本真相,组合 Rope、operation、Anchor、transaction、language snapshot 等。
BufferIdBuffer 在 project/protocol 中的稳定身份,不等同于内存地址或 path。
BufferPointBuffer 文本中的行列坐标;列的单位需结合具体 API 判断。
Context<T>更新 Entity T 时提供的 GPUI 上下文,可 notify、emit、spawn、访问 App。
CRDT无需中央锁、合法 operation 以不同顺序传播仍可最终收敛的数据类型。
DAPDebug Adapter Protocol;编辑器与语言/运行时调试适配器的协议。
DimensionSumTree seek 使用的累计维度,例如 byte、Point、UTF-16、display row 或 height。
DisplayMap把 MultiBuffer 文本依次投影为 fold/inlay/tab/wrap 后视觉坐标的组合结构。
DisplayPointEditor 最终视觉行列坐标;包含折叠、内嵌提示、tab 展开和软换行影响。
Entity<T>GPUI 中有 identity、可观察、由 App context 管理的长期可变状态句柄。
EntityIdEntity 在 App 内的稳定身份,用于订阅、缓存或协议映射。
ExcerptMultiBuffer 引用某个底层 Buffer 的一个 Anchor range,并带上下文/边界信息。
ExtensionStore扩展索引、安装更新、load/unload 与 contribution 注册的控制面。
Fragment协同文本中由某次 insert operation 引入、带稳定身份和可见性信息的片段。
Global注册在 GPUI App 中、按类型访问的进程级服务或配置。
GPUIZed 的 GPU UI 框架,组合 Entity runtime、element layout/paint 和平台层。
HandlerSetRPC message type 到异步 handler 的注册表,随模块/实体生命周期安装和移除。
Inlay不直接属于 Buffer 文本、由 LSP/编辑器插入 DisplayMap 的视觉内容。
ItemWorkspace pane 中可打开、激活、序列化的内容抽象,例如 Editor、Search 或 Settings。
LanguageRegistrylanguage、grammar、query 与 language server adapter 的注册/查找服务。
LanguageModel把 prompt request 转换为文本、thinking、tool use、usage 等事件流的统一 trait。
LSPLanguage Server Protocol;document sync、completion、diagnostics、rename 等语言能力协议。
MultiBuffer按 excerpt 组合一个或多个 Buffer 的复合文档,为搜索、diff、references 等复用 Editor。
OperationBuffer CRDT 中可传播、去重、合并的编辑/undo 等状态变化。
PaneWorkspace 中承载 tab/items 的容器,可 split、激活和移动 item。
Panel停靠在 Workspace 左/右/下 dock 的工具 UI,例如 Project、Git、Agent panel。
Patch描述旧 snapshot 到新 snapshot 受影响范围的增量映射,用于传播 invalidation。
PeerRPC 层的连接端点,管理 typed envelope、request id、pending response、stream 和 handler。
Project面向 UI 的工程 facade,组合 Worktree/Buffer/LSP/Git/Task 等 store 并封装 local/remote。
ProjectPathworktree id + 相对路径 的工程身份,避免把本机绝对路径穿过 remote/protocol。
ProtoClientProject remote store 使用的类型化协议客户端接口。
RemoteClient管理 SSH/WSL/Docker 通道、remote_server、heartbeat、重连与会话恢复的长期对象。
Rope分块平衡文本树,支持大型 UTF-8 文本的增量 edit、slice 与坐标查询。
Scene一帧的 GPU primitives、clip、draw order 与 batch 集合。
Snapshot可安全交给 paint/后台 task 的稳定只读状态视图,通常共享底层持久结构。
StoreProject 内某类资源的有状态服务,如 BufferStore、WorktreeStore、LspStore、GitStore。
SumTree每个节点带可组合 Summary 的 copy-on-write 平衡树,支持多 Dimension seek。
Task(GPUI)executor 上的异步工作句柄;其所有权通常决定取消与结果回写生命周期。
Task(工程)从模板、上下文变量解析出的外部命令,可运行在 terminal 或 debug adapter。
ThreadAgent 会话 Entity,保存消息、模型、工具、运行 turn、权限、checkpoint 与 compaction。
ToolAgent 可调用的结构化能力,包含 schema、permission、sandbox、执行与结果语义。
Transaction一组可原子提交/undo 的 Buffer 编辑;ProjectTransaction 可组合多个 Buffer。
Version文本/实体已知 operation 状态或变更序列,用于判断 snapshot/result 是否过期。
WITWebAssembly Interface Types;Zed extension guest/host 之间版本化 ABI 的定义语言。
WorktreeProject 中一棵目录树及 scanner/snapshot,提供 entry、ignore、文件事件和 repo 发现。
Workspace顶层产品容器,拥有 Project、window、panes、items、docks、actions 与 session 持久化。

容易混用的四组词

Offset、Point、Anchor

  • offset 是某个确定 snapshot 中的线性位置;
  • Point 是同一 snapshot 中的行列表示;
  • Anchor 是跨编辑保存的稳定意图,需要在目标 snapshot 中解析。

Buffer、MultiBuffer、DisplayMap

  • Buffer 保存真实文档;
  • MultiBuffer 组合真实文档的区段;
  • DisplayMap 只改变它们如何显示,不拥有文件文本。

Remote、Collaboration

  • Remote 把工程服务放到另一台环境,本地仍负责 UI;
  • Collaboration 让多个用户共享 host project,并增加成员、角色与路由语义。

GPUI Task、工程 Task

  • GPUI Task 是 Rust future 的运行句柄;
  • 工程 Task 是用户要执行的 build/test/script 命令。两者中文都常写“任务”,需按上下文区分。

独立源码学习笔记 · 文档采用 CC BY-SA 4.0