Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34k
gh-133722: Add Difflib theme to _colorize and 'color' option to difflib.unified_diff#133725
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Uh oh!
There was an error while loading. Please reload this page.
Merged
Changes from all commits
Commits
Show all changes
25 commits Select commit Hold shift + click to select a range
5c5b248 Add test case
dougthor42 fdc0fa0 Add 'color' arg to difflib.unified_diff.
dougthor42 fcdd7ab Update docs and ACKs
dougthor42 0e9b070 blurb
dougthor42 7c31749 fixup to follow convention
dougthor42 66475a2 Add 'Difflib' theme
dougthor42 dbf0547 fixup tests
dougthor42 a72012e Switch to using themes. So easy!
dougthor42 2a3d818 use 'next' in versionchanged docs
dougthor42 252982e turns out 'git diff' adds reset to the start and end of context lines
dougthor42 3422fa7 Use GNU unified diff terms
dougthor42 bffdd71 move class
dougthor42 3255866 kw-only the 'color' arg
dougthor42 c48a6ac Doc formatting updates
dougthor42 8ca50fa Sort the things that are safe to sort without kw_only=True
dougthor42 eb0e81e Update what's new
dougthor42 f7b34c3 Merge remote-tracking branch 'upstream/main' into difflib-color-gh133722
dougthor42 fb092b0 fixup docs
dougthor42 734b0bc fixup docs
dougthor42 8a10e40 Code review: docs, whatsnew, f-strings, news
dougthor42 57b80d1 force_colorized
dougthor42 c235425 kw_only
dougthor42 387cfe6 Merge branch 'main' into difflib-color-gh133722
dougthor42 833d86a documentation updates per code review
dougthor42 25f9d80 Merge branch 'main' into difflib-color-gh133722
dougthor42 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Jump to file
Failed to load files.
Loading
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,5 @@ | ||
| import difflib | ||
| from test.support import findfile | ||
| from test.support import findfile, force_colorized | ||
| import unittest | ||
| import doctest | ||
| import sys | ||
| @@ -355,6 +355,22 @@ def test_range_format_context(self): | ||
| self.assertEqual(fmt(3,6), '4,6') | ||
| self.assertEqual(fmt(0,0), '0') | ||
| @force_colorized | ||
| def test_unified_diff_colored_output(self): | ||
| args = [['one', 'three'], ['two', 'three'], 'Original', 'Current', | ||
| '2005-01-26 23:30:50', '2010-04-02 10:20:52'] | ||
| actual = list(difflib.unified_diff(*args, lineterm='', color=True)) | ||
| expect = [ | ||
| "\033[1m--- Original\t2005-01-26 23:30:50\033[0m", | ||
| "\033[1m+++ Current\t2010-04-02 10:20:52\033[0m", | ||
| "\033[36m@@ -1,2 +1,2 @@\033[0m", | ||
| "\033[31m-one\033[0m", | ||
| "\033[32m+two\033[0m", | ||
| "\033[0m three\033[0m", | ||
| ] | ||
| self.assertEqual(expect, actual) | ||
hugovk marked this conversation as resolved. Show resolvedHide resolvedUh oh!There was an error while loading. Please reload this page. | ||
| class TestBytes(unittest.TestCase): | ||
| # don't really care about the content of the output, just the fact | ||
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
2 changes: 2 additions & 0 deletions 2 Misc/NEWS.d/next/Library/2025-05-08-20-03-20.gh-issue-133722.1-B82a.rst
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| Added a *color* option to :func:`difflib.unified_diff` that colors output | ||
| similar to :program:`git diff`. |
Oops, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
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.
Uh oh!
There was an error while loading. Please reload this page.