diff options
author | ridiculousfish <corydoras@ridiculousfish.com> | 2012-03-05 14:18:16 -0800 |
---|---|---|
committer | ridiculousfish <corydoras@ridiculousfish.com> | 2012-03-05 14:18:16 -0800 |
commit | f35d2629d40908bb4a516e9801a42bb47e501012 (patch) | |
tree | 3753d4f49aeada7b53e649adb067a2869bf0c0c0 /input.cpp | |
parent | 0e5578204ea8ec906b110c5e710da0c94437b2f7 (diff) |
Notice when fish_term256 changes and react to it
Diffstat (limited to 'input.cpp')
-rw-r--r-- | input.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
@@ -305,6 +305,20 @@ static int interrupt_handler() return R_NULL; } +void update_fish_term256(void) +{ + /* Infer term256 support */ + env_var_t fish_term256 = env_get_string(L"fish_term256"); + bool support_term256; + if (! fish_term256.missing_or_empty()) { + support_term256 = from_string<bool>(fish_term256); + } else { + env_var_t term = env_get_string(L"TERM"); + support_term256 = ! term.missing() && term.find(L"256color") != wcstring::npos; + } + output_set_supports_term256(support_term256); +} + int input_init() { if( is_init ) @@ -325,16 +339,7 @@ int input_init() input_terminfo_init(); - /* Infer term256 support. Consider using t_Co */ - env_var_t fish_term256 = env_get_string(L"fish_term256"); - bool support_term256; - if (! fish_term256.missing_or_empty()) { - support_term256 = from_string<bool>(fish_term256); - } else { - env_var_t term = env_get_string(L"TERM"); - support_term256 = ! term.missing() && term.find(L"256color") != wcstring::npos; - } - output_set_supports_term256(support_term256); + update_fish_term256(); /* If we have no keybindings, add a few simple defaults */ if( mapping_list.size() ) |