feat: v1.7.6, update denpendencies, fix diaguer ctrl-c do not show cursor

This commit is contained in:
2024-01-13 10:39:22 +08:00
parent 6283c28fff
commit 784765fbb9
4 changed files with 133 additions and 138 deletions

View File

@@ -7,6 +7,7 @@ use std::process::Command;
use std::time::{Instant, SystemTime};
use clap::Args;
use dialoguer::console::Term;
use dialoguer::Select;
use dialoguer::theme::ColorfulTheme;
use flate2::Compression;
@@ -750,14 +751,17 @@ pub fn select_envelop<'a>(meta: &'a TinyEncryptMeta, key_id: &Option<String>, co
let format_envelops = envelops.iter().map(|envelop| {
format!("#{}", util_envelop::format_envelop(envelop, config))
}).collect::<Vec<_>>();
// TODO catch ctrl-c Term::show_cursor()
util::register_ctrlc();
let select_result = Select::with_theme(&ColorfulTheme::default())
.with_prompt("Please select envelop: ")
.items(&format_envelops[..])
.default(0)
.report(false)
.report(!silent)
.clear(true)
.interact();
if select_result.is_err() {
let _ = Term::stderr().show_cursor();
}
opt_result!(select_result, "Select envelop error: {}") + 1
} else {
envelops.iter().enumerate().for_each(|(i, envelop)| {