Emacs用ターミナルエミュレータ「Ghostel.el」公開
原題: Ghostel.el: Terminal emulator powered by libghostty
なぜ重要か
EmacsにGhosttyの最新VT機能を取り込むことで、従来のvterm・eatを上回る端末互換性と画像表示能力をEditor内で実現できる点が注目される。
libghostty-VTエンジンを活用したEmacsターミナルエミュレータ「Ghostel.el」が公開された。ZigによるネイティブDynamic ModuleとElispの二層構造を採用し、Kittyキーボード・グラフィクスプロトコル、OSC 8ハイパーリンク、DEC 2026同期出力などに対応。MELPAからインストール可能で、初回起動時にネイティブモジュールが自動ダウンロードされる。
「Ghostel.el」は、Ghosttyターミナルと同じVTエンジンである「libghostty-vt」を活用してEmacsに組み込むターミナルエミュレータだ。Zigで記述されたネイティブDynamic Moduleがターミナル状態の管理・レンダリング・ローカルPTY入出力を担い、Elispがキーマップ・バッファ・コマンド・リモートプロセス連携を管理する二層構造となっている。
設計は「emacs-libvterm」から着想を得ているが、VTエンジンとしてlibvtermの代わりにGhosttyのモダンなエンジンを採用した点が大きな特徴。これにより、libvtermでは非対応だったKittyキーボードプロトコル・Kittyグラフィクスプロトコル(インライン画像表示)、リッチなアンダーラインスタイル、OSC 8ハイパーリンク、OSC 4/10/11カラークエリ、DEC 2026による同期出力といった機能が利用可能となった。
入力モードはSemi-charモード(デフォルト)、Charモード、Emacsモード、Copyモード、Lineモードなど複数を備える。シェル統合機能も充実しており、パスワードプロンプト検出、シェルからのElispコード呼び出し、通知・進捗表示といった機能も実装されている。
リモート環境向けにはTRAMPとの統合をサポートし、リモートシェル統合の自動インジェクションやリモートホスト向けxterm-ghostty terminfo配布にも対応する。また、Evil-mode、Compilation mode、Eshell、Comintとの連携拡張も提供されている。
インストールはMELPA経由のほか、use-packageの「:vc」オプション(Emacs 30以降)や手動インストールにも対応。ネイティブモジュールは初回起動時に自動ダウンロードされるため、通常はZigツールチェーンなどのビルド環境は不要だ。Windowsについてはプラットフォームノートに制限事項が記載されている。