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.
I wasn't too happy with our input handling module anymore, so I tried to split up the functionality up into multiple smaller structs.
One benefit is that I got rid of the
unreachable!branch for glob patterns, because that case can no longer happen: I introduced a newResolvedInputtype instead, which is the representation of plain file paths and raw inputs (strings, URLs, andstdin) where globs got resolved to paths as well.The final result is an incremental improvement in my opinion. We could still do a lot more, however I wanted to keep the logic identical to before.
Details
InputResolverto centralize input source resolution and content extraction.InputtoInputResolver.content,core,resolver, andsource.Collectorto utilizeInputResolverfor obtaining input sources and contents.