]> arthur.barton.de Git - ax-zsh.git/commitdiff
11_terminal: Implement a cache for axzsh_is_widechar_terminal()
authorAlexander Barton <alex@barton.de>
Sat, 8 Jul 2017 20:36:34 +0000 (22:36 +0200)
committerAlexander Barton <alex@barton.de>
Sat, 8 Jul 2017 20:36:34 +0000 (22:36 +0200)
core/11_terminal/11_terminal.zshrc

index 60e0acb1f15a77efb0205e98809167f2aae0e921..6d4c9880e2d992b82960dfaeecd39433d76507ec 100644 (file)
@@ -23,7 +23,16 @@ alias isutfenv=axzsh_is_utf_terminal
 
 # Check if terminal supports "wide" characters.
 # <https://unix.stackexchange.com/questions/184345/detect-how-much-of-unicode-my-terminal-supports-even-through-screen>
+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