feat(qmkasciigen): add flag to print layout, layer

main
sudo pacman -Syu 2023-07-30 14:56:46 +07:00
parent 2a31ee563b
commit f0193acca6
2 changed files with 25 additions and 2 deletions

View File

@ -64,9 +64,15 @@ var mapFromTo = []map[string]string{
}, },
} }
type DrawConfig struct {
PrintLayout bool
PrintLayer bool
}
func Draw( func Draw(
layouts map[string]map[string][]QMKKeyDictionary, layouts map[string]map[string][]QMKKeyDictionary,
keymap QMKKeymap, keymap QMKKeymap,
cfg DrawConfig,
) string { ) string {
layoutsStr := make([]string, 0, len(layouts)) layoutsStr := make([]string, 0, len(layouts))
@ -81,7 +87,10 @@ func Draw(
continue continue
} }
layoutStr := fmt.Sprintf("Layout %s\n", layout) layoutStr := ""
if cfg.PrintLayout {
layoutStr += fmt.Sprintf("Layout %s\n", layout)
}
// Preprocess keys // Preprocess keys
// Y aka row -> X aka col // Y aka row -> X aka col
@ -179,7 +188,11 @@ func Draw(
} }
// Print // Print
layerStr := fmt.Sprintf("Layer %d\n", iLayer) layerStr := ""
if cfg.PrintLayer {
layerStr += fmt.Sprintf("Layer %d\n", iLayer)
}
for i := range table { for i := range table {
for j := range table[i] { for j := range table[i] {
layerStr += table[i][j] layerStr += table[i][j]

View File

@ -29,6 +29,8 @@ var (
flagQMKInfoFile string flagQMKInfoFile string
flagQMKKeymapFile string flagQMKKeymapFile string
flagOutput string flagOutput string
flagPrintLayout bool
flagPrintLayer bool
) )
func init() { func init() {
@ -38,6 +40,8 @@ func init() {
flag.StringVar(&flagQMKInfoFile, "qmk-info-file", "", "QMK info json file") flag.StringVar(&flagQMKInfoFile, "qmk-info-file", "", "QMK info json file")
flag.StringVar(&flagQMKKeymapFile, "qmk-keymap-file", "", "QMK keymap json file") flag.StringVar(&flagQMKKeymapFile, "qmk-keymap-file", "", "QMK keymap json file")
flag.StringVar(&flagOutput, "out", "", "Output file") flag.StringVar(&flagOutput, "out", "", "Output file")
flag.BoolVar(&flagPrintLayout, "print-layout", false, "Print layout name")
flag.BoolVar(&flagPrintLayer, "print-layer", false, "Print layer name")
} }
func main() { func main() {
@ -48,6 +52,8 @@ func main() {
log.Printf("flagQMKInfoFile: [%s]\n", flagQMKInfoFile) log.Printf("flagQMKInfoFile: [%s]\n", flagQMKInfoFile)
log.Printf("flagQMKKeymapFile: [%s]\n", flagQMKKeymapFile) log.Printf("flagQMKKeymapFile: [%s]\n", flagQMKKeymapFile)
log.Printf("flagOutput: [%s]\n", flagOutput) log.Printf("flagOutput: [%s]\n", flagOutput)
log.Printf("flagPrintLayout: [%v]\n", flagPrintLayout)
log.Printf("flagPrintLayer: [%v]\n", flagPrintLayer)
} }
qmkInfo, err := wrapGetQMKInfo(flagQMKKeyboard, flagQMKInfoFile, flagDebug) qmkInfo, err := wrapGetQMKInfo(flagQMKKeyboard, flagQMKInfoFile, flagDebug)
@ -63,6 +69,10 @@ func main() {
result := Draw( result := Draw(
qmkInfo.Layouts, qmkInfo.Layouts,
qmkKeymap, qmkKeymap,
DrawConfig{
PrintLayout: flagPrintLayout,
PrintLayer: flagPrintLayer,
},
) )
if flagDebug { if flagDebug {
log.Printf("Result:\n%s\n", result) log.Printf("Result:\n%s\n", result)