summaryrefslogtreecommitdiff
path: root/src/web/lang/_bin/transpile.sh
blob: e6e826c6bf735cb6b05f7b784bf8ca78385edf72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env bash

lang_part() {
	echo "$1" | awk "{split(\$0,a,\" = \"); print a[$2]}"
}
export -f lang_part

handle_line() {
	line="$1"
	left=$(lang_part "$line" 1)
	right=$(lang_part "$line" 2)
	echo "$left" | grep -Ev '_content|_line' > /dev/null
	code=$?
	if [ $code -eq 0 ]; then
		right=$(echo "$right" | uwuify)
	fi;
	right=${right%;};
	echo "$left = $right;"
}
export -f handle_line

transpile() {
	file="$1"
	out="$2"
	printf "" > "$out"
	printf "<?php /* Copyright (c) 2024 Freya Murphy */\n\n" > "$out";
	grep "\$lang" < "$file" | xargs -d'\n' -I{} bash -c 'handle_line "$@"' _ {} >> "$out"
}

transpile "$1" "$2"