diff --git a/eris/termstr.py b/eris/termstr.py index 2a87ba7..bd8f270 100644 --- a/eris/termstr.py +++ b/eris/termstr.py @@ -164,8 +164,8 @@ class TermStr(collections.UserString): parts = data.split(terminal.ESC) fg_color, bg_color = None, None is_bold, is_italic, is_underlined = False, False, False - result_parts = [] - for part in parts: + result_parts = [parts[0]] + for part in parts[1:]: try: end_index = part.index("m") except ValueError: diff --git a/eris/tools.toml b/eris/tools.toml index 7fea622..d6c2597 100644 --- a/eris/tools.toml +++ b/eris/tools.toml @@ -81,6 +81,7 @@ tools_for_extensions = [ dependencies = ["rakudo"] url = "https://rakudo.org/" command = "perl6 -c" + has_color = true [git_blame] dependencies = ["git"] diff --git a/tests/termstr_test.py b/tests/termstr_test.py index 803fc4f..4588247 100755 --- a/tests/termstr_test.py +++ b/tests/termstr_test.py @@ -136,6 +136,7 @@ class TermStrTests(unittest.TestCase): bg_color(termstr.Color.green)) test_round_trip(termstr.TermStr("foo").fg_color(1)) test_round_trip(termstr.TermStr("foo").bg_color(10)) + self.assertEqual(TermStr.from_term("foo"), termstr.TermStr("foo")) self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[33mfoo"), termstr.TermStr("foo").fg_color(3)) self.assertEqual(TermStr.from_term(eris.terminal.ESC + "[45mfoo"),