1 个不稳定版本
新 0.7.0 | 2024 年 8 月 17 日 |
---|
#2392 在 命令行工具
在 atac 中使用
70KB
367 行
ratatui 的加载指示器小部件
throbber-widgets-tui
是一个显示加载指示器的 ratatui 小部件。
加载指示器也可以称为
- 活动指示器
- 不确定进度条
- 加载图标
- 旋转器
- 旋转
演示
gif 中显示的演示可以使用所有可用符号运行。
cargo run --example demo --release
特性
- 渲染加载指示器
- 带有标签
- 随机或指定的步长,也可以是负数。
入门指南
MSRV: throbber-widgets-tui
需要 rustc 1.74.0 或更高版本。
cargo add throbber-widgets-tui
示例代码
// :
// :
struct App {
throbber_state: throbber_widgets_tui::ThrobberState,
}
impl App {
fn on_tick(&mut self) {
self.throbber_state.calc_next();
}
}
// :
// :
fn ui(f: &mut ratatui::Frame, app: &mut App) {
let chunks = ratatui::layout::Layout::default()
.direction(ratatui::layout::Direction::Horizontal)
.margin(1)
.constraints(
[
ratatui::layout::Constraint::Percentage(50),
ratatui::layout::Constraint::Percentage(50),
]
.as_ref(),
)
.split(f.size());
// Simple random step
let simple = throbber_widgets_tui::Throbber::default();
f.render_widget(simple, chunks[0]);
// Set full with state
let full = throbber_widgets_tui::Throbber::default()
.label("Running...")
.style(ratatui::style::Style::default().fg(ratatui::style::Color::Cyan))
.throbber_style(ratatui::style::Style::default().fg(ratatui::style::Color::Red).add_modifier(ratatui::style::Modifier::BOLD))
.throbber_set(throbber_widgets_tui::CLOCK)
.use_type(throbber_widgets_tui::WhichUse::Spin);
f.render_stateful_widget(full, chunks[1], &mut app.throbber_state);
}
使用 throbber-widgets-tui 的应用程序
- mntime: 执行 "m" 命令 "n" 次以计算使用时间和内存的平均值。作为 "time" 的替代方案,内部使用 "gnu-time"。
依赖项(默认情况下)
直接依赖的 crate
cargo license --direct-deps-only --avoid-build-deps --avoid-dev-deps | awk -F ":" 'BEGIN {printf "|License|crate|\n|-|-|\n"} {printf "|%s|%s|\n", $1, $2}'
许可证 | crate |
---|---|
Apache-2.0 OR MIT (1) | rand |
MIT (2) | crossterm, ratatui |
Zlib (1) | throbber-widgets-tui |
链式依赖的 crate
cargo license --avoid-build-deps --avoid-dev-deps | awk -F ":" 'BEGIN {printf "|License|crate|\n|-|-|\n"} {printf "|%s|%s|\n", $1, $2}'
许可证 | crate |
---|---|
(MIT OR Apache-2.0) AND Unicode-DFS-2016 (1) | unicode-ident |
Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT (1) | wasi |
Apache-2.0 OR BSD-2-Clause OR MIT (2) | zerocopy, zerocopy-derive |
Apache-2.0 OR BSL-1.0 (1) | ryu |
Apache-2.0 OR MIT (57) | ahash, allocator-api2, bitflags, cassowary, cfg-if, either, getrandom, hashbrown, heck, itertools, itertools, itoa, libc, lock_api, log, once_cell, parking_lot, parking_lot_core, paste, ppv-lite86, proc-macro2, quote, rand, rand_chacha, rand_core, rustversion, scopeguard, signal-hook, signal-hook-mio, signal-hook-registry, smallvec, static_assertions, syn, unicode-segmentation, unicode-truncate, unicode-width, winapi, winapi-i686-pc-windows-gnu, winapi-x86_64-pc-windows-gnu, windows-sys, windows-targets, windows-targets, windows_aarch64_gnullvm, windows_aarch64_gnullvm, windows_aarch64_msvc, windows_aarch64_msvc, windows_i686_gnu, windows_i686_gnu, windows_i686_gnullvm, windows_i686_msvc, windows_i686_msvc, windows_x86_64_gnu, windows_x86_64_gnu, windows_x86_64_gnullvm, windows_x86_64_gnullvm, windows_x86_64_msvc, windows_x86_64_msvc |
MIT (11) | 弃儿, compact_str, crossterm, crossterm_winapi, lru, mio, ratatui, redox_syscall, 稳定性, strum, strum_macros |
Zlib (1) | throbber-widgets-tui |
许可证
本存储库的许可证为zlib。请随意使用,但不提供任何保证。
依赖项
~7–17MB
~230K SLoC