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 and www
directory which specifies the dependencies to the xterm-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!
- Add proper documentation, tests, and cleaner API.