Skip to content

Commit

Permalink
Merge pull request #3585 from cakebaker/multiple_tabs
Browse files Browse the repository at this point in the history
expand: allow multiple "tabs" args
  • Loading branch information
sylvestre authored Jun 2, 2022
2 parents aeb01c6 + 864c666 commit 68cc931
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/uu/expand/src/expand.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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]),
};

Expand Down Expand Up @@ -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(
Expand Down
9 changes: 9 additions & 0 deletions tests/by-util/test_expand.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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!()
Expand Down

0 comments on commit 68cc931

Please sign in to comment.