nabijaczleweli / cargo-update

A cargo subcommand for checking and applying updates to installed executables
MIT License
1.22k stars 42 forks source link

List Column Order #230

Closed compilenix closed 1 year ago

compilenix commented 1 year ago

Hey, I'd like to suggest a small change that, imo, gives a small UX improvement.

When listing the currently installed packages using cargo install-update --list the column Needs update is on the right most position, this reduces the readability in case any of the columns before that have more content to display.

My suggestion is that columns with a known fixed size are moved more the the left to present a more stable UX.

Here is an example of how it can look like currently:

Package             Installed  Latest                               Needs update
atuin               v14.0.0    v14.0.1                              Yes
grcov               v0.8.16    v0.8.18                              Yes
zellij              v0.35.2    v0.36.0                              Yes
alacritty           v0.12.0    v0.12.0                              No
bat                 v0.23.0    v0.23.0                              No
cargo-asm           v0.1.16    v0.1.16                              No
cargo-audit         v0.17.5    v0.17.5                              No
cargo-auditable     v0.6.1     v0.6.1                               No
cargo-bloat         v0.11.1    v0.11.1                              No
cargo-cache         v0.8.3     v0.8.3                               No
cargo-deb           v1.42.2    v1.42.2                              No
cargo-edit          v0.11.9    v0.11.9                              No
cargo-feature       v0.7.0     v0.7.0                               No
cargo-generate-rpm  v0.10.2    v0.10.2                              No
cargo-info          v0.7.3     v0.7.3                               No
cargo-nextest       v0.9.51    v0.9.51                              No
cargo-sort          v1.0.9     v1.0.9                               No
cargo-update        v13.0.1    v13.0.1                              No
cargo-watch         v8.4.0     v8.4.0                               No
exa                 v0.10.1    v0.10.1                              No
gpg-tui             v0.9.5     v0.9.5                               No
hurl                v2.0.1     v2.0.1                               No
hyperfine           v1.16.1    v1.16.1                              No
oha                 v0.5.8     v0.5.8                               No
ripgrep             v13.0.0    v13.0.0                              No
rustfilt            v0.2.1     v0.2.1                               No
sccache             v0.4.1     v0.4.1                               No
tokei               v12.1.2    v12.1.2 (v13.0.0-alpha.0 available)  No
toluol              v2.0.0     v2.0.0                               No
trippy              v0.7.0     v0.7.0                               No

Here is an example of how it could look like:

Package             Needs update    Installed  Latest
atuin               Yes             v14.0.0    v14.0.1
grcov               Yes             v0.8.16    v0.8.18
zellij              Yes             v0.35.2    v0.36.0
alacritty           No              v0.12.0    v0.12.0
bat                 No              v0.23.0    v0.23.0
cargo-asm           No              v0.1.16    v0.1.16
cargo-audit         No              v0.17.5    v0.17.5
cargo-auditable     No              v0.6.1     v0.6.1
cargo-bloat         No              v0.11.1    v0.11.1
cargo-cache         No              v0.8.3     v0.8.3
cargo-deb           No              v1.42.2    v1.42.2
cargo-edit          No              v0.11.9    v0.11.9
cargo-feature       No              v0.7.0     v0.7.0
cargo-generate-rpm  No              v0.10.2    v0.10.2
cargo-info          No              v0.7.3     v0.7.3
cargo-nextest       No              v0.9.51    v0.9.51
cargo-sort          No              v1.0.9     v1.0.9
cargo-update        No              v13.0.1    v13.0.1
cargo-watch         No              v8.4.0     v8.4.0
exa                 No              v0.10.1    v0.10.1
gpg-tui             No              v0.9.5     v0.9.5
hurl                No              v2.0.1     v2.0.1
hyperfine           No              v1.16.1    v1.16.1
oha                 No              v0.5.8     v0.5.8
ripgrep             No              v13.0.0    v13.0.0
rustfilt            No              v0.2.1     v0.2.1
sccache             No              v0.4.1     v0.4.1
tokei               No              v12.1.2    v12.1.2 (v13.0.0-alpha.0 available)
toluol              No              v2.0.0     v2.0.0
trippy              No              v0.7.0     v0.7.0

Greetings and Thanks for building and maintaining this crate 🙏

nabijaczleweli commented 1 year ago

ABI break + i think this is actually less readable because the data you care about (name + versions) is spread out