diff options
author | Lukas Mai <l.mai@web.de> | 2011-11-30 00:54:42 +0100 |
---|---|---|
committer | Ailin Nemui <ailin@esf51.localdomain> | 2014-07-07 00:32:07 +0200 |
commit | 225d149968f72137d19002344d414637774f4377 (patch) | |
tree | 01337d3a53c06b01859a9cf6f8a25c8e4eabd5a3 | |
parent | 0e294d5c2e4d4dd686378f2050abc9a9f2fae199 (diff) | |
download | irssi-225d149968f72137d19002344d414637774f4377.zip |
optionally render /foo/ as italics
-rw-r--r-- | src/fe-common/core/fe-messages.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/fe-common/core/fe-messages.c b/src/fe-common/core/fe-messages.c index 67c95745..25c20109 100644 --- a/src/fe-common/core/fe-messages.c +++ b/src/fe-common/core/fe-messages.c @@ -45,16 +45,19 @@ GHashTable *printnicks; -/* convert _underlined_ and *bold* words (and phrases) to use real +/* convert _underlined_, /italics/, and *bold* words (and phrases) to use real underlining or bolding */ char *expand_emphasis(WI_ITEM_REC *item, const char *text) { GString *str; char *ret; int pos; + int emphasis_italics; g_return_val_if_fail(text != NULL, NULL); + emphasis_italics = settings_get_bool("emphasis_italics"); + str = g_string_new(text); for (pos = 0; pos < str->len; pos++) { @@ -62,9 +65,11 @@ char *expand_emphasis(WI_ITEM_REC *item, const char *text) bgn = str->str + pos; - if (*bgn == '*') + if (*bgn == '*') type = 2; /* bold */ - else if (*bgn == '_') + else if (*bgn == '/' && emphasis_italics) + type = 29; /* italics */ + else if (*bgn == '_') type = 31; /* underlined */ else continue; @@ -92,7 +97,7 @@ char *expand_emphasis(WI_ITEM_REC *item, const char *text) found = nicklist_find(CHANNEL(item), bgn) != NULL; end[1] = c; if (found) continue; - + /* check if the whole 'word' (e.g. "_foo_^") is a nick in "_foo_^ ", end will be the second _, end2 the ^ */ end2 = end; @@ -680,6 +685,7 @@ void fe_messages_init(void) settings_add_bool("lookandfeel", "emphasis", TRUE); settings_add_bool("lookandfeel", "emphasis_replace", FALSE); settings_add_bool("lookandfeel", "emphasis_multiword", FALSE); + settings_add_bool("lookandfeel", "emphasis_italics", FALSE); settings_add_bool("lookandfeel", "show_nickmode", TRUE); settings_add_bool("lookandfeel", "show_nickmode_empty", TRUE); settings_add_bool("lookandfeel", "print_active_channel", FALSE); |