From a6beade1a737031ebcaa96cb3845237bebce7298 Mon Sep 17 00:00:00 2001 From: tison Date: Sun, 7 Jun 2026 00:13:16 +0800 Subject: [PATCH] chore: internal code tidy Signed-off-by: tison --- cli/src/subcommand.rs | 8 ++++---- fmt/src/document/mod.rs | 11 +++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/cli/src/subcommand.rs b/cli/src/subcommand.rs index 99d4d80..823b15f 100644 --- a/cli/src/subcommand.rs +++ b/cli/src/subcommand.rs @@ -171,9 +171,9 @@ impl Callback for FormatContext { let mut extension = doc.filepath.extension().unwrap_or_default().to_os_string(); extension.push(".formatted"); let copied = doc.filepath.with_extension(extension); - doc.save(Some(&copied)) + doc.save_to(copied) } else { - doc.save(None) + doc.save() } } } @@ -234,9 +234,9 @@ impl RemoveContext { let mut extension = doc.filepath.extension().unwrap_or_default().to_os_string(); extension.push(".removed"); let copied = doc.filepath.with_extension(extension); - doc.save(Some(&copied)) + doc.save_to(copied) } else { - doc.save(None) + doc.save() } } } diff --git a/fmt/src/document/mod.rs b/fmt/src/document/mod.rs index 93d0a79..de2d817 100644 --- a/fmt/src/document/mod.rs +++ b/fmt/src/document/mod.rs @@ -17,6 +17,7 @@ use std::collections::HashMap; use std::fs; use std::fs::File; use std::io::BufRead; +use std::path::Path; use std::path::PathBuf; use exn::ErrorExt; @@ -164,8 +165,14 @@ impl Document { } } - pub fn save(&mut self, filepath: Option<&PathBuf>) -> Result<(), Error> { - let filepath = filepath.unwrap_or(&self.filepath); + pub fn save(&mut self) -> Result<(), Error> { + let filepath = self.filepath.as_path(); + fs::write(filepath, self.parser.file_content.content()) + .or_raise(|| Error::new(format!("cannot save document {}", filepath.display()))) + } + + pub fn save_to(&mut self, filepath: impl AsRef) -> Result<(), Error> { + let filepath = filepath.as_ref(); fs::write(filepath, self.parser.file_content.content()) .or_raise(|| Error::new(format!("cannot save document {}", filepath.display()))) }