completions: clear and consistent log messages #2063
+415
−212
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
Many plugins/completions/whatever check if their associated command is already installed before loading. Find, fix, and add in/to all the completions to ensure consistency and improve
bash-it doctor
.Since completions are such a focused set of functions, create some helpers to simplify.
Motivation and Context
The
_command_exist()
(et al) functions were all weird due to having logging shoved in sideways, which was neither informative nor used anywhere. This pulls the logging from the utility functions and adds it to the relevant call sites, as well as adding to several other plugins that could use it.In particular, some completions or some plugins may be useless but harmless if their associated command is not installed. I've opted to add logging, but not to force an early short-circuit. For example, I've made improvements to a lot of the completions code recently, but I don't have all the relevant tools installed. I load the completion and can test it out anyway, so I don't want to unnecessarily short-circuit it.
The result of all this should be a more reasonable output when
$BASH_IT_LOG_LEVEL
is set, and frombash-it doctor
, as well as avoid polluting theme variables that check for installed utilities.How Has This Been Tested?
Types of changes
Checklist:
clean_files.txt
and formatted it usinglint_clean_files.sh
.