lsd-rs / lsd

The next gen ls command
Apache License 2.0
13.05k stars 425 forks source link

human readable flag (-h) enabled #906

Open sdorr0 opened 11 months ago

sdorr0 commented 11 months ago

This re-enables a quick, easy to type command line flag that ls users are familiar with for convenience.

In the event a user has changed the default configuration of lsd to use a size setting of something other than default, this lets a user use the historically established CLI flag (-h) to enable the human readable option without having to type --size=default on the command line.


TODO

muniu-bot[bot] commented 11 months ago

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: sdorr0

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files: - **[OWNERS](https://github.com/lsd-rs/lsd/blob/master/OWNERS)** Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
zwpaper commented 11 months ago

hi @sdorr0, thanks for the contribution.

I have one more question, what is users used -h with --size option? this would make --size not working?

sdorr0 commented 11 months ago

hi @sdorr0, thanks for the contribution.

I have one more question, what is users used -h with --size option? this would make --size not working?

Hmm. Yeah, the way the code is written now, -h will override a --size on the command line. I see that subsequent --size flags on the command line will override one another based on position (the 'last' one wins).

Never done Rust before. I'm not sure if there's a way to set up #[arg()] to also incorporate a short -h so it can play nicely with those positional dependencies, but I can research.

Would this be a requirement to merge this change in?

sdorr0 commented 11 months ago

I may have a solution

sdorr0 commented 11 months ago

Never mind. I've tried all kinds of approaches and can't seem to get clap to let -h work with --size=<mode> where the last one on the command line always wins.

So, yes, using -h will take precedence over a supplied --size=<mode> argument.

zwpaper commented 11 months ago

but it does not make sense for -h as a general flag to overwrite the --size as a specific flag.

many people may set the -h as default and it may lost --size if that