From ab6be7968b25afb57fc428695693484ad8576718 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Fri, 20 Mar 2026 22:21:56 +0800 Subject: Refactor code to use modern Rust idioms and fix clippy lints --- src/cmds/cmd/helpdoc.rs | 2 +- src/cmds/cmd/sheetdump.rs | 2 +- src/cmds/cmd/sheetedit.rs | 11 +++++------ src/cmds/cmd/workspace_alias.rs | 4 ++-- src/cmds/comp/workspace_alias.rs | 2 +- src/cmds/comp/workspace_sheet.rs | 8 +++----- src/cmds/renderer/mappings_pretty.rs | 6 ++---- 7 files changed, 15 insertions(+), 20 deletions(-) (limited to 'src/cmds') diff --git a/src/cmds/cmd/helpdoc.rs b/src/cmds/cmd/helpdoc.rs index 74f4c7e..f4c7acf 100644 --- a/src/cmds/cmd/helpdoc.rs +++ b/src/cmds/cmd/helpdoc.rs @@ -38,7 +38,7 @@ async fn collect(_args: &Arg, _ctx: &JVCommandContext) -> Result Result { - helpdoc_viewer::display_with_lang(&input.name.as_str(), &input.lang.as_str()).await; + helpdoc_viewer::display_with_lang(input.name.as_str(), input.lang.as_str()).await; cmd_output!(JVNoneOutput => JVNoneOutput) } diff --git a/src/cmds/cmd/sheetdump.rs b/src/cmds/cmd/sheetdump.rs index badb8fc..6c971fe 100644 --- a/src/cmds/cmd/sheetdump.rs +++ b/src/cmds/cmd/sheetdump.rs @@ -57,7 +57,7 @@ async fn collect(args: &Arg, ctx: &JVCommandContext) -> Result CmdPrepareError::Io(error), })?; - Ok(Collect { sheet: sheet }) + Ok(Collect { sheet }) } #[exec] diff --git a/src/cmds/cmd/sheetedit.rs b/src/cmds/cmd/sheetedit.rs index 8a18ae6..85cb616 100644 --- a/src/cmds/cmd/sheetedit.rs +++ b/src/cmds/cmd/sheetedit.rs @@ -22,7 +22,7 @@ use cmd_system_macros::exec; use just_enough_vcs::system::sheet_system::{mapping::LocalMapping, sheet::SheetData}; use just_fmt::fmt_path::{PathFormatError, fmt_path}; use rust_i18n::t; -use std::{borrow::Cow, path::PathBuf}; +use std::{borrow::Cow, path::Path}; use tokio::fs::create_dir_all; pub struct JVSheeteditCommand; @@ -58,10 +58,10 @@ async fn collect(args: &Arg, ctx: &JVCommandContext) -> Result tokio::fs::read(stdin_path) .await - .map_err(|e| CmdPrepareError::Io(e))?, + .map_err(CmdPrepareError::Io)?, (Some(file_path), None) => tokio::fs::read(file_path) .await - .map_err(|e| CmdPrepareError::Io(e))?, + .map_err(CmdPrepareError::Io)?, (None, None) => return early_cmd_output!(JVNoneOutput => JVNoneOutput), }; Ok(Collect { data }) @@ -95,7 +95,7 @@ async fn exec(input: In, collect: Collect) -> Result cmd_output!(JVNoneOutput => JVNoneOutput {}) } -fn build_template(file: &PathBuf, mappings: Vec) -> Cow<'static, str> { +fn build_template(file: &Path, mappings: Vec) -> Cow<'static, str> { let mapping_table = render_pretty_mappings(&mappings); let template = t!( "sheetedit.editor", @@ -121,13 +121,12 @@ fn render_pretty_mappings(mappings: &Vec) -> String { let mapping_str = mapping .to_string() .split(" ") - .into_iter() .map(|s| s.to_string()) .collect::>(); table.push_item(vec![ format!( " {} ", - mapping_str.get(0).unwrap_or(&String::default()) + mapping_str.first().unwrap_or(&String::default()) ), // Mapping format!("{} ", mapping_str.get(1).unwrap_or(&String::default())), // => & == format!("{} ", mapping_str.get(2).unwrap_or(&String::default())), // Index diff --git a/src/cmds/cmd/workspace_alias.rs b/src/cmds/cmd/workspace_alias.rs index 1c38bdf..b2997d9 100644 --- a/src/cmds/cmd/workspace_alias.rs +++ b/src/cmds/cmd/workspace_alias.rs @@ -45,7 +45,7 @@ async fn prepare(args: &Arg, _ctx: &JVCommandContext) -> Result Result "Alias query result - local: {}, remote: {:?}", index, remote ); - cmd_output!(JVAliasQueryOutput => JVAliasQueryOutput { local: index, remote: remote }) + cmd_output!(JVAliasQueryOutput => JVAliasQueryOutput { local: index, remote }) } _ => { trace!("No alias query requested or no index source available"); diff --git a/src/cmds/comp/workspace_alias.rs b/src/cmds/comp/workspace_alias.rs index 0fd4d23..5efabfa 100644 --- a/src/cmds/comp/workspace_alias.rs +++ b/src/cmds/comp/workspace_alias.rs @@ -21,5 +21,5 @@ pub fn comp(ctx: CompletionContext) -> Option> { return Some(vec![]); } - return None; + None } diff --git a/src/cmds/comp/workspace_sheet.rs b/src/cmds/comp/workspace_sheet.rs index e9d5983..985fe43 100644 --- a/src/cmds/comp/workspace_sheet.rs +++ b/src/cmds/comp/workspace_sheet.rs @@ -7,13 +7,11 @@ pub fn comp(ctx: CompletionContext) -> Option> { return None; } - if ctx.all_words.contains(&"--list-all".to_string()) - || ctx.all_words.contains(&"-A".to_string()) - { - if ctx.all_words.len() > 4 { + if (ctx.all_words.contains(&"--list-all".to_string()) + || ctx.all_words.contains(&"-A".to_string())) + && ctx.all_words.len() > 4 { return None; } - } if ctx.current_word.starts_with('-') { return Some(string_vec![ diff --git a/src/cmds/renderer/mappings_pretty.rs b/src/cmds/renderer/mappings_pretty.rs index 6431302..93a37b5 100644 --- a/src/cmds/renderer/mappings_pretty.rs +++ b/src/cmds/renderer/mappings_pretty.rs @@ -14,7 +14,7 @@ use crate::{ pub async fn render(data: &JVMappingsPrettyOutput) -> Result { let mut r = JVRenderResult::default(); let mappings = &data.mappings; - r_println!(r, "{}", render_pretty_mappings(&mappings)); + r_println!(r, "{}", render_pretty_mappings(mappings)); Ok(r) } @@ -36,7 +36,6 @@ fn render_pretty_mappings(mappings: &Vec) -> String { let mapping_str = mapping .to_string() .split(" ") - .into_iter() .map(|s| s.to_string()) .collect::>(); table.push_item(vec![ @@ -45,8 +44,7 @@ fn render_pretty_mappings(mappings: &Vec) -> String { // Mapping format!( " | {} ", - mapping_str - .get(0) + mapping_str.first() .unwrap_or(&String::default()) .bright_cyan() ), -- cgit