Commit 37a6ce8
authored
feat: implement Buffer Access API (#31)
Add xterm.js-compatible buffer API for reading terminal state:
- IBufferNamespace with active/normal/alternate buffers
- IBuffer with cursor position and line access
- IBufferLine with cell access and string conversion
- IBufferCell with full style/color properties
Implementation:
- lib/buffer.ts (365 lines) - Buffer API classes
- lib/buffer.test.ts (457 lines) - 41 comprehensive tests
- lib/interfaces.ts - Buffer interface definitions
- lib/terminal.ts - Integrated term.buffer property
Features:
- Lazy initialization with caching
- Full Unicode support (emoji, CJK, accents)
- All text styles (bold, italic, underline, etc.)
- RGB color support
- Line wrapping detection
- Zero logic duplication (delegates to WASM)1 parent 9816568 commit 37a6ce8
4 files changed
Lines changed: 944 additions & 0 deletions
0 commit comments