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.
This change adds a
config-path
parameter to the program that allows for a custom config file path instead of just the current or home directory. A passed in config file will cause the program to skip loading files in either the current or home directory. Other config flags passed in still take priority over values in the custom config.This was accomplished by:
startupFlags
, which is just aconfiguration
struct with with a string tacked on for theConfigPath
.addFlags(config *configuration)
intoparseFlags() startupFlags
andaddFlags(flags startupFlags, config *configuration)
.parseFlags
simply reads in the flags so we knowConfigPath
ahead of loading the config fileaddFlags
overwrites any values in the config with those passed in as flagsConfigPath
toloadConfigs
~
and.
I also did a small refactor of the flag parsing, changing from using
flags.String
across the board toflags.StringVar
andflags.IntVar
to avoid additional conversion from string to int. I will change this back if there are strong opinions about the previous parsing method.