fmt: implement default for FmtOptions

This commit is contained in:
Daniel Hofstetter 2023-04-18 10:12:17 +02:00
parent 8940018833
commit 42d6604e59

View file

@ -60,25 +60,10 @@ pub struct FmtOptions {
goal: usize, goal: usize,
tabwidth: usize, tabwidth: usize,
} }
/// Parse the command line arguments and return the list of files and formatting options.
///
/// # Arguments
///
/// * `args` - Command line arguments.
///
/// # Returns
///
/// A tuple containing a vector of file names and a `FmtOptions` struct.
#[allow(clippy::cognitive_complexity)]
fn parse_arguments(args: impl uucore::Args) -> UResult<(Vec<String>, FmtOptions)> {
let matches = uu_app().try_get_matches_from(args)?;
let mut files: Vec<String> = matches impl Default for FmtOptions {
.get_many::<String>(ARG_FILES) fn default() -> Self {
.map(|v| v.map(ToString::to_string).collect()) Self {
.unwrap_or_default();
let mut fmt_opts = FmtOptions {
crown: false, crown: false,
tagged: false, tagged: false,
mail: false, mail: false,
@ -94,7 +79,30 @@ fn parse_arguments(args: impl uucore::Args) -> UResult<(Vec<String>, FmtOptions)
width: 79, width: 79,
goal: 74, goal: 74,
tabwidth: 8, tabwidth: 8,
}; }
}
}
/// Parse the command line arguments and return the list of files and formatting options.
///
/// # Arguments
///
/// * `args` - Command line arguments.
///
/// # Returns
///
/// A tuple containing a vector of file names and a `FmtOptions` struct.
#[allow(clippy::cognitive_complexity)]
#[allow(clippy::field_reassign_with_default)]
fn parse_arguments(args: impl uucore::Args) -> UResult<(Vec<String>, FmtOptions)> {
let matches = uu_app().try_get_matches_from(args)?;
let mut files: Vec<String> = matches
.get_many::<String>(ARG_FILES)
.map(|v| v.map(ToString::to_string).collect())
.unwrap_or_default();
let mut fmt_opts = FmtOptions::default();
fmt_opts.tagged = matches.get_flag(OPT_TAGGED_PARAGRAPH); fmt_opts.tagged = matches.get_flag(OPT_TAGGED_PARAGRAPH);
if matches.get_flag(OPT_CROWN_MARGIN) { if matches.get_flag(OPT_CROWN_MARGIN) {