mirror of
https://github.com/uutils/coreutils
synced 2024-12-13 23:02:38 +00:00
fmt: adapt defaults to the ones used by GNU fmt
This commit is contained in:
parent
42d6604e59
commit
09db8d8af9
1 changed files with 15 additions and 6 deletions
|
@ -76,8 +76,8 @@ impl Default for FmtOptions {
|
|||
use_anti_prefix: false,
|
||||
anti_prefix: String::new(),
|
||||
xanti_prefix: false,
|
||||
width: 79,
|
||||
goal: 74,
|
||||
width: 75,
|
||||
goal: 70,
|
||||
tabwidth: 8,
|
||||
}
|
||||
}
|
||||
|
@ -95,6 +95,9 @@ impl Default for FmtOptions {
|
|||
#[allow(clippy::cognitive_complexity)]
|
||||
#[allow(clippy::field_reassign_with_default)]
|
||||
fn parse_arguments(args: impl uucore::Args) -> UResult<(Vec<String>, FmtOptions)> {
|
||||
// by default, goal is 93% of width
|
||||
const DEFAULT_GOAL_TO_WIDTH_RATIO: usize = 93;
|
||||
|
||||
let matches = uu_app().try_get_matches_from(args)?;
|
||||
|
||||
let mut files: Vec<String> = matches
|
||||
|
@ -149,7 +152,10 @@ fn parse_arguments(args: impl uucore::Args) -> UResult<(Vec<String>, FmtOptions)
|
|||
),
|
||||
));
|
||||
}
|
||||
fmt_opts.goal = cmp::min(fmt_opts.width * 94 / 100, fmt_opts.width - 3);
|
||||
fmt_opts.goal = cmp::min(
|
||||
fmt_opts.width * DEFAULT_GOAL_TO_WIDTH_RATIO / 100,
|
||||
fmt_opts.width - 3,
|
||||
);
|
||||
};
|
||||
|
||||
if let Some(s) = matches.get_one::<String>(OPT_GOAL) {
|
||||
|
@ -163,7 +169,10 @@ fn parse_arguments(args: impl uucore::Args) -> UResult<(Vec<String>, FmtOptions)
|
|||
}
|
||||
};
|
||||
if !matches.get_flag(OPT_WIDTH) {
|
||||
fmt_opts.width = cmp::max(fmt_opts.goal * 100 / 94, fmt_opts.goal + 3);
|
||||
fmt_opts.width = cmp::max(
|
||||
fmt_opts.goal * 100 / DEFAULT_GOAL_TO_WIDTH_RATIO,
|
||||
fmt_opts.goal + 3,
|
||||
);
|
||||
} else if fmt_opts.goal > fmt_opts.width {
|
||||
return Err(USimpleError::new(1, "GOAL cannot be greater than WIDTH."));
|
||||
}
|
||||
|
@ -364,14 +373,14 @@ pub fn uu_app() -> Command {
|
|||
Arg::new(OPT_WIDTH)
|
||||
.short('w')
|
||||
.long("width")
|
||||
.help("Fill output lines up to a maximum of WIDTH columns, default 79.")
|
||||
.help("Fill output lines up to a maximum of WIDTH columns, default 75.")
|
||||
.value_name("WIDTH"),
|
||||
)
|
||||
.arg(
|
||||
Arg::new(OPT_GOAL)
|
||||
.short('g')
|
||||
.long("goal")
|
||||
.help("Goal width, default ~0.94*WIDTH. Must be less than WIDTH.")
|
||||
.help("Goal width, default of 93% of WIDTH. Must be less than WIDTH.")
|
||||
.value_name("GOAL"),
|
||||
)
|
||||
.arg(
|
||||
|
|
Loading…
Reference in a new issue