From: Alexander Barton Date: Sat, 8 Jul 2017 20:36:34 +0000 (+0200) Subject: 11_terminal: Implement a cache for axzsh_is_widechar_terminal() X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ax-zsh.git;a=commitdiff_plain;h=60c0d9789b896a2d6a0be06dcbe67b38d294579d 11_terminal: Implement a cache for axzsh_is_widechar_terminal() --- diff --git a/core/11_terminal/11_terminal.zshrc b/core/11_terminal/11_terminal.zshrc index 60e0acb..6d4c988 100644 --- a/core/11_terminal/11_terminal.zshrc +++ b/core/11_terminal/11_terminal.zshrc @@ -23,7 +23,16 @@ alias isutfenv=axzsh_is_utf_terminal # Check if terminal supports "wide" characters. # +typeset -g _axzsh_is_widechar_terminal_cache function axzsh_is_widechar_terminal { + if [[ -z "$_axzsh_is_widechar_terminal_cache" ]]; then + # No cached result, call test function ... + _axzsh_is_widechar_terminal + _axzsh_is_widechar_terminal_cache=$? + fi + return $_axzsh_is_widechar_terminal_cache +} +function _axzsh_is_widechar_terminal { [[ -t 1 ]] || return 1 [[ -z "$AXZSH_PLUGIN_CHECK" ]] || return 1 axzsh_is_utf_terminal || return 1