9 个版本
0.3.6 | 2020 年 5 月 18 日 |
---|---|
0.3.5 | 2019 年 4 月 28 日 |
0.3.1 | 2019 年 3 月 7 日 |
0.3.0 | 2019 年 1 月 25 日 |
0.1.0 | 2019 年 1 月 14 日 |
在 命令行界面 中排名 #909
每月下载量 29 次
135KB
3.5K SLoC
Interact 是一个框架,以直观的命令行交互方式友好地内省运行中的程序状态。
请访问 主页 获取更多详细信息。
lib.rs
:
Interact Prompt
在高级别上,要使用 Interact Prompt,您需要
- 在类型上派生
Interact
。 - 注册状态
- 启动或调用 Interact 提示符。
伪代码
extern crate interact;
use interact::Interact;
use interact_prompt::{LocalRegistry, SendRegistry, Settings};
#[derive(Interact)]
struct YourType {
// ...
}
// ...
fn in_each_thread(rc: Rc<SomeState>) {
// ... You would have some code to register your 'Rc's.
LocalRegistry::insert("rc_state", Box::new(rc));
// ...
}
fn spawn_interact(arc: Arc<SomeOtherState>) {
// On the global context you can register any object that is `Send`
// and implements `Access` via #[derive(Interact)], this means `Arc` types,
SendRegistry::insert("arc_state", Box::new(arc));
interact_prompt::spawn(Settings::default(), ());
}
注意:目前仅支持 SendRegistry
用于 Interact 的后台 spawn
变体的注册。计划未来支持 LocalRegistry。
依赖项
~8.5MB
~165K SLoC