feat(qmkasciigen): use flag instead of os.ENV
parent
f55c03e80b
commit
cc2776a3dc
7
Makefile
7
Makefile
|
@ -26,6 +26,10 @@ go:
|
||||||
gofimports -w --company github.com/make-go-great,github.com/haunt98 .
|
gofimports -w --company github.com/make-go-great,github.com/haunt98 .
|
||||||
gofumpt -w -extra .
|
gofumpt -w -extra .
|
||||||
|
|
||||||
|
draw:
|
||||||
|
curl https://raw.githubusercontent.com/qmk/qmk_firmware/master/keyboards/dztech/dz60rgb_wkl/info.json --output dztech_dz60rgb_wkl/info.json
|
||||||
|
go run ./cmd/qmkasciigen/*.go -debug -qmk-info dztech_dz60rgb_wkl/info.json -qmk-keymap=dztech_dz60rgb_wkl/keymaps_json/haunt98/keymap.json -out dztech_dz60rgb_wkl/asciiart/haunt98.txt
|
||||||
|
|
||||||
dztech_dz60rgb_wkl:
|
dztech_dz60rgb_wkl:
|
||||||
# Copy
|
# Copy
|
||||||
rm -rf ~/qmk_firmware/keyboards/dztech/dz60rgb_wkl/keymaps/haunt98
|
rm -rf ~/qmk_firmware/keyboards/dztech/dz60rgb_wkl/keymaps/haunt98
|
||||||
|
@ -38,6 +42,3 @@ dztech_dz60rgb_wkl:
|
||||||
# JSON
|
# JSON
|
||||||
rm -rf dztech_dz60rgb_wkl/keymaps_json/haunt98/keymap.json
|
rm -rf dztech_dz60rgb_wkl/keymaps_json/haunt98/keymap.json
|
||||||
qmk c2json -kb dztech/dz60rgb_wkl/v2_1 -km haunt98 -o dztech_dz60rgb_wkl/keymaps_json/haunt98/keymap.json dztech_dz60rgb_wkl/keymaps/haunt98/keymap.c
|
qmk c2json -kb dztech/dz60rgb_wkl/v2_1 -km haunt98 -o dztech_dz60rgb_wkl/keymaps_json/haunt98/keymap.json dztech_dz60rgb_wkl/keymaps/haunt98/keymap.c
|
||||||
# Draw
|
|
||||||
curl https://raw.githubusercontent.com/qmk/qmk_firmware/master/keyboards/dztech/dz60rgb_wkl/info.json --output dztech_dz60rgb_wkl/info.json
|
|
||||||
QMK_INFO=dztech_dz60rgb_wkl/info.json QMK_KEYMAP=dztech_dz60rgb_wkl/keymaps_json/haunt98/keymap.json OUT=dztech_dz60rgb_wkl/asciiart/haunt98.txt POST_PROCESS_TABLE=true go run ./cmd/qmkasciigen/*.go
|
|
||||||
|
|
|
@ -2,67 +2,74 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"flag"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
flagDebug bool
|
||||||
|
flagQMKInfo string
|
||||||
|
flagQMKKeymap string
|
||||||
|
flagOutput string
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
flag.BoolVar(&flagDebug, "debug", false, "Debug mode, print eveyrthing")
|
||||||
|
flag.StringVar(&flagQMKInfo, "qmk-info", "", "QMK info json file")
|
||||||
|
flag.StringVar(&flagQMKKeymap, "qmk-keymap", "", "QMK keymap json file")
|
||||||
|
flag.StringVar(&flagOutput, "out", "", "Output file")
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
debug := strings.EqualFold(os.Getenv("DEBUG"), "true")
|
flag.Parse()
|
||||||
|
|
||||||
filenameInfo := os.Getenv("QMK_INFO")
|
if flagQMKInfo == "" {
|
||||||
if filenameInfo == "" {
|
log.Fatalln("Flag --qmk-info is empty")
|
||||||
log.Fatalln("ENV QMK_INFO empty")
|
|
||||||
}
|
|
||||||
if debug {
|
|
||||||
log.Printf("filenameInfo: [%s]\n", filenameInfo)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
filenameKeymap := os.Getenv("QMK_KEYMAP")
|
if flagQMKKeymap == "" {
|
||||||
if filenameKeymap == "" {
|
log.Fatalln("Flag --qmk-keymap is empty")
|
||||||
log.Fatalln("ENV QMK_KEYMAP empty")
|
|
||||||
}
|
|
||||||
if debug {
|
|
||||||
log.Printf("filenameKeymap: [%s]\n", filenameKeymap)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
filenameOut := os.Getenv("OUT")
|
if flagDebug {
|
||||||
if debug {
|
log.Printf("flagQMKInfo: [%s]\n", flagQMKInfo)
|
||||||
log.Printf("filenameOut: [%s]\n", filenameOut)
|
log.Printf("flagQMKKeymap: [%s]\n", flagQMKKeymap)
|
||||||
|
log.Printf("flagOutput: [%s]\n", flagOutput)
|
||||||
}
|
}
|
||||||
|
|
||||||
bytesInfo, err := os.ReadFile(filenameInfo)
|
bytesInfo, err := os.ReadFile(flagQMKInfo)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalln("Failed to read file", filenameInfo, err)
|
log.Fatalln("Failed to read file", flagQMKInfo, err)
|
||||||
}
|
|
||||||
|
|
||||||
bytesKeymap, err := os.ReadFile(filenameKeymap)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalln("Failed to read file", filenameKeymap, err)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
qmkInfo := QMKInfo{}
|
qmkInfo := QMKInfo{}
|
||||||
if err := json.Unmarshal(bytesInfo, &qmkInfo); err != nil {
|
if err := json.Unmarshal(bytesInfo, &qmkInfo); err != nil {
|
||||||
log.Fatalln("Failed to json unmarshal", filenameInfo, err)
|
log.Fatalln("Failed to json unmarshal", flagQMKInfo, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
bytesKeymap, err := os.ReadFile(flagQMKKeymap)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalln("Failed to read file", flagQMKKeymap, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
qmkKeymap := QMKKeymap{}
|
qmkKeymap := QMKKeymap{}
|
||||||
if err := json.Unmarshal(bytesKeymap, &qmkKeymap); err != nil {
|
if err := json.Unmarshal(bytesKeymap, &qmkKeymap); err != nil {
|
||||||
log.Fatalln("Failed to json unmarshal", filenameKeymap, err)
|
log.Fatalln("Failed to json unmarshal", flagQMKKeymap, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
result := Draw(
|
result := Draw(
|
||||||
qmkInfo.Layouts,
|
qmkInfo.Layouts,
|
||||||
qmkKeymap,
|
qmkKeymap,
|
||||||
)
|
)
|
||||||
if debug {
|
if flagDebug {
|
||||||
log.Printf("Result:\n%s\n", result)
|
log.Printf("Result:\n%s\n", result)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Optional
|
// Optional
|
||||||
if filenameOut != "" {
|
if flagOutput != "" {
|
||||||
if err := os.WriteFile(filenameOut, []byte(result), 0o600); err != nil {
|
if err := os.WriteFile(flagOutput, []byte(result), 0o600); err != nil {
|
||||||
log.Fatalln("Failed to write file", filenameOut, err)
|
log.Fatalln("Failed to write file", flagOutput, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue