Parse filename unambiguously using color escape sequences #1634
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.
Parse filename unambiguously using color escape sequences, to handle cases where separators like
-
appear in the filename.git grep
, by default, emits ANSI color escape sequences around the filename, separator, and line number. Parse these if available.Add tests for filenames that previously failed to parse correctly.
Fixes: #1083
Before:
After:
This currently assumes the default colors, and will fall back to the previous parsing if any of the colors have been changed. This is an issue elsewhere in delta as well; for instance, if
color.grep.match
has been changed then delta won't highlight matches. I think this would be easy to fix, by parsing git's color configuration (which I implemented inanstyle-git
), rendering those color sequences to ANSI escapes, and using those in the regex rather than hardcoded ones. However, I think that should be a separate PR.