diff --git a/themes/binaryanomaly/binaryanomaly.theme.bash b/themes/binaryanomaly/binaryanomaly.theme.bash index 61573d54..f6740f35 100644 --- a/themes/binaryanomaly/binaryanomaly.theme.bash +++ b/themes/binaryanomaly/binaryanomaly.theme.bash @@ -1,80 +1,78 @@ -#!/usr/bin/env bash - +# shellcheck shell=bash # Detect whether a reboot is required function show_reboot_required() { - if [ ! -z "$_bf_prompt_reboot_info" ]; then - if [ -f /var/run/reboot-required ]; then - printf "Reboot required!" - fi - fi + if [ -n "$_bf_prompt_reboot_info" ]; then + if [ -f /var/run/reboot-required ]; then + printf "Reboot required!" + fi + fi } # Set different host color for local and remote sessions function set_host_color() { - # Detect if connection is through SSH - if [[ ! -z $SSH_CLIENT ]]; then - printf "${lime_yellow}" - else - printf "${light_orange}" - fi + # Detect if connection is through SSH + if [[ -n $SSH_CLIENT ]]; then + printf '%s' "${lime_yellow}" + else + printf '%s' "${light_orange}" + fi } # Set different username color for users and root function set_user_color() { - case $(id -u) in - 0) - printf "${red}" - ;; - *) - printf "${cyan}" - ;; - esac + case $(id -u) in + 0) + printf '%s' "${red}" + ;; + *) + printf '%s' "${cyan}" + ;; + esac } scm_prompt() { - CHAR=$(scm_char) - if [ $CHAR = $SCM_NONE_CHAR ] - then - return - else - echo "[$(scm_char)$(scm_prompt_info)]" - fi + CHAR=$(scm_char) + if [ "$CHAR" = "$SCM_NONE_CHAR" ]; then + return + else + echo "[$(scm_char)$(scm_prompt_info)]" + fi } # Define custom colors we need # non-printable bytes in PS1 need to be contained within \[ \]. # Otherwise, bash will count them in the length of the prompt function set_custom_colors() { - dark_grey="\[$(tput setaf 8)\]" - light_grey="\[$(tput setaf 248)\]" + dark_grey="\[$(tput setaf 8)\]" + light_grey="\[$(tput setaf 248)\]" - light_orange="\[$(tput setaf 172)\]" - bright_yellow="\[$(tput setaf 220)\]" - lime_yellow="\[$(tput setaf 190)\]" + light_orange="\[$(tput setaf 172)\]" + bright_yellow="\[$(tput setaf 220)\]" + lime_yellow="\[$(tput setaf 190)\]" - powder_blue="\[$(tput setaf 153)\]" + powder_blue="\[$(tput setaf 153)\]" } __ps_time() { - echo "$(clock_prompt)${normal}\n" + printf '%s' "$(clock_prompt)${normal}\n" } function prompt_command() { - ps_reboot="${bright_yellow}$(show_reboot_required)${normal}\n" + ps_reboot="${bright_yellow}$(show_reboot_required)${normal}\n" - ps_username="$(set_user_color)\u${normal}" - ps_uh_separator="${dark_grey}@${normal}" - ps_hostname="$(set_host_color)\h${normal}" + ps_username="$(set_user_color)\u${normal}" + ps_uh_separator="${dark_grey}@${normal}" + ps_hostname="$(set_host_color)\h${normal}" - ps_path="${yellow}\w${normal}" - ps_scm_prompt="${light_grey}$(scm_prompt)" + ps_path="${yellow}\w${normal}" + ps_scm_prompt="${light_grey}$(scm_prompt)" - ps_user_mark="${normal} ${normal}" - ps_user_input="${normal}" + ps_user_mark="${normal} ${normal}" + ps_user_input="${normal}" - # Set prompt - PS1="$ps_reboot$(__ps_time)$ps_username$ps_uh_separator$ps_hostname $ps_path $ps_scm_prompt$ps_user_mark$ps_user_input" + # Set prompt + PS1="$ps_reboot$(__ps_time)$ps_username$ps_uh_separator$ps_hostname $ps_path $ps_scm_prompt$ps_user_mark$ps_user_input" } # Initialize custom colors