summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-10-30 09:38:19 +0800
committer魏曹先生 <1992414357@qq.com>2025-10-30 09:38:19 +0800
commit3a3f40b2abbaa47063cdc3aeb0149e3d02276c1e (patch)
treec2269fa15f7374435a18db6acf0780b871603538
parent251218ed09d640d7af44f26c6917d8fdb90fc263 (diff)
Simplify commands and improve jv error handling
- Add help command alias for jv - Improve parser error message formatting - Fix code formatting in jvv commands
-rw-r--r--locales/help_docs/en.yml4
-rw-r--r--locales/help_docs/zh-CN.yml4
-rw-r--r--src/bin/jv.rs9
-rw-r--r--src/bin/jvv.rs27
4 files changed, 31 insertions, 13 deletions
diff --git a/locales/help_docs/en.yml b/locales/help_docs/en.yml
index b886cfa..5a12f8f 100644
--- a/locales/help_docs/en.yml
+++ b/locales/help_docs/en.yml
@@ -346,6 +346,10 @@ jv:
The directory `%{path}` cannot be found!
parse:
+ parser_failed: |
+ Incorrect command input!
+ Please use `jv -h` to view help
+
str_to_sockaddr: |
Error: %{err}
Cannot recognize *`%{str}`* as a valid address, please check your input!
diff --git a/locales/help_docs/zh-CN.yml b/locales/help_docs/zh-CN.yml
index 751a2d3..4d3212e 100644
--- a/locales/help_docs/zh-CN.yml
+++ b/locales/help_docs/zh-CN.yml
@@ -354,6 +354,10 @@ jv:
您给出的目录 `%{path}` 无法找到!
parse:
+ parser_failed: |
+ 错误的命令输入!
+ 请使用 `jv -h` 查看帮助
+
str_to_sockaddr: |
错误:%{err}
无法将 *`%{str}`* 识别为有效地址,请检查您的输入!
diff --git a/src/bin/jv.rs b/src/bin/jv.rs
index a8850b7..95176b5 100644
--- a/src/bin/jv.rs
+++ b/src/bin/jv.rs
@@ -44,6 +44,9 @@ struct JustEnoughVcsWorkspace {
#[derive(Subcommand, Debug)]
enum JustEnoughVcsWorkspaceCommand {
+ #[command(alias = "--help", alias = "-h")]
+ Help,
+
// Member management
/// Manage your local accounts
#[command(subcommand, alias = "acc")]
@@ -302,11 +305,15 @@ async fn main() {
colored::control::set_virtual_terminal(true).unwrap();
let Ok(parser) = JustEnoughVcsWorkspace::try_parse() else {
- println!("{}", md(t!("jv.help")));
+ println!("{}", md(t!("jv.fail.parse.parser_failed")));
return;
};
match parser.command {
+ JustEnoughVcsWorkspaceCommand::Help => {
+ println!("{}", md(t!("jv.help")));
+ }
+
JustEnoughVcsWorkspaceCommand::Account(account_manage) => {
let user_dir = match UserDirectory::current_doc_dir() {
Some(dir) => dir,
diff --git a/src/bin/jvv.rs b/src/bin/jvv.rs
index 6bcf5c0..8480029 100644
--- a/src/bin/jvv.rs
+++ b/src/bin/jvv.rs
@@ -312,10 +312,11 @@ async fn jvv_here(_args: HereArgs) {
if let Ok(mut entries) = fs::read_dir(&virtual_file_root).await {
while let Ok(Some(entry)) = entries.next_entry().await {
if let Ok(metadata) = entry.metadata().await
- && metadata.is_file() {
- num_vf += 1;
- total_size += metadata.len();
- }
+ && metadata.is_file()
+ {
+ num_vf += 1;
+ total_size += metadata.len();
+ }
}
}
@@ -394,10 +395,11 @@ async fn jvv_init(_args: InitVaultArgs) {
}
};
if let Ok(mut entries) = current_dir.read_dir()
- && entries.next().is_some() {
- eprintln!("{}", t!("jvv.fail.init.not_empty"));
- return;
- }
+ && entries.next().is_some()
+ {
+ eprintln!("{}", t!("jvv.fail.init.not_empty"));
+ return;
+ }
// Setup vault
let vault_name = match current_dir.file_name() {
@@ -459,10 +461,11 @@ async fn jvv_create(args: CreateVaultArgs) {
}
if let Ok(mut entries) = target_dir.read_dir()
- && entries.next().is_some() {
- eprintln!("{}", t!("jvv.fail.create.not_empty"));
- return;
- }
+ && entries.next().is_some()
+ {
+ eprintln!("{}", t!("jvv.fail.create.not_empty"));
+ return;
+ }
// Setup vault
let vault_name = pascal_case!(args.vault_name);