44 lines
879 B
Bash
Executable file
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
|