Fix some incorrect handling of message styling

This commit is contained in:
Marvin W 2019-10-18 16:11:00 +02:00
parent fcec78ce27
commit de3af0ae24
No known key found for this signature in database
GPG key ID: 072E9235DB996F2A

View file

@ -211,15 +211,15 @@ public static string parse_add_markup(string s_, string? highlight_word, bool pa
for (int i = 0; i < markup_string.length; i++) { for (int i = 0; i < markup_string.length; i++) {
string markup_esc = Regex.escape_string(markup_string[i]); string markup_esc = Regex.escape_string(markup_string[i]);
try { try {
Regex regex = new Regex("(^|\\s)" + markup_esc + "(\\S.*?\\S|\\S)" + markup_esc + "($|\\s)"); Regex regex = new Regex("(^|\\s)" + markup_esc + "(\\S.*?\\S|\\S)" + markup_esc);
MatchInfo match_info; MatchInfo match_info;
regex.match(s.down(), 0, out match_info); regex.match(s.down(), 0, out match_info);
if (match_info.matches()) { if (match_info.matches()) {
int start, end; int start, end;
match_info.fetch_pos(2, out start, out end); match_info.fetch_pos(2, out start, out end);
return parse_add_markup(s[0:start], highlight_word, parse_links, parse_text_markup, already_escaped) + return parse_add_markup(s[0:start-1], highlight_word, parse_links, parse_text_markup, already_escaped) +
@"<$(convenience_tag[i])>" + s[start:end] + @"</$(convenience_tag[i])>" + s[start-1:start] + @"<$(convenience_tag[i])>" + s[start:end] + @"</$(convenience_tag[i])>" + s[end:end+1] +
parse_add_markup(s[end:s.length], highlight_word, parse_links, parse_text_markup, already_escaped); parse_add_markup(s[end+1:s.length], highlight_word, parse_links, parse_text_markup, already_escaped);
} }
} catch (RegexError e) { } catch (RegexError e) {
assert_not_reached(); assert_not_reached();