Feature/behavior summary
These two files are large, complicated, and poorly documented. The desired functionality is actually very simple:
- "Clean" source files, by stripping comments and combining whitespace.
- Provide an iterator over some representation of the cleaned lines.
Request attributes
Related issues
No response
Solution description
- Replace
file_source with a simpler approach, probably by re-using existing lexers.
- Rewrite
file_parser to use a simpler representation of the line_info and LineGroup objects.
Additional notes
We should explore implementing this functionality with pygments; it should be possible to iterate through tokens and discard the ones we don't want. This would also open up the opportunity to rewrite other parts of Code Base Investigator to use pygments tokens.
If we do use pygments, we'd be introducing a new dependency.
Feature/behavior summary
These two files are large, complicated, and poorly documented. The desired functionality is actually very simple:
Request attributes
Related issues
No response
Solution description
file_sourcewith a simpler approach, probably by re-using existing lexers.file_parserto use a simpler representation of theline_infoandLineGroupobjects.Additional notes
We should explore implementing this functionality with
pygments; it should be possible to iterate through tokens and discard the ones we don't want. This would also open up the opportunity to rewrite other parts of Code Base Investigator to usepygmentstokens.If we do use
pygments, we'd be introducing a new dependency.