Skip to content

Commit 5858553

Browse files
committed
chore: 🫧 improve error handling and default variable assignments in cli-tips.sh
* Simplified default assignments for `TIPS_FOLDER` and `LANGUAGE` using parameter expansion. * Enhanced error checking for language and keyword inputs to ensure proper usage.
1 parent 57e15fa commit 5858553

File tree

1 file changed

+10
-16
lines changed

1 file changed

+10
-16
lines changed

‎cli-tips.sh

+10-16
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
# Exit on any error
66
set -e
77

8+
# Determine prefix
89
if [[ ! -n "$PREFIX" ]]; then
910
if echo "$OSTYPE" | grep -qE '^darwin.*'; then
1011
prefix="/usr/local"
@@ -16,18 +17,12 @@ else
1617
fi
1718

1819
# Default tips folder
19-
if [ ! -n "$TIPS_FOLDER" ]; then
20-
TIPS_FOLDER="$prefix/share/cli-tips"
21-
fi
20+
TIPS_FOLDER="${TIPS_FOLDER:-$prefix/share/cli-tips}"
2221

2322
SYSTEM_LANGUAGE="$(echo "$LANG" | cut -d'_' -f1)"
2423

2524
# Default language is based on the user's environment
26-
if [ ! -n "$TIPS_LANGUAGE" ]; then
27-
LANGUAGE="$SYSTEM_LANGUAGE"
28-
else
29-
LANGUAGE="$TIPS_LANGUAGE"
30-
fi
25+
LANGUAGE="${TIPS_LANGUAGE:-$SYSTEM_LANGUAGE}"
3126

3227
show_help() {
3328
echo -e "\e[1mUsage:\e[0m $(basename "$0") \e[1;34m[flags]\e[0m \e[1;32m[options]\e[0m"
@@ -57,17 +52,21 @@ show_help() {
5752
while [[ "$#" -gt 0 ]]; do
5853
case $1 in
5954
-l | --language | --lang)
60-
LANGUAGE="$2"
61-
if [[ ! -n "$LANGUAGE" ]]; then
55+
if [[ -z "$2" ]]; then
6256
echo "Error: No language specified"
6357
exit 1
6458
fi
59+
LANGUAGE="$2"
6560
shift
6661
;;
6762
--language=* | --lang=*)
6863
LANGUAGE="${1#*=}"
6964
;;
7065
--about)
66+
if [[ -z "$2" ]]; then
67+
echo "Error: No keyword specified"
68+
exit 1
69+
fi
7170
KEYWORD="$2"
7271
shift
7372
;;
@@ -83,11 +82,6 @@ while [[ "$#" -gt 0 ]]; do
8382
shift
8483
done
8584

86-
if [[ ! -n "$LANGUAGE" ]]; then
87-
echo "Error: No language specified"
88-
exit 1
89-
fi
90-
9185
# Find the localized tips file
9286
if [ -f "$TIPS_FOLDER/${LANGUAGE}.txt" ]; then
9387
localized_file="$TIPS_FOLDER/${LANGUAGE}.txt"
@@ -102,7 +96,7 @@ mapfile -t tips <"$localized_file"
10296
if [ -n "$KEYWORD" ]; then
10397
filtered_tips=()
10498
for tip in "${tips[@]}"; do
105-
if [[ "$tip" == *"$KEYWORD"* ]]; then
99+
if [[ "$tip" =~ $KEYWORD ]]; then
106100
filtered_tips+=("$tip")
107101
fi
108102
done

0 commit comments

Comments
 (0)