mirror of
https://github.com/chatmail/core.git
synced 2026-05-22 08:16:32 +03:00
repl: add openfile command
This commit is contained in:
10
Cargo.lock
generated
10
Cargo.lock
generated
@@ -834,6 +834,7 @@ dependencies = [
|
|||||||
"native-tls",
|
"native-tls",
|
||||||
"num-derive",
|
"num-derive",
|
||||||
"num-traits",
|
"num-traits",
|
||||||
|
"open",
|
||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
"pgp",
|
"pgp",
|
||||||
"pretty_assertions",
|
"pretty_assertions",
|
||||||
@@ -1978,6 +1979,15 @@ version = "0.2.3"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
|
checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "open"
|
||||||
|
version = "1.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7c283bf0114efea9e42f1a60edea9859e8c47528eae09d01df4b29c1e489cc48"
|
||||||
|
dependencies = [
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openssl"
|
name = "openssl"
|
||||||
version = "0.10.29"
|
version = "0.10.29"
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ pretty_env_logger = { version = "0.4.0", optional = true }
|
|||||||
log = {version = "0.4.8", optional = true }
|
log = {version = "0.4.8", optional = true }
|
||||||
rustyline = { version = "4.1.0", optional = true }
|
rustyline = { version = "4.1.0", optional = true }
|
||||||
ansi_term = { version = "0.12.1", optional = true }
|
ansi_term = { version = "0.12.1", optional = true }
|
||||||
|
open = { version = "1.4.0", optional = true }
|
||||||
|
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
@@ -93,7 +94,7 @@ required-features = ["repl"]
|
|||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
internals = []
|
internals = []
|
||||||
repl = ["internals", "rustyline", "log", "pretty_env_logger", "ansi_term"]
|
repl = ["internals", "rustyline", "log", "pretty_env_logger", "ansi_term", "open"]
|
||||||
vendored = ["async-native-tls/vendored", "async-smtp/native-tls-vendored"]
|
vendored = ["async-native-tls/vendored", "async-smtp/native-tls-vendored"]
|
||||||
nightly = ["pgp/nightly"]
|
nightly = ["pgp/nightly"]
|
||||||
|
|
||||||
|
|||||||
@@ -370,6 +370,7 @@ pub async fn cmdline(context: Context, line: &str, chat_id: &mut ChatId) -> Resu
|
|||||||
===========================Message commands==\n\
|
===========================Message commands==\n\
|
||||||
listmsgs <query>\n\
|
listmsgs <query>\n\
|
||||||
msginfo <msg-id>\n\
|
msginfo <msg-id>\n\
|
||||||
|
openfile <msg-id>\n\
|
||||||
listfresh\n\
|
listfresh\n\
|
||||||
forward <msg-id> <chat-id>\n\
|
forward <msg-id> <chat-id>\n\
|
||||||
markseen <msg-id>\n\
|
markseen <msg-id>\n\
|
||||||
@@ -890,6 +891,15 @@ pub async fn cmdline(context: Context, line: &str, chat_id: &mut ChatId) -> Resu
|
|||||||
let res = message::get_msg_info(&context, id).await;
|
let res = message::get_msg_info(&context, id).await;
|
||||||
println!("{}", res);
|
println!("{}", res);
|
||||||
}
|
}
|
||||||
|
"openfile" => {
|
||||||
|
ensure!(!arg1.is_empty(), "Argument <msg-id> missing.");
|
||||||
|
let id = MsgId::new(arg1.parse()?);
|
||||||
|
let msg = Message::load_from_db(&context, id).await?;
|
||||||
|
let filepath = msg.get_file(&context);
|
||||||
|
ensure!(filepath.is_some(), "Message has no file.");
|
||||||
|
let filepath = filepath.unwrap();
|
||||||
|
open::that(filepath)?;
|
||||||
|
}
|
||||||
"listfresh" => {
|
"listfresh" => {
|
||||||
let msglist = context.get_fresh_msgs().await;
|
let msglist = context.get_fresh_msgs().await;
|
||||||
|
|
||||||
|
|||||||
@@ -186,9 +186,10 @@ const CHAT_COMMANDS: [&str; 26] = [
|
|||||||
"unpin",
|
"unpin",
|
||||||
"delchat",
|
"delchat",
|
||||||
];
|
];
|
||||||
const MESSAGE_COMMANDS: [&str; 8] = [
|
const MESSAGE_COMMANDS: [&str; 9] = [
|
||||||
"listmsgs",
|
"listmsgs",
|
||||||
"msginfo",
|
"msginfo",
|
||||||
|
"openfile",
|
||||||
"listfresh",
|
"listfresh",
|
||||||
"forward",
|
"forward",
|
||||||
"markseen",
|
"markseen",
|
||||||
|
|||||||
Reference in New Issue
Block a user