You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
Would this be a refactor of existing code?
Does this proposal require new package dependencies?
Would this change break backwards compatibility?
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.
The text was updated successfully, but these errors were encountered:
Recent experience (see #144) suggests that it may in fact be preferable to merge the cleaning step into the preprocessor. Our current two-step approach destroys physical line information, because tokenization happens after line continuation is handled. Then a source line spans two (or more) physical lines, all tokens are assigned the line number of the first physical line.
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_source
with a simpler approach, probably by re-using existing lexers.file_parser
to use a simpler representation of theline_info
andLineGroup
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 usepygments
tokens.If we do use
pygments
, we'd be introducing a new dependency.The text was updated successfully, but these errors were encountered: