Ascii: Glob match ascii art
This commit is contained in:
parent
dfdc9977bd
commit
af97d1a645
1 changed files with 17 additions and 23 deletions
40
neofetch
40
neofetch
|
@ -20,7 +20,7 @@ export LANG=C
|
|||
export PATH="/usr/sbin:/sbin:${PATH}"
|
||||
|
||||
# Set no case match.
|
||||
shopt -s nocasematch
|
||||
shopt -s nocasematch nocaseglob
|
||||
|
||||
# Reset colors and bold.
|
||||
reset="\033[0m"
|
||||
|
@ -1922,34 +1922,28 @@ get_ascii() {
|
|||
[[ "$ascii" != "distro" && ! -f "$ascii" ]] && \
|
||||
err "Ascii: Ascii file not found, using distro ascii."
|
||||
|
||||
# Lowercase the distro name so we can match it to a file.
|
||||
if (("$bash_version" <= 3)); then
|
||||
ascii="$(tr '[:upper:]' '[:lower:]' <<< "$ascii_distro")"
|
||||
else
|
||||
ascii="${ascii_distro,,}"
|
||||
fi
|
||||
# Find ascii art dir.
|
||||
if [[ -d "/usr/share/neofetch/ascii/distro" ]]; then
|
||||
ascii_dir="/usr/share/neofetch/ascii/distro"
|
||||
|
||||
if [[ -f "/usr/share/neofetch/ascii/distro/${ascii/ *}" ]]; then
|
||||
ascii="/usr/share/neofetch/ascii/distro/${ascii/ *}"
|
||||
elif [[ -d "/usr/local/share/neofetch/ascii/distro" ]]; then
|
||||
ascii_dir="/usr/local/share/neofetch/ascii/distro"
|
||||
|
||||
elif [[ -f "/usr/local/share/neofetch/ascii/distro/${ascii/ *}" ]]; then
|
||||
ascii="/usr/local/share/neofetch/ascii/distro/${ascii/ *}"
|
||||
|
||||
elif [[ -f "/data/data/com.termux/files/usr/share/neofetch/ascii/distro/${ascii/ *}" ]]; then
|
||||
ascii="/data/data/com.termux/files/usr/share/neofetch/ascii/distro/${ascii/ *}"
|
||||
elif [[ -d "/data/data/com.termux/files/usr/share/neofetch/ascii/distro" ]]; then
|
||||
ascii_dir="/data/data/com.termux/files/usr/share/neofetch/ascii/distro"
|
||||
|
||||
else
|
||||
get_script_dir 2>/dev/null
|
||||
|
||||
# If the ascii file doesn't exist fallback to text mode.
|
||||
if [[ -f "$script_dir/ascii/distro/${ascii/ *}" ]]; then
|
||||
ascii="$script_dir/ascii/distro/${ascii/ *}"
|
||||
|
||||
else
|
||||
to_off "Ascii: Ascii file not found, falling back to text mode."
|
||||
return
|
||||
fi
|
||||
ascii_dir="${script_dir}/ascii/distro"
|
||||
fi
|
||||
|
||||
# Remove 'linux' from 'linux mint'.
|
||||
[[ "$ascii_distro" =~ ^linux ]] && ascii_distro="${ascii_distro/linux }"
|
||||
|
||||
# ascii_dir/first_letter (example: 'ascii_dir/m'*)
|
||||
for art in "${ascii_dir}/${ascii_distro:0:1}"*; do
|
||||
[[ "$ascii_distro" =~ ${art/*\/} ]] && { ascii="$art"; break; }
|
||||
done
|
||||
fi
|
||||
|
||||
# Set locale to get correct padding.
|
||||
|
|
Loading…
Reference in a new issue