mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 11:37:44 +00:00
Merge pull request #1177 from mmstick/ls-column
[ls] Add "-1" Flag & Fix Needless Vec
This commit is contained in:
commit
fc7b1fcaba
1 changed files with 28 additions and 23 deletions
11
src/ls/ls.rs
11
src/ls/ls.rs
|
@ -82,6 +82,7 @@ pub fn uumain(args: Vec<String>) -> i32 {
|
|||
NAME
|
||||
);
|
||||
let matches = new_coreopts!(&syntax, SUMMARY, LONG_HELP)
|
||||
.optflag("1", "", "list one file per line.")
|
||||
.optflag(
|
||||
"a",
|
||||
"all",
|
||||
|
@ -351,7 +352,8 @@ fn display_items(items: &Vec<PathBuf>, strip: Option<&Path>, options: &getopts::
|
|||
display_item_long(item, strip, max_links, max_size, options);
|
||||
}
|
||||
} else {
|
||||
let names: Vec<_> = items
|
||||
if !options.opt_present("1") {
|
||||
let names = items
|
||||
.iter()
|
||||
.filter_map(|i| {
|
||||
let md = get_metadata(i, options);
|
||||
|
@ -363,21 +365,24 @@ fn display_items(items: &Vec<PathBuf>, strip: Option<&Path>, options: &getopts::
|
|||
}
|
||||
Ok(md) => Some(display_file_name(&i, strip, &md, options)),
|
||||
}
|
||||
})
|
||||
.collect();
|
||||
});
|
||||
|
||||
if let Some(size) = termsize::get() {
|
||||
let mut grid = Grid::new(GridOptions {
|
||||
filling: Filling::Spaces(2),
|
||||
direction: Direction::TopToBottom,
|
||||
});
|
||||
|
||||
for name in names {
|
||||
grid.add(name);
|
||||
}
|
||||
|
||||
if let Some(output) = grid.fit_into_width(size.cols as usize) {
|
||||
print!("{}", output);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Couldn't display a grid, either because we don't know
|
||||
// the terminal width or because fit_into_width failed
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue