路径: src/ink/
子目录: layout/, events/, hooks/, components/, termio/
| 文件 | 行数 | 说明 |
yoga.ts | 309 | Yoga 布局引擎 TS 移植,createYogaNode 工厂 |
node.ts | 153 | LayoutNode 接口定义(几何 + 样式属性) |
geometry.ts | 98 | 几何原语(Rect, Point, Size, Edges) |
engine.ts | 6 | 布局节点工厂函数 |
| 文件 | 行数 | 说明 |
event.ts | 12 | 基础 Event 类 |
terminal-event.ts | 108 | TerminalEvent 基类,DOM 风格传播 API(capture/bubble) |
dispatcher.ts | 234 | 事件分发系统,capture/bubble 两阶段 |
keyboard-event.ts | 52 | KeyboardEvent 实现 |
focus-event.ts | 22 | FocusEvent(带 relatedTarget) |
click-event.ts | 39 | ClickEvent(带本地坐标) |
input-event.ts | 206 | 输入解析,支持 Kitty 键盘协议 |
emitter.ts | 40 | 自定义 EventEmitter(stopImmediatePropagation) |
event-handlers.ts | 74 | 事件处理器类型定义 |
terminal-focus-event.ts | — | 终端焦点事件 |
原始字节流 → tokenize.ts → parser.ts → 结构化事件
| 文件 | 行数 | 说明 |
ansi.ts | 76 | C0 控制字符和 ESC_TYPE 常量 |
types.ts | 237 | 语义类型(Color, TextStyle, Action) |
tokenize.ts | 320 | 流式令牌化器,X10 鼠标支持 |
parser.ts | 395 | 语义动作生成器,grapheme 分割 |
sgr.ts | 309 | SGR 参数解析(颜色/样式),扩展色支持 |
csi.ts | 320 | CSI 序列类型和生成器 |
osc.ts | 494 | OSC 序列解析(剪贴板、超链接、标题) |
esc.ts | 68 | ESC 序列解析 |
dec.ts | 61 | DEC 私有模式序列 |
| 文件 | 行数 | 说明 |
App.tsx | 657 | 应用根组件(React Compiler 优化) |
Text.tsx | 254 | 核心文本渲染(样式、颜色、粗体等) |
Box.tsx | 213 | 盒模型布局容器(Flexbox 属性) |
ScrollBox.tsx | 237 | 滚动容器(命令式 API,视口裁剪) |
Button.tsx | 192 | 交互按钮(focus/hover/active 状态) |
AlternateScreen.tsx | 80 | 备用屏幕缓冲管理 |
Link.tsx | 42 | 超链接(OSC 8 终端超链接) |
Newline.tsx | 39 | 换行插入 |
Spacer.tsx | 20 | 弹性间距 |
RawAnsi.tsx | ~50 | 原始 ANSI 输出 |
NoSelect.tsx | ~30 | 不可选择区域 |
ErrorOverview.tsx | ~100 | 错误概览 |
AppContext.ts | ~20 | 应用上下文 |
StdinContext.ts | ~20 | stdin 上下文 |
ClockContext.tsx | — | 时钟上下文(定时刷新) |
CursorDeclarationContext.ts | — | 光标声明上下文 |
TerminalFocusContext.tsx | — | 终端焦点上下文 |
TerminalSizeContext.tsx | — | 终端尺寸上下文 |
| 文件 | 行数 | 说明 |
use-input.ts | 93 | 键盘输入处理 |
use-app.ts | 8 | 应用上下文访问 |
use-stdin.ts | ~30 | stdin 访问 |
use-selection.ts | ~50 | 选择状态管理 |
use-interval.ts | ~30 | 定时器 Hook |
use-animation-frame.ts | ~40 | 动画帧 Hook |
use-terminal-viewport.ts | ~50 | 终端视口尺寸 |
use-terminal-title.ts | ~30 | 终端标题设置 |
use-terminal-focus.ts | ~30 | 终端焦点追踪 |
use-declared-cursor.ts | ~40 | 声明式光标位置 |
use-tab-status.ts | ~30 | Tab 状态 |
use-search-highlight.ts | ~50 | 搜索高亮 |