File: writer_test.go

package info (click to toggle)
golang-github-jedib0t-go-pretty 6.2.4-1~bpo11%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye-backports
  • size: 1,168 kB
  • sloc: makefile: 31; sh: 14
file content (71 lines) | stat: -rw-r--r-- 1,573 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package list

import (
	"fmt"

	"github.com/jedib0t/go-pretty/v6/text"
)

func Example() {
	lw := NewWriter()
	// append a tree
	lw.AppendItem("George. R. R. Martin")
	lw.Indent()
	lw.AppendItem("A Song of Ice and Fire")
	lw.Indent()
	lw.AppendItems([]interface{}{
		"Arya Stark",
		"Bran Stark",
		"Rickon Stark",
		"Robb Stark",
		"Sansa Stark",
		"Jon Snow",
	})
	lw.UnIndent()
	lw.UnIndent()
	// append another tree
	lw.AppendItem("Stephen King")
	lw.Indent()
	lw.AppendItem("The Dark Tower")
	lw.Indent()
	lw.AppendItems([]interface{}{
		"Jake Chambers",
		"Randal Flagg",
		"Roland Deschain",
	})
	lw.UnIndent()
	lw.AppendItem("the shawshank redemption")
	lw.Indent()
	lw.AppendItems([]interface{}{
		"andy dufresne",
		"byron hadley",
		"ellis boyd redding",
		"samuel norton",
	})
	// customize rendering
	lw.SetStyle(StyleConnectedLight)
	lw.Style().CharItemTop = "├"
	lw.Style().Format = text.FormatTitle
	// render it
	fmt.Printf("Simple List:\n%s", lw.Render())

	// Output: Simple List:
	// ├ George. R. R. Martin
	// │  └─ A Song Of Ice And Fire
	// │     ├─ Arya Stark
	// │     ├─ Bran Stark
	// │     ├─ Rickon Stark
	// │     ├─ Robb Stark
	// │     ├─ Sansa Stark
	// │     └─ Jon Snow
	// └─ Stephen King
	//    ├─ The Dark Tower
	//    │  ├─ Jake Chambers
	//    │  ├─ Randal Flagg
	//    │  └─ Roland Deschain
	//    └─ The Shawshank Redemption
	//       ├─ Andy Dufresne
	//       ├─ Byron Hadley
	//       ├─ Ellis Boyd Redding
	//       └─ Samuel Norton
}