#!/bin/sh parse_keys() { local file="${1%.*}" local file="${file#*/}" local file="pkg/keys/${file}.go" cat <${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 <${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