# README
tcl

tcl stands for terminal component library and provides some "compoents" for nicely formatted terminal outputs.
Table of content
Installation
go get github.com/1H0/tcl
Documentation
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
# Functions
Footer prints a simple dashed line.
FooterC does alsmost the same as the Footer() function, but adds a copyright notice with the provided name and the current year in the center of the dashed line.
FullTitle prints out a title that is as wide as your terminal is.
Header prints out a provided text as a centered message, which can be used to display program names.
KeyValue lets you provide a 'key' and a 'value' as strings, which then will be printed as a pair to the console.
ListItemO takes a string and displays it as a ordered list item.
ListItemU takes a string and displays it as a unordered list item.
ListO creates a ordered list from a provided array of strings.
ListU creates a unordered list from a provided array of strings.
Message let's you print a title along with a message to the console.
newLines does print any number of newlines provided as a parameter.
Quote let's you print a simple quote to the console.
Ruler lets you print a horizontal ruler to the console consisting of the provided caracter(s).
SubTitle prints a subtitle that is bold and underlined.
No description provided by the author
Text simply prints the provided text to the console, while respecting the default indent set.
Title prints a title with backgorund and text in uppercase.
TitleC is like Title() but is centered in the console.