Open tertsdiepraam opened 3 years ago
Bravo for this work!
Don't hesitate to create new issues as "good first bugs"!
@tertsdiepraam That's another few points to tick off
@LevitatingBusinessMan Thanks for reminding me!
@tertsdiepraam Don't forget the posix
time-styles. And the TIME_STYLE
environemntal variable works already.
Nice list :) - I was implementing 'total size' related feature which I noticed to be missing from output. I think it aligns with the last item in the list?
Yes, that's what that was supposed to be! I rewrote it a bit to make it clearer (hopefully). Looking forward to the PR!
Thanks for confirming - it was already clear as is, I just was double confirming.
@sylvestre did you close this by mistake?
nah, it was closed when the PR has been merged!
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Set default to -q if the output is a terminal.
The IsTerminal
trait was stabilized in 1.70.0 recently. So this feature should be trivial to implement once we move the minimum rust version up.
Indeed! We're also using the is_terminal
crate in other utils, which has the same interface, I think. So this should be pretty easy to do.
https://github.com/uutils/coreutils/blob/main/src/uu/ls/src/ls.rs#L830-L837
Judging by this code, this is already done. Though I am not sure if it is correctly tested.
We probably can't really test it. I'll mark it as done in the list. Thanks!
was this one completed?
nope, we still have some options not passing compared to GNU
I've made an overview of all options that need to be added and defaults that need to be changed in
ls
to reach full compatibility with GNUls
. I hope this might help people out who want to contribute, without adding to many issues to the issue list.The items marked with :one: are the ones I think make Good First Issues.
-x
&--format=across
&--format=horizontal
-m
&--format=commas
-n
overrideable (similar to-o
and-g
)--time=birth
&--time=creation
--time-style=full-iso
--time-style=long-iso
--time-style=iso
--time-style=locale
(works, but not locale-specific yet)--time-style=+FORMAT
like indate
posix-
prefix for--time-style
--full-time
TIME_STYLE
orlocale
-b
.--escape
&--quoting-style=escape
-Q
,--quote-name
&--quoting-style=c
-N
,--literal
&--quoting-style=literal
--quoting-style=shell
&--quoting-style=shell-always
--quoting-style=shell-escape
&--quoting-style=shell-escape-always
--quoting-style=locale
--quoting-style=clocale
QUOTING_STYLE
orshell-escape
.-q
&--hide-control-characters
--show-control-characters
-q
if the output is a terminal.-U
&--sort=none
-v
&--sort=version
(also used insort
, so might make sense to put this inuucore
)-X
&--sort=extension
--group-directories-first
-f
(enable-aU
, disable-ls --color
)-H
&--dereference-command-line
--dereference-command-line-symlink-to-dir
--hide
-I
&--ignore
--indicator-style
with options:none
,slash
,file-type
,classify
-p
(equivalent to--indicator-style=slash
)--file-type
(equivalent to--indicator-style=file-type
)uucore
, since they are used by multiple programs)-s
&--size
-k
&--kibibytes
(equivalent to--block-size=1K
)--block-size
-w
&--width
-T
&--tabsize
-Z
&--context
-D
&--dired
--hyperlink