feat: adding config-path flag
#4
Open
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-pathparameter 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 aconfigurationstruct with with a string tacked on for theConfigPath.addFlags(config *configuration)intoparseFlags() startupFlagsandaddFlags(flags startupFlags, config *configuration).parseFlagssimply reads in the flags so we knowConfigPathahead of loading the config fileaddFlagsoverwrites any values in the config with those passed in as flagsConfigPathtoloadConfigs~and.I also did a small refactor of the flag parsing, changing from using
flags.Stringacross the board toflags.StringVarandflags.IntVarto avoid additional conversion from string to int. I will change this back if there are strong opinions about the previous parsing method.