1
0
Fork 0
duckycode/generate.sh
2019-02-12 20:55:02 +01:00

44 lines
879 B
Bash
Executable file

#!/bin/sh
parse_keys() {
local file="${1%.*}"
local file="${file#*/}"
local file="pkg/keys/${file}.go"
cat <<EOF>${file}
package keys
var K = map[string]byte{
"": 0,
EOF
grep -v -E "^$|^/" $1 | tr -d '\r' | sed 's/=//g' | awk '{print "\""$1"\": "$2","}' >>${file}
echo "}" >>${file}
gofmt -w ${file}
}
parse_lang() {
local lang="${1%.*}"
local lang="${lang#*/}"
local file="pkg/lang/${lang}.go"
cat <<EOF>${file}
package lang
import "git.giftfish.de/ston1th/duckycode/pkg/keys"
func init() {
L["${lang}"] = ${lang}
}
var ${lang} = Lang{
EOF
grep -E "^A|^I|^U" $1 | tr -d '\r' | sed 's/= \|,//g' | awk '{print "\""$1"\": Key{keys.K[\""$2"\"],keys.K[\""$3"\"]},"}' >>${file}
echo "}" >>${file}
gofmt -w ${file}
}
for f in $(ls keyboard/*.properties); do
parse_keys "${f}"
done
for f in $(ls language/*.properties); do
parse_lang "${f}"
done