6 个版本
0.2.1 | 2024年3月11日 |
---|---|
0.2.0 | 2024年3月9日 |
0.1.4 | 2024年3月7日 |
0.1.3 | 2023年12月4日 |
#2660 in 命令行工具
17KB
241 行
Console Menu
一个简单但强大的Rust库,用于创建美观的控制台菜单。
使用方法
要开始使用,创建一个Menu对象并传递一个MenuOptions列表。一个简单的例子
use console_menu::{Menu, MenuOption, MenuProps};
let menu_options = vec![
MenuOption::new("option 1", || println!("option one!")),
MenuOption::new("option 2", || println!("option two!")),
MenuOption::new("option 3", || println!("option three!")),
];
let mut menu = Menu::new(menu_options, MenuProps::default());
menu.show();
使用箭头键移动菜单,按Enter键选择选项,按Esc键退出。也支持Vim风格的快捷键。菜单可以包含标题、页脚消息,以及任何组合的8位彩色背景和文本。
let menu_options = vec![
MenuOption::new("eggs", || println!("menu item one!")),
MenuOption::new("bacon", || println!("menu item two!")),
MenuOption::new("toast", || println!("menu item three!")),
];
let mut menu = Menu::new(menu_options, MenuProps {
title: "My Breakfast Menu",
message: "*coffee is free!",
fg_color: 233,
bg_color: 32,
msg_color: Some(236),
..MenuProps::default()
});
menu.show();
菜单可以嵌套,选项可以包含任何类型的回调。有关更多信息,请参阅文档。
依赖关系
~0.4–7MB
~38K SLoC