Skip to main content

معلومات المصدر

المستودع
plurigrid/asi
آخر نشاط في المصدر
١٠ يونيو ٢٠٢٦ في ١١:٥٥
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٦٧
التفرعات
١٢

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
2 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
libghostty-vt
description
libghostty-vt
version
1.0.0
# libghostty-vt Zero-dependency VT sequence parser from Ghostty. Mitchell Hashimoto's embeddable terminal core. ## Status **NOT YET RELEASED** (as of 2025-09) - Zig API available for testing, C API coming. ## What It Is `libghostty-vt` extracts Ghostty's proven VT parsing into a standalone library: - Parse ANSI/VT sequences - Maintain terminal state - Zero dependencies (no libc required!) - SIMD-optimized (>100 MB/s plain text) ## Architecture ``` Raw Bytes → UTF8Decoder → Parser (DFA) → Stream → Actions │ State Machine (14 states) ``` ### Parser States | State | Purpose | |-------|---------| | `ground` | Normal text printing | | `escape` | ESC detected (0x1B) | | `csi_entry` | CSI sequence start | | `csi_param` | Parsing CSI parameters | | `osc_string` | OSC data collection | | `dcs_passthrough` | DCS data collection | ### Action Types ```zig const Action = union(enum) { print: u21, // Unicode codepoint execute: u8, // C0/C1 control csi_dispatch: CSI, // Control Sequence Introducer esc_dispatch: ESC, // Escape sequence osc_dispatch: *osc.Parser, dcs_hook: DCS, dcs_put: u8, dcs_unhook: void, }; ``` ## Key Files (ghostty-org/ghostty) ``` src/terminal/Parser.zig # State machine src/terminal/stream.zig # Stream wrapper + SIMD src/terminal/osc.zig # OSC parser src/terminal/parse_table.zig # Compile-time transition table src/simd/vt.zig # SIMD acceleration ``` ## Performance | Optimization | Impact | |--------------|--------| | Pre-computed state table | O(1) transitions | | SIMD text processing | 10-100x for plain text | | Fast-path CSI parsing | Skips state machine | | Fixed-size buffers | No allocation | ## Use Cases - Terminal emulators (tmux, zellij, Ghostty) - IDE terminals (VS Code, JetBrains) - Cloud terminals (Vercel, Render) - TUI frameworks - Terminal recording/playback ## When Available ```bash # Future installation (not yet available) # Zig zig fetch --save git+https://github.com/ghostty-org/libghostty-vt # C (when released) # pkg-config --cflags --libs libghostty-vt ``` ## Example (Future API) ```zig const vt = @import("libghostty-vt"); var parser = vt.Parser.init(); var stream = vt.Stream(MyHandler).init(&parser, &handler); // Process bytes for (input) |byte| { if (stream.next(byte)) |action| { switch (action) { .print => |cp| handler.print(cp), .csi_dispatch => |csi| handler.handleCSI(csi), // ... } } } ``` ## Sources - https://mitchellh.com/writing/libghostty-is-coming - https://ghostty.org/docs/about - https://github.com/ghostty-org/ghostty - https://vt100.net/emu/dec_ansi_parser ## GF(3) Assignment ``` Trit: +1 (PLUS) - Generator/Parser Hue: 180° (cyan - terminal green vibes) ``` Triads: - `libghostty-vt (+1)` × `vterm (0)` × `terminfo (-1)` = 0 ✓ - `libghostty-vt (+1)` × `tmux (0)` × `escape-sequence-validator (-1)` = 0 ✓
عرض على GitHub