From 022c02722d1de1d964b3f9e950af66bf31cc57ad Mon Sep 17 00:00:00 2001 From: Dave Pearson Date: Tue, 11 Oct 2022 15:33:56 +0100 Subject: [PATCH 1/4] Update the ChangeLog to mention `__repr__` tag-matching change --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4447de29..25eb9a908 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Bumped minimum Python version to 3.7 https://github.com/Textualize/rich/pull/2567 +- Pretty-printing of "tagged" `__repr__` results is now greedy when matching tags https://github.com/Textualize/rich/pull/2565 ## [12.6.0] - 2022-10-02 From 86ef7d5298545ffaac49ebfd46288d8a533ef60f Mon Sep 17 00:00:00 2001 From: Dave Pearson Date: Tue, 11 Oct 2022 15:48:37 +0100 Subject: [PATCH 2/4] Add a test for __repr__ tag matching with simple content --- tests/test_highlighter.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/test_highlighter.py b/tests/test_highlighter.py index a9d036ba9..9905c92b3 100644 --- a/tests/test_highlighter.py +++ b/tests/test_highlighter.py @@ -30,6 +30,16 @@ def test_wrong_type(): Span(4, 5, "repr.tag_end"), ], ), + ( + "", + [ + Span(0, 1, 'repr.tag_start'), + Span(1, 5, 'repr.tag_name'), + Span(5, 8, 'repr.tag_contents'), + Span(8, 9, 'repr.tag_end'), + Span(6, 8, 'repr.number') + ] + ), ( "False True None", [ From 59a60f830dc504597b428d534a798ff218a15964 Mon Sep 17 00:00:00 2001 From: Dave Pearson Date: Tue, 11 Oct 2022 15:50:52 +0100 Subject: [PATCH 3/4] Add a test for __repr__ tag matching with inner tag --- tests/test_highlighter.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/tests/test_highlighter.py b/tests/test_highlighter.py index 9905c92b3..c4489f370 100644 --- a/tests/test_highlighter.py +++ b/tests/test_highlighter.py @@ -33,11 +33,21 @@ def test_wrong_type(): ( "", [ - Span(0, 1, 'repr.tag_start'), - Span(1, 5, 'repr.tag_name'), - Span(5, 8, 'repr.tag_contents'), - Span(8, 9, 'repr.tag_end'), - Span(6, 8, 'repr.number') + Span(0, 1, "repr.tag_start"), + Span(1, 5, "repr.tag_name"), + Span(5, 8, "repr.tag_contents"), + Span(8, 9, "repr.tag_end"), + Span(6, 8, "repr.number") + ] + ), + ( + ">", + [ + Span(0, 1, "repr.tag_start"), + Span(1, 5, "repr.tag_name"), + Span(5, 15, "repr.tag_contents"), + Span(15, 16, "repr.tag_end"), + Span(12, 14, "repr.number") ] ), ( From 4df597e5608111d197a756e33e84331b304e709c Mon Sep 17 00:00:00 2001 From: Dave Pearson Date: Tue, 11 Oct 2022 16:25:22 +0100 Subject: [PATCH 4/4] Reformat with black And also run freshly-installed pre-commit hooks (hence ISO8601Highlighter moving in the import list). --- tests/test_highlighter.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/test_highlighter.py b/tests/test_highlighter.py index c4489f370..804efb369 100644 --- a/tests/test_highlighter.py +++ b/tests/test_highlighter.py @@ -5,10 +5,10 @@ import pytest from rich.highlighter import ( + ISO8601Highlighter, JSONHighlighter, NullHighlighter, ReprHighlighter, - ISO8601Highlighter, ) from rich.text import Span, Text @@ -37,8 +37,8 @@ def test_wrong_type(): Span(1, 5, "repr.tag_name"), Span(5, 8, "repr.tag_contents"), Span(8, 9, "repr.tag_end"), - Span(6, 8, "repr.number") - ] + Span(6, 8, "repr.number"), + ], ), ( ">", @@ -47,8 +47,8 @@ def test_wrong_type(): Span(1, 5, "repr.tag_name"), Span(5, 15, "repr.tag_contents"), Span(15, 16, "repr.tag_end"), - Span(12, 14, "repr.number") - ] + Span(12, 14, "repr.number"), + ], ), ( "False True None",