I'm the maintainer of lsd for Fedora Linux, and some outdated
dependencies are making maintenance increasingly difficult.
- deps: update chrono-humanize to v0.2
We have this patched for almost two years in Fedora and it has not
caused issues.
- deps: update assert_cmd to v2
Same here, this patch has been in the Fedora package for a while.
- deps: update sys-locale to v0.3
This dependency seems to have been added recently, not sure why an old
version was chosen.
- deps: update vsort to v0.2
Same here, this was added recently but 0.1 was used instead of 0.2, not
sure why.
- deps: update git2 to v0.18
Using old versions of git2 is not a good idea, since the bundled libgit2
C library often has CVE issues.
- deps: migrate from users to uzers
The "users" crate is unmaintained. The "uzers" crate is an
API-compatible fork that also fixes some bugs and security issues.
- deps: update serial_test to v2
The current dependency (v0.5) is **reeeeeally** old. Not sure why this
was never updated.
- deps: update predicates to v3
Same here, predicates v1 is **reaally** old.
- deps: allow newer versions of url, wild, and xdg crates
Not sure why strange `x.0.*` style dependencies were used here. It's
holding back various updates for both url and xdg crates, and makes
maintaining lsd in Fedora more difficult. We have built lsd against the
latest versions of all three crates forever, and it has not caused
issues.
Basic SPEC file that can be used to build a RPM for lsd.
- UPX compression was disabled.
I have precompiled packages on my fork for EL9 and AMZN AL2023.
https://github.com/daniejstriata/lsd/releases
The `literal` option was not correctly recognized from config file due
to `Literal::from_cli` returning `Some(Literal(false))` instead of
`None`, so `Literal::from_config` would never have been executed.
Adds couple file extensions.
`.cypher` - Cypher, a query language
`.malloy` - Malloy, a query language
`.kusto` - Kusto Query Language
`.rq` - SPARQL, a query language
- Found a better (larger and clearer) Rust icon, so I changed that
(`\u{e68b}`)
- Set emacs config files (`config.el`, `packages.el` etc.) to use the
actual Emacs icon instead of GNU head for Emacs files (`\u{e632}`)
- Perl language extensions (`.pl`, `.pm`, `.pod`, `.plx`) now use the
camel instead of the... circle (`\u{e67e}`)
- Added OCAML extensions (`.ml`, `.mli`, `.mll`)
- Added many Go and Gradle filenames
- Added separate key icons for public keys (extensions) and private keys
(filenames)
- Added a kitty cat for Yarn configuration files
- Switched all the Bash, Zsh, and Csh filenames to use a shebang icon,
instead of the command prompt
[For reference](https://www.nerdfonts.com/cheat-sheet)
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.