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.
- 🎥 To see it running in action on GitHub Pages: https://segeljakt.github.io/xterm-js-rs.
- 📝 Code for the example can be found here.
- 🚀 The GitHub Actions workflow for automatically deploying the website to GitHub Pages can be found here along with instructions to setup GitHub Pages.
- 🔬 For an overview of what the bindings do, checkout the official API.
- 🎚 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
- ⚠️ If your npm-crate depends on this crate, then it must contain a
package.json
in the root directory andwww
directory which specifies the dependencies to thexterm-js
library. As in the example: - 👷 Help with adding support for
xterm-js-rs
in existing Rust-REPL-libraries (linefeed, liner, rustyline, termwiz) is greatly appreciated!