3 个版本 (0 个不稳定)

4.6.0-alpha12020 年 6 月 13 日
4.6.0-alpha02020 年 6 月 10 日
4.5.0-alpha02020 年 5 月 29 日

#311 in WebAssembly

每月 22 次下载

MIT 许可证

260KB
2.5K SLoC

xterm-js-sys

Build Status License: MIT crates.io API Docs

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 插件

第一方插件包

用法

将此添加到您的 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 功能以及与 crosstermtui 库的使用。

要构建这些示例,请进入您要运行的示例文件夹(例如 examples/basic)并

  • 安装包(npm iyarn install
  • 运行监视脚本(npm run watchyarn 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