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

View File

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