A simple and small terminal component library
.gitignore | ||
footer.go | ||
go.mod | ||
go.sum | ||
header.go | ||
helpers.go | ||
keyValue.go | ||
LICENSE | ||
list.go | ||
message.go | ||
quote.go | ||
README.md | ||
ruler.go | ||
table.go | ||
text.go | ||
titles.go |
tcl
tcl stands for terminal component library and provides some "compoents" for nicely formatted terminal outputs.
Table of content
Installation
go get go.lks.li/tcl
Documentation
Run godoc -http=:6060
and then open localhost:6060/pkg/git.lks.li/1H0/tcl/
Examples
Footer
tcl.Footer()
tcl.FooterC("1H0")
Headers
tcl.Header("your app @ v 0.1.0")
Key-Value Pairs
tcl.KeyValue("Lorem", "Ipsum", 0)
tcl.KeyValue("Dolor", "Sit", 0)
tcl.ListItemU("Lorem", 0)
tcl.KeyValue("Amet", "Consectetur", 1)
Lists
Single Unordered List Items
tcl.ListItemU("Lorem", 0)
tcl.ListItemU("Ipsum", 0)
tcl.ListItemU("Dolor", 0)
tcl.ListItemU("Sit", 1)
tcl.ListItemU("Amet", 1)
tcl.ListItemU("Consectetur", 2)
Single Ordered List Items
tcl.ListItemO("Lorem", 0, 1)
tcl.ListItemO("Ipsum", 0, 2)
tcl.ListItemO("Dolor", 0, 3)
tcl.ListItemO("Sit", 1, 1)
tcl.ListItemO("Amet", 1, 2)
tcl.ListItemO("Consectetur", 2, 1)
Unordered List by Array
tcl.ListU([]string{"Lorem", "Ipsum", "Dolor"}, 0)
tcl.ListU([]string{"Sit", "Amet"}, 1)
tcl.ListU([]string{"Consectetur"}, 2)
Ordered List by Array
tcl.ListO([]string{"Lorem", "Ipsum", "Dolor"}, 0)
tcl.ListO([]string{"Sit", "Amet"}, 1)
tcl.ListO([]string{"Consectetur"}, 2)
Messages
tcl.Message("Lorem", "This is a 'black' message", "black")
tcl.Message("Lorem", "This is a 'blue' message", "blue")
tcl.Message("Lorem", "This is a 'cyan' message", "cyan")
tcl.Message("Lorem", "This is a 'green' message", "green")
tcl.Message("Lorem", "This is a 'magenta' message", "magenta")
tcl.Message("Lorem", "This is a 'red' message", "red")
tcl.Message("Lorem", "This is a 'white' message", "white")
tcl.Message("Lorem", "This is a 'yellow' message", "yellow")
tcl.Message("Lorem", "This is a 'default' message", "")
Quotes
tcl.Quote("Lorem ipsum dolor sit amet.")
Rulers
tcl.Ruler("/")
tcl.Ruler("- ")
tcl.Ruler("=")
tcl.Ruler(" - ")
tcl.Ruler(" = ")
tcl.Ruler("")
Text
tcl.Text("Lorem Ipsum Dolor Sit Amet.")
Titles
tcl.Title("The normal title")
tcl.TitleC("The centered title")
tcl.FullTitle("A Title that spans the whole width")
tcl.SubTitle("The subtitle")
Tables
tcl.Table([]string{"Col 1", "Col 2", "Col 3"}, [][]string{
{"Lorem", "Ipsum", "Dolor"},
{"Lorem", "Ipsum", "Dolor"},
{"Lorem", "Ipsum", "Dolor"},
})
ToDo
- Nested Lists
- Tests
- Ability to loop over Struct and print entrys as key-value pairs
- Tables
- Customizable Colors and other settings like indentation
Credits
- @fatih and the maintainers of the
fatih/color
for providing the main dependency of this package
License
The GNU GENERAL PUBLIC LICENSE - see LICENSE