3 releases

0.1.2 Nov 15, 2021
0.1.1 May 10, 2020
0.1.0 May 10, 2020

#660 in WebAssembly

Download history 30/week @ 2022-12-06 4/week @ 2022-12-13 5/week @ 2022-12-20 72/week @ 2022-12-27 57/week @ 2023-01-03 65/week @ 2023-01-10 31/week @ 2023-01-17 26/week @ 2023-01-24 20/week @ 2023-01-31 29/week @ 2023-02-07 29/week @ 2023-02-14 31/week @ 2023-02-21 19/week @ 2023-02-28 21/week @ 2023-03-07 55/week @ 2023-03-14 51/week @ 2023-03-21

150 downloads per month

MIT license

60KB
1.5K SLoC

🕸 xterm-js-rs 🦀

This crate provides Rust-WebAssembly bindings to the xterm-js Javascript library and can be used to setup a custom web-based command-line for your crate, without much effort, running at the client-side.

🎥 Example

To see it running in action on GitHub Pages: https://segeljakt.github.io/xterm-js-rs. Code for the example can be found here.

🚀 GitHub Actions and GitHub Pages

The GitHub Actions workflow for automatically deploying the website to GitHub Pages can be found here along with instructions to setup GitHub Pages.

🔬 Documentation

For an overview of what the bindings do, checkout the official API.

🎚 Addons

Conditionally, addons of xterm-js can be activated by compiling this crate with the corresponding features enabled:

  • xterm-addon-attach
  • xterm-addon-fit
  • xterm-addon-ligatures
  • xterm-addon-search
  • xterm-addon-serialize
  • xterm-addon-unicode11
  • xterm-addon-web-links
  • xterm-addon-webgl

⚠️ Information

If your npm-crate depends on this crate, then it must contain a package.json in the root directory and www directory which specifies the dependencies to the xterm-js library. As in the example:

👷 Help Wanted

Help with adding support for xterm-js-rs in existing Rust-REPL-libraries (linefeed, liner, rustyline, termwiz) is greatly appreciated!

😕 TODO

  • Add proper documentation, tests, and cleaner API.

Dependencies

~8.5MB
~171K SLoC