Using as a Rust Library
It is possible to use binsider
in your Rust/TUI application if you are already using Ratatui.
See the API documentation for getting information about the available functions and structures.
To integrate it with your TUI application, add the following to your Cargo.toml
:
[dependencies]binsider = "0.1"ratatui = "0.28"# use the latest versions above
Then you can create a Analyzer
struct and State
for managing the TUI state:
use binsider::prelude::*;
let analyzer = Analyzer::new(file_info, 15, vec![])?;let mut state = State::new(analyzer, None)?;
To render a frame:
terminal.draw(|frame: &mut Frame| { binsider::tui::ui::render(&mut state, frame);})?;
To handle key events:
let (sender, receiver) = sync::mpsc::channel();let command = Command::from(&ratatui::crossterm::event::Event::Key(/* */));state.run_command(command, sender.clone())?;
See the demo example for the full code. You can run it by cargo run --example demo
.