3 个版本 (0 个不稳定)
4.6.0-alpha1 | 2020 年 6 月 13 日 |
---|---|
4.6.0-alpha0 | 2020 年 6 月 10 日 |
4.5.0-alpha0 | 2020 年 5 月 29 日 |
#311 in WebAssembly
每月 22 次下载
260KB
2.5K SLoC
xterm-js-sys
Rust 对 xterm.js 的绑定。
TODO:在此处添加一张图片(来自维基),并链接到相应的演示
功能
目前这涵盖了大多数 xterm.js API。
此 crate 有两个功能
ext
:在核心绑定之上添加了一些更漂亮、更 rust-y 的函数;所有函数都在 此模块 中。crossterm-support
:提供一个包装类型,允许crossterm
将 xterm.js 用作后端(位于 此处)。这使得 xterm.js 可以与,例如,tui crate 一起使用。通常您不需要自己启用此功能;您 应该 能够仅使用crossterm
并传递一个Terminal
。
此 crate 还支持 xterm.js 的 xterm.js 的 插件 基础设施。它还允许您在 Rust 中 定义自己的插件,如果您愿意的话。目前只有 xterm-addon-fit 包有 Rust 绑定。如果您最终为 xterm.js 插件(或在 Rust 中的自己的插件)创建了绑定,请随时提交 PR 更新此列表!
xterm.js 插件
第一方插件包
- attach:未实现!
- fit:xterm-js-addon-fit-sys
- search:未实现!
- serialize:未实现!
- unicode11:未实现!
- web-links:未实现!
- webgl:未实现!
用法
将此添加到您的 Cargo.toml
[dependencies]
xterm-js-sys = "4.6.0-alpha1"
并确保您的打包器/JS包管理器设置为获取 xterm.js 包的相应版本。本存储库中的示例使用 parcel,您只需要将 xterm
添加到您的 package.json
"dependencies": {
"xterm": "^4.6.0"
}
请确保您还添加了您使用的任何插件的包;有关示例,请参阅我们的 示例的 package.json
。
xterm.js 文档 是实际使用 API 的良好参考;这些绑定通常是点对点。尽管如此,截至本文写作时,xterm.js 文档仍然与版本 4.4 对应。
示例
此存储库包含一些 示例,展示了绑定使用、使用 ext
功能以及与 crossterm
和 tui
库的使用。
要构建这些示例,请进入您要运行的示例文件夹(例如 examples/basic)并
- 安装包(
npm i
或yarn install
) - 运行监视脚本(
npm run watch
或yarn run watch
)
希望它(可能)只需工作!🤞
这些示例也部署在此处:https://rrbutani.github.io/xterm-js-sys/examples。
最低支持的 Rust 版本 (MSRV)
该包目前保证在稳定 Rust 1.43 及更高版本上编译。我们不保证在未来的版本中这将是正确的,但我们承诺将始终支持(至少)最新的稳定 Rust 版本,并在 变更日志 中记录 MSRV 的更改。
贡献
欢迎 PR(非常欢迎)!
待办事项
- CoC (ccov)
- contributing.md(rustfmt,clippy;提交信息约定)
- 弄清楚为什么在
env
上使用core::panicking::panic_bounds_check
时,在with-input
示例中使用lto = true
时出现导入
依赖项
~6.5–9MB
~171K SLoC