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.
WHAT
Refactor meta command. `meta is used in various command in afx. It's basically for embedding to each subcommand to access meta information (e.g. env, packages, state etc...). In this PR, it has been moved to outside of each command. Concretely, will be moved to rootCmd.
By this, each commands doesn't have to run
meta.init()
with inside of its own. Each command can accessmeta
via its receiver. Also, each command can continuously embedmeta
into its own subcommand to passmeta
to each command methods.Before:
After:
WHY
By taking the
meta.init()
method out of each commands, afx can become to get meta information at root command level.meta
has a lot of information to run afx command, so these data can be used before running each command. For example,state
data. It can be passed to each command as its valid args.Thanks to this, each command completion feature will be more powerful. Other benefits also will be appeared soon.