This adds the following CLI flags:
- `--truncate-owner-after`
- `--truncate-owner-marker`
And the following configuration fields:
```yaml
truncate-owner:
after:
marker: ""
```
The default behavior of LSD is unchanged.
The problem this change attempts to solve is the usability of the `-l`
flag on systems where some user or group names are long but cannot be
changed (e.g. the user is not admin and the account is managed in a
central directory). In such cases, even with a decently sized terminal
(90+ characters wide), lines often overflow, making the directory
listing hard to read.
Without this change, the only mitigation would consist in turning off
the display of file ownership (via the `blocks` configuration field)
which is unsatisfactory because ownership information is very useful.
The PR will fix#786 .
In order to minimize future security risks and maintain ease of use, it
is recommended to avoid using deprecated features of clap.
I have refactored the code so that no warning appears when the following
command is executed:
```sh
cargo check --features clap/deprecated
```
With a folder structure (a folder `z` with a file `a`), if we do `lsd
-a` it used to be:
. a ..
instead of
. .. a
This was caused to the the parent meta having full path and us using
z/.. to sort .. entry. This should now be fixed with manually changing
the name to a .. .
When reading from config, we do not take into consideration the value
of blocks until we pass -l in the cli args, but if the user passes
in blocks via the cli, the -l flag is implied.
This commit implements the `-d` option in combination with `--tree` to mimic `tree -d` behaviour. There are also changes to the behaviour of `--tree` and `-R` such that they follow the same behaviour as `tree -d` and `ls -R` i.e. not follwoing symlinked directories unless the `-L` flag is specified.