Categorygithub.com/1H0/tcl
modulepackage
0.2.0
Repository: https://github.com/1h0/tcl.git
Documentation: pkg.go.dev

# README

tcl   Go Reference Latest Release

tcl stands for terminal component library and provides some "compoents" for nicely formatted terminal outputs.

Badges

last-commit release-date issues prs contributors size loc activity

Table of content

Installation

go get github.com/1H0/tcl

Documentation

Go Reference

Examples

Footer

tcl.Footer()
tcl.FooterC("1H0")

footers

Headers

tcl.Header("your app @ v 0.1.0")

headers

Key-Value Pairs

tcl.KeyValue("Lorem", "Ipsum", 0)
tcl.KeyValue("Dolor", "Sit", 0)
tcl.ListItemU("Lorem", 0)
tcl.KeyValue("Amet", "Consectetur", 1)

key-value

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)

ul-items

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)

ol-items

Unordered List by Array

tcl.ListU([]string{"Lorem", "Ipsum", "Dolor"}, 0)
tcl.ListU([]string{"Sit", "Amet"}, 1)
tcl.ListU([]string{"Consectetur"}, 2)

ul-list

Ordered List by Array

tcl.ListO([]string{"Lorem", "Ipsum", "Dolor"}, 0)
tcl.ListO([]string{"Sit", "Amet"}, 1)
tcl.ListO([]string{"Consectetur"}, 2)

ol-list

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", "")

messages

Quotes

tcl.Quote("Lorem ipsum dolor sit amet.")

quotes

Rulers

tcl.Ruler("/")
tcl.Ruler("- ")
tcl.Ruler("=")
tcl.Ruler(" - ")
tcl.Ruler(" = ")
tcl.Ruler("")

rulers

Text

tcl.Text("Lorem Ipsum Dolor Sit Amet.")

texts

Titles

tcl.Title("The normal title")
tcl.TitleC("The centered title")
tcl.FullTitle("A Title that spans the whole width")
tcl.SubTitle("The subtitle")

titles

Tables

tcl.Table([]string{"Col 1", "Col 2", "Col 3"}, [][]string{
  {"Lorem", "Ipsum", "Dolor"},
  {"Lorem", "Ipsum", "Dolor"},
  {"Lorem", "Ipsum", "Dolor"},
})

Tables

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.