fix: assume no pkgs when dir is empty or does not exist #58
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
I have
cargo
installed but do not have any packages installed withcargo
. Because it is installed, it does a check anyway for the number of files in~/.cargo/bin/*
, which does not exist for me and so is not expanded by bash and looks like one entry: a literal~/.cargo/bin/*
(which also happens if the directory exists but is empty)This causes neofetch to erroneously report that I have 1
cargo
package installed when there is none (see output below)This PR fixes this by ensuring that the first element passed to the internal
dir
function exists before counting the number of arguments to get number of packages, and fixes both the case when the directory does not exist and fixes when the directory is emptyOutput
Without Fix
No
~/.cargo/bin
Empty
~/.cargo/bin
One package installed to
~/.cargo/bin
With Fix
No
~/.cargo/bin
Empty
~/.cargo/bin
One package installed to
~/.cargo/bin