Fix the circle import

This commit is contained in:
Tnze
2021-02-18 16:57:11 +08:00
parent 8cc4747f88
commit 624fc138ba
4 changed files with 24 additions and 17 deletions

View File

@ -11,11 +11,11 @@ package chat
import ( import (
"encoding/json" "encoding/json"
"fmt" "fmt"
en_us "github.com/Tnze/go-mc/data/lang/en-us"
"io" "io"
"regexp" "regexp"
"strings" "strings"
_ "github.com/Tnze/go-mc/data/lang/en-us"
pk "github.com/Tnze/go-mc/net/packet" pk "github.com/Tnze/go-mc/net/packet"
) )
@ -141,8 +141,8 @@ var colors = map[string]string{
} }
// translateMap is the translation table. // translateMap is the translation table.
// By default it's set by data/lang/en-us. // By default it's en-us.
var translateMap map[string]string var translateMap = en_us.Map
// SetLanguage set the translate map to this map. // SetLanguage set the translate map to this map.
func SetLanguage(trans map[string]string) { func SetLanguage(trans map[string]string) {

View File

@ -6,7 +6,6 @@ import (
"github.com/Tnze/go-mc/chat" "github.com/Tnze/go-mc/chat"
"testing" "testing"
_ "github.com/Tnze/go-mc/data/lang/en-us"
pk "github.com/Tnze/go-mc/net/packet" pk "github.com/Tnze/go-mc/net/packet"
) )

View File

@ -13,6 +13,7 @@ import (
"regexp" "regexp"
"strings" "strings"
"sync" "sync"
"text/template"
) )
//go:generate go run $GOFILE //go:generate go run $GOFILE
@ -107,16 +108,27 @@ func readLang(name string, r io.Reader) {
} }
defer f.Close() defer f.Close()
// write code genData := struct {
_, err = fmt.Fprintf(f, PkgName string
"// Code generated by downloader.go; DO NOT EDIT. \n"+ Name string
"package %s\n\n"+ LangMap map[string]string
"import \"github.com/Tnze/go-mc/chat\"\n\n"+ }{
"func init() { chat.SetLanguage(Map) }\n\n"+ PkgName: pName,
"var Map = %#v\n", Name: name,
name, LangMap) LangMap: LangMap,
}
if err != nil { tmpl := template.Must(template.New("code_template").Parse(
`// Code generated by downloader.go; DO NOT EDIT.
package {{.Name}}
{{if ne .PkgName "en_us"}}
import "github.com/Tnze/go-mc/chat"
func init() { chat.SetLanguage(Map) }
{{end}}
var Map = {{.LangMap | printf "%#v"}}
`))
if err := tmpl.Execute(f, genData); err != nil {
log.Fatal(err) log.Fatal(err)
} }
} }

File diff suppressed because one or more lines are too long