diff options
Diffstat (limited to '')
-rwxr-xr-x | src/web/lang/_bin/transpile.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/web/lang/_bin/transpile.sh b/src/web/lang/_bin/transpile.sh new file mode 100755 index 0000000..18bb4c4 --- /dev/null +++ b/src/web/lang/_bin/transpile.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +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 + if [ "$?" -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"; + cat "$file" | grep '$lang' | xargs -d'\n' -I {} bash -c 'handle_line "$@"' _ {} >> "$out" +} + +transpile "$1" "$2" |