71 lines
1009 B
Go
71 lines
1009 B
Go
package templates
|
|
|
|
import (
|
|
"fmt"
|
|
"golang.org/x/crypto/ssh/terminal"
|
|
"log"
|
|
)
|
|
|
|
|
|
|
|
type Tbl struct {
|
|
Column []string
|
|
Colct int
|
|
Row []string
|
|
View string
|
|
}
|
|
|
|
|
|
// consumes columns
|
|
func Table(t Tbl){
|
|
_ = t
|
|
w, h, err := terminal.GetSize(1)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
fmt.Println(w)
|
|
fmt.Println(h)
|
|
//populate(&t)
|
|
//return t
|
|
}
|
|
|
|
|
|
|
|
|
|
func populate(t *Tbl) *Tbl{
|
|
var v string
|
|
for i, c := range t.Column {
|
|
var col string
|
|
var coll string
|
|
col = "| %s |"
|
|
coll = "| %s |\n"
|
|
var header string
|
|
if i == len(t.Column) -1 {
|
|
fmt.Println()
|
|
header = fmt.Sprintf(coll, c)
|
|
v = v + header
|
|
} else {
|
|
header = fmt.Sprintf(col, c)
|
|
v = v + header
|
|
}
|
|
|
|
|
|
}
|
|
for i, c := range t.Row {
|
|
if i == len(t.Row[0]) {
|
|
colnl := "\n| %s |"
|
|
var header string
|
|
header = fmt.Sprintf(colnl, c)
|
|
v = v + header
|
|
} else {
|
|
cl := "| %s |"
|
|
var h string
|
|
h = fmt.Sprintf(cl, c)
|
|
v = v + h
|
|
}
|
|
|
|
}
|
|
t.View = v
|
|
return t
|
|
|
|
} |