mirror of
https://github.com/uutils/coreutils.git
synced 2026-06-10 15:48:22 -07:00
expand: allow multiple "tabs" args
This commit is contained in:
@@ -132,8 +132,8 @@ struct Options {
|
||||
|
||||
impl Options {
|
||||
fn new(matches: &ArgMatches) -> Self {
|
||||
let (remaining_mode, tabstops) = match matches.value_of(options::TABS) {
|
||||
Some(s) => tabstops_parse(s),
|
||||
let (remaining_mode, tabstops) = match matches.values_of(options::TABS) {
|
||||
Some(s) => tabstops_parse(&s.collect::<Vec<&str>>().join(",")),
|
||||
None => (RemainingMode::None, vec![DEFAULT_TABSTOP]),
|
||||
};
|
||||
|
||||
@@ -195,6 +195,7 @@ pub fn uu_app<'a>() -> Command<'a> {
|
||||
.short('t')
|
||||
.value_name("N, LIST")
|
||||
.takes_value(true)
|
||||
.multiple_occurrences(true)
|
||||
.help("have tabs N characters apart, not 8 or use comma separated list of explicit tab positions"),
|
||||
)
|
||||
.arg(
|
||||
|
||||
@@ -73,6 +73,15 @@ fn test_tabs_mixed_style_list() {
|
||||
.stdout_is("a b c d e");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_multiple_tabs_args() {
|
||||
new_ucmd!()
|
||||
.args(&["--tabs=3", "--tabs=6", "--tabs=9"])
|
||||
.pipe_in("a\tb\tc\td\te")
|
||||
.succeeds()
|
||||
.stdout_is("a b c d e");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_tabs_empty_string() {
|
||||
new_ucmd!()
|
||||
|
||||
Reference in New Issue
Block a user