MCPcopy Index your code
hub / github.com/a-kenji/tui-term

github.com/a-kenji/tui-term @v0.3.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.4 ↗ · + Follow
228 symbols 559 edges 15 files 8 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

tui-term

Crates Documentation Matrix Chat Room

A pseudoterminal widget for the ratatui crate.

Demo of tui-term

Status

[!NOTE] This project is currently in active development and should be considered a work in progress. The goal of tui-term is to provide a robust and well-tested pseudoterminal widget for users of the ratatui crate.

Installation

To use tui-term, simply add it as a dependency in your Cargo.toml file:

[dependencies]
tui-term = "0.3.4"

or use cargo add:

cargo add tui-term

Examples

Check out the examples directory, for more information, or run an example:

cargo run --example simple_ls_rw

Controller

The controller is an experimental feature helping with managing the lifecycle of commands that are spawned inside a pseudoterminal. Currently the support is limited to oneshot commands.

To activate the feature:

cargo add tui-term -F unstable

Chat Room

Join our matrix chat room, for possibly synchronous communication.

Architecture

For an overview of tui-term's architecture and design principles, please refer to the Architecture documentation.

Contributing

We welcome contributions from the community! Check out the Contributing Guidelines on how to get started.

Release Notes

Stay updated with the latest changes by viewing the Changelog.

License

tui-term is available under the MIT license. See LICENCE for more information.

Extension points exported contracts — how you extend this code

Screen (Interface)
A trait representing a pseudo-terminal screen. Implementing this trait allows for backends other than `vt100` to be use [2 …
src/widget.rs
Cell (Interface)
A trait for representing a single cell on a screen. [2 implementers]
src/widget.rs

Core symbols most depended-on inside this repo

screen
called by 76
src/widget.rs
snapshot_typescript
called by 68
src/widget.rs
style
called by 17
src/widget.rs
render_typescript
called by 16
benches/iai.rs
render_typescript
called by 16
benches/divan.rs
render_typescript
called by 16
benches/benches.rs
block
called by 12
src/widget.rs
cursor
called by 7
src/widget.rs

Shape

Function 178
Method 34
Class 13
Interface 2
Enum 1

Languages

Rust100%

Modules by API surface

src/widget.rs112 symbols
benches/divan.rs18 symbols
benches/benches.rs18 symbols
benches/iai.rs17 symbols
examples/smux.rs15 symbols
src/vt100_imp.rs10 symbols
src/controller.rs8 symbols
examples/simple_ls_rw.rs5 symbols
examples/simple_ls_controller.rs5 symbols
examples/simple_ls_chan.rs5 symbols
examples/nested_shell_async.rs5 symbols
examples/nested_shell.rs5 symbols

For agents

$ claude mcp add tui-term \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact