Start of key value implementation #1144
Draft
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 is related to #979
I spent some time this afternoon with a very simple start:
I, however, have some additional questions:
1. For array values: currently, that would look like:
With a key-value separator: would that look like this?
2. empty values:
The current (initial start) implementation would assign this as an empty value:
I can see where that could be unclear.
3. place of current key-value implementation:
Currently, the key-value split method will look at all arguments, including commands. The advantage is that it doesn't touch the Lexer.class tokenize method, but I would understand if only options should be separated from their value using the key value separator. In that case, I will change this a bit.
I didn't want to push this initial draft too far, before getting your feedback. Please let me know what you think.