Add the ability to pull configuration data from the environment. #643
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.
(First off, let me say thank you for developing ag. It has made searching our large codebase(s) a snap!)
This PR adds environment variables for many of the command-line options.
I also added a command-line option (and environment variable) to ignore the environment for configuration.
In the case of a boolean configuration option, environment variables set without a value currently do not affect the value, but it would be easy enough to change that. (I am currently embroiled in a long argument with myself about how they should be handled.)
I am open to any comments you might have but especially the names of the functions and environment variables.
[Along the way, I noticed that
opts.before
&opts.after
are bothsize_t
, whereasopts.context
is anint
. I don’t think there is any value to a negative context, and I may open a separate issue/PR for that, since context is the only reason for theenv_int_option
function.]