From eedeaa0d38c57fa15c77efa9dd590ba565d15c5d Mon Sep 17 00:00:00 2001 From: Urs Liska Date: Thu, 23 Jul 2015 17:06:42 +0200 Subject: [PATCH 1/2] colorize: "Melt" also over space characters This commit improves the `melt_mapped_tokens` function so that adjacent tokens are also melted when they are separated by spaces, e.g. { c d e } will only return one instead of three. --- ly/colorize.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ly/colorize.py b/ly/colorize.py index 61f7be58..91d87687 100644 --- a/ly/colorize.py +++ b/ly/colorize.py @@ -288,11 +288,15 @@ def melt_mapped_tokens(mapped_tokens): prev_tokens = [] prev_style = None for t, s in mapped_tokens: - if s == prev_style: + if s == prev_style or t == ' ': prev_tokens.append(t) else: if prev_tokens: - yield ''.join(prev_tokens), prev_style + if prev_tokens[-1] == ' ': + yield ''.join(prev_tokens[:-1]), prev_style + yield ' ', None + else: + yield ''.join(prev_tokens), prev_style prev_tokens = [t] prev_style = s if prev_tokens: From 5f4a59f2fa6617bc3c453280e491328e3f1257ae Mon Sep 17 00:00:00 2001 From: Urs Liska Date: Fri, 25 Sep 2015 15:58:11 +0200 Subject: [PATCH 2/2] Better check for empty tokens (to be melted) --- ly/colorize.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ly/colorize.py b/ly/colorize.py index 91d87687..45b8c5c0 100644 --- a/ly/colorize.py +++ b/ly/colorize.py @@ -288,7 +288,7 @@ def melt_mapped_tokens(mapped_tokens): prev_tokens = [] prev_style = None for t, s in mapped_tokens: - if s == prev_style or t == ' ': + if s == prev_style or t.isspace(): prev_tokens.append(t) else: if prev_tokens: