Merged
Conversation
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 new `ResolvedInput` type instead, which is the representation of plain file paths and raw inputs (strings, URLs, and `stdin`) 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 - Introduced `InputResolver` to centralize input source resolution and content extraction. - Moved content-related logic from `Input` to `InputResolver`. - Created new modules for input handling: `content`, `core`, `resolver`, and `source`. - Updated `Collector` to utilize `InputResolver` for obtaining input sources and contents. - Improved the docs
thomas-zahner
approved these changes
Aug 29, 2025
Member
thomas-zahner
left a comment
There was a problem hiding this comment.
Thank you, that look like a big improvement to me. Makes a lot of sense to split it up and the documentation is great!
I just wonder, if we still need get_input_sources.
Closed
This was referenced Oct 21, 2025
Closed
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.