Skip to content

Commit 8e81038

Browse files
committed
feat: Separate .env setup from loading and add language selection
1 parent c14d492 commit 8e81038

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

scripts/common.bash

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,37 @@
22

33
source scripts/languages.bash
44

5+
# Set up .env file if it doesn't exist
6+
function setup_env_file() {
7+
echo ".env file not found. Let's create one!"
8+
9+
# Prompt user for NICKNAME
10+
read -r -p "Enter your nickname (default: Unknown): " nickname
11+
nickname=${nickname:-Unknown}
12+
13+
# Prompt user for LANGUAGE
14+
echo "Select your preferred language:"
15+
languages=("cpp" "java" "python" "python3" "c" "csharp" "javascript" "typescript" "php" "swift" "kotlin" "dart" "golang" "ruby" "scala" "rust" "racket" "erlang" "elixir")
16+
for i in "${!languages[@]}"; do
17+
echo "$((i + 1))) ${languages[$i]}"
18+
done
19+
read -r -p "Enter the number (default: 4): " language_index
20+
language_index=${language_index:-4}
21+
language=${languages[$((language_index - 1))]}
22+
23+
# Create .env file with user input or default values
24+
echo "NICKNAME=$nickname" >.env
25+
echo "LANGUAGE=$language" >>.env
26+
27+
echo ".env file created with the following values:"
28+
echo "NICKNAME: $nickname"
29+
echo "LANGUAGE: $language"
30+
}
31+
532
# Load environment variables from .env file
633
function load_env_vars() {
734
if [ ! -f .env ]; then
8-
echo "Error: .env file not found."
9-
exit 1
35+
setup_env_file
1036
fi
1137

1238
# shellcheck disable=SC2046

0 commit comments

Comments
 (0)