feat: draw layer

main
sudo pacman -Syu 2023-07-23 06:55:16 +07:00
parent fc19297f77
commit 30037dde36
2 changed files with 10 additions and 6 deletions

View File

@ -1,6 +1,7 @@
package main package main
import ( import (
"fmt"
"strings" "strings"
) )
@ -86,7 +87,7 @@ func Draw(
} }
} }
for _, layer := range keymap.Layers { for iLayer, layer := range keymap.Layers {
// Preprocess table // Preprocess table
table := make([][]string, newMaxY) table := make([][]string, newMaxY)
for i := 0; i < newMaxY; i++ { for i := 0; i < newMaxY; i++ {
@ -139,11 +140,11 @@ func Draw(
count++ count++
} }
// Postprecess table // Postprocess table
newTable := make([][]string, 0, newMaxY+1) newTable := make([][]string, 0, newMaxY+1)
// Remove empty row
for i := 0; i < len(table); i++ { for i := 0; i < len(table); i++ {
// Remove empty row
isEmptyRow := true isEmptyRow := true
for j := 0; j < len(table[i]); j++ { for j := 0; j < len(table[i]); j++ {
if table[i][j] != " " { if table[i][j] != " " {
@ -156,7 +157,7 @@ func Draw(
continue continue
} }
// Padding // Padding on most right
paddingRight := "|" paddingRight := "|"
if table[i][len(table[i])-1] == "-" { if table[i][len(table[i])-1] == "-" {
paddingRight = "+" paddingRight = "+"
@ -165,7 +166,7 @@ func Draw(
newTable = append(newTable, append(table[i], paddingRight)) newTable = append(newTable, append(table[i], paddingRight))
} }
// Padding // Padding on bottom
paddingRow := make([]string, 0, newMaxX) paddingRow := make([]string, 0, newMaxX)
for j := 0; j < newMaxX; j++ { for j := 0; j < newMaxX; j++ {
paddingBottom := "-" paddingBottom := "-"
@ -176,7 +177,7 @@ func Draw(
} }
newTable = append(newTable, append(paddingRow, "+")) newTable = append(newTable, append(paddingRow, "+"))
str := "" str := fmt.Sprintf("Layer %d\n", iLayer)
for i := range newTable { for i := range newTable {
for j := range newTable[i] { for j := range newTable[i] {
str += newTable[i][j] str += newTable[i][j]

View File

@ -1,3 +1,4 @@
Layer 0
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| GESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` | | GESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-----------+ +-----------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-----------+
@ -10,6 +11,7 @@
| | ALT | CMD | SPACE | CMD | ALT | | | | ALT | CMD | SPACE | CMD | ALT | |
+-----------+-------+-----------+-------------------------------------------------------+-----------+-------+-----------+ +-----------+-------+-----------+-------------------------------------------------------+-----------+-------+-----------+
Layer 1
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | |
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-----------+ +-----------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-----------+
@ -22,6 +24,7 @@
| | TG(2) | | | | | | | | TG(2) | | | | | |
+-----------+-------+-----------+-------------------------------------------------------+-----------+-------+-----------+ +-----------+-------+-----------+-------------------------------------------------------+-----------+-------+-----------+
Layer 2
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| BOOT | | | | | | | | | | | | | | | | BOOT | | | | | | | | | | | | | | |
+-----------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-----------+ +-----------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-----------+