春节时候看到了一个项目 heartnheart/ewv: emacs webview2 binding,使用 Rust 实现了 Emacs 到 WebView2 的绑定,可以在 Emacs 里面用 WebView2 贴膜浏览和管理网页。
作者用了 Rust 和动态模块,前者我不会后者调试开发起来非常麻烦,正好春节有时间自己尝试用子进程的思路来手搓: include-yy/emacs-webview2: WebView2 integration for Emacs。
过完年了没太多时间继续搓只能先改善下已有代码,把 JSON-RPC 的部分单独拿出来做了个库: include-yy/emacs-stdio-jsonrpc: A simple jsonrpc implementation in CPP for Emacs。理论上 EAF 珠玉在前可以用 EPC 来做 RPC,不过 EPC 好像没有 C++ 实现,正好 Emacs 自带 jsonrpc.el,不如顺势造个轮子。
如果要用到 C++ 子进程与 Emacs 通信的话,这个库应该有点用。虽然我主要在 Windows 上用,这个库基本上没有平台特定的代码,Linux 应该也能用。
