}
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
+ echo -ne "🍀\033[6n"
+ read -s -d\[ garbage
+ read -s -d R pos
+ echo -ne "\033[1K\r"
+ [[ "${pos#*;}" -eq 2 ]] || return 1
+ return 0
+}
+
# Test for "modern" terminal
function axzsh_is_modern_terminal {
[[ "$TERM" = screen* ]] && return 0
preexec_functions+=(axzsh_terminal_title_preexec)
+alias axttyinfo="nocorrect zsh $AXZSH/bin/axttyinfo"
+
axzsh_is_dumb_terminal && return 0
# Colors