From ff4d5fd7bcc8b3151f8683509598ebbbc260c8b4 Mon Sep 17 00:00:00 2001 From: "Lockszmith (VAST@MacBook)" Date: Tue, 5 Aug 2025 09:46:26 -0400 Subject: [PATCH] Improve LANG and TERM selection when missing --- .../009_stop_on_non_interactive_sessions.env | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/chezmoi.roots/_home/private_dot_config/sz.env/009_stop_on_non_interactive_sessions.env b/chezmoi.roots/_home/private_dot_config/sz.env/009_stop_on_non_interactive_sessions.env index 9f96b5e..a7f66df 100644 --- a/chezmoi.roots/_home/private_dot_config/sz.env/009_stop_on_non_interactive_sessions.env +++ b/chezmoi.roots/_home/private_dot_config/sz.env/009_stop_on_non_interactive_sessions.env @@ -9,7 +9,20 @@ else [ -z "$UMASK" ] || umask "$UMASK" export TERM="${TERM:-xterm-256color}" - export LANG="${LANG:-en_US.UTF-8}" + if [ -z "$TERM" ]; then + find /usr/share/terminfo -type f -print0 | xargs -0 basename \ + | egrep '^(xterm|vt100|dumb)' | sed -Ee ' + s/^(.*)$/9 \1/g; + s/^9 (xterm-256color)/1 \1/; + s/^9 (xterm)$/2 \1/; + s/^9 (vt100-putty)$/3 \1/; + s/^9 (vt100)$/4 \1/; + s/^9 (dumb)/8 \1/; + ' | sort | head -n1 + fi + if [ -z "$LANG" ] && is_cmd locale; then + export LANG="$(locale -a | egrep -i '^(en_US|C|POSIX)(\.utf-8)?$' | head -n1)" + fi fi # vim: set ft=sh expandtab tabstop=4 shiftwidth=4: