package ast
import (
"fmt"
"strings"
gast "github.com/yuin/goldmark/ast"
)
type Alignment int
const (
AlignLeft Alignment = iota + 1
AlignRight
AlignCenter
AlignNone
)
func (a Alignment ) String () string {
switch a {
case AlignLeft :
return "left"
case AlignRight :
return "right"
case AlignCenter :
return "center"
case AlignNone :
return "none"
}
return ""
}
type Table struct {
gast .BaseBlock
Alignments []Alignment
}
func (n *Table ) Dump (source []byte , level int ) {
gast .DumpHelper (n , source , level , nil , func (level int ) {
indent := strings .Repeat (" " , level )
fmt .Printf ("%sAlignments {\n" , indent )
for i , alignment := range n .Alignments {
indent2 := strings .Repeat (" " , level +1 )
fmt .Printf ("%s%s" , indent2 , alignment .String ())
if i != len (n .Alignments )-1 {
fmt .Println ("" )
}
}
fmt .Printf ("\n%s}\n" , indent )
})
}
var KindTable = gast .NewNodeKind ("Table" )
func (n *Table ) Kind () gast .NodeKind {
return KindTable
}
func NewTable () *Table {
return &Table {
Alignments : []Alignment {},
}
}
type TableRow struct {
gast .BaseBlock
Alignments []Alignment
}
func (n *TableRow ) Dump (source []byte , level int ) {
gast .DumpHelper (n , source , level , nil , nil )
}
var KindTableRow = gast .NewNodeKind ("TableRow" )
func (n *TableRow ) Kind () gast .NodeKind {
return KindTableRow
}
func NewTableRow (alignments []Alignment ) *TableRow {
return &TableRow {Alignments : alignments }
}
type TableHeader struct {
gast .BaseBlock
Alignments []Alignment
}
var KindTableHeader = gast .NewNodeKind ("TableHeader" )
func (n *TableHeader ) Kind () gast .NodeKind {
return KindTableHeader
}
func (n *TableHeader ) Dump (source []byte , level int ) {
gast .DumpHelper (n , source , level , nil , nil )
}
func NewTableHeader (row *TableRow ) *TableHeader {
n := &TableHeader {}
for c := row .FirstChild (); c != nil ; {
next := c .NextSibling ()
n .AppendChild (n , c )
c = next
}
return n
}
type TableCell struct {
gast .BaseBlock
Alignment Alignment
}
func (n *TableCell ) Dump (source []byte , level int ) {
gast .DumpHelper (n , source , level , nil , nil )
}
var KindTableCell = gast .NewNodeKind ("TableCell" )
func (n *TableCell ) Kind () gast .NodeKind {
return KindTableCell
}
func NewTableCell () *TableCell {
return &TableCell {
Alignment : AlignNone ,
}
}
The pages are generated with Golds v0.8.2 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds .