Added EscapeCodeRenderer
- Added `EscapeCode`-type - Implemented EscapeCode.String() - Implemented EscapeCode.Raw() - Implemented EscapeCode.MakeSafe() - Implemented EscapeCode.IsValid() - Added `EscapeCodeRenderer` - Implemented EscapeCodeRenderer.RenderSequence() - Implemented EscapeCodeRenderer.Render() - Implemented `EscapeCodeRenderer.NormalizedText`. - Added EscapeCodeRendererFactory - Implemented EscapeCodeRendererFactory.TextRenderer() - Added escape code examples to examples/coloredList.go
This commit is contained in:
@@ -5,7 +5,7 @@ package main
|
||||
import "github.com/gizak/termui"
|
||||
import "github.com/nsf/termbox-go"
|
||||
|
||||
func commonList() *termui.List {
|
||||
func markdownList() *termui.List {
|
||||
strs := []string{
|
||||
"[0] github.com/gizak/termui",
|
||||
"[1] 笀耔 [澉 灊灅甗](RED) 郔镺 笀耔 澉 [灊灅甗](yellow) 郔镺",
|
||||
@@ -26,18 +26,40 @@ func commonList() *termui.List {
|
||||
return list
|
||||
}
|
||||
|
||||
func listHidden() *termui.List {
|
||||
list := commonList()
|
||||
func hideList(list *termui.List) *termui.List {
|
||||
list.Border.Label = "List - Hidden"
|
||||
list.Overflow = "hidden"
|
||||
|
||||
return list
|
||||
}
|
||||
|
||||
func listWrap() *termui.List {
|
||||
list := commonList()
|
||||
func wrapList(list *termui.List) *termui.List {
|
||||
list.Border.Label = "List - Wrapped"
|
||||
list.Overflow = "wrap"
|
||||
list.X = 30
|
||||
|
||||
return list
|
||||
}
|
||||
|
||||
func escapeList() *termui.List {
|
||||
strs := []string{
|
||||
"[0] github.com/gizak/termui",
|
||||
"[1] 笀耔 \033[31m澉 灊灅甗 \033[0m郔镺 笀耔 澉 \033[33m灊灅甗 郔镺",
|
||||
"[2] こんにちは世界",
|
||||
"[3] keyboard.go",
|
||||
"[4] \033[31moutput\033[0m.go",
|
||||
"[5] random_out.go",
|
||||
"[6] \033[1mdashboard\033[0m.go",
|
||||
"[7] nsf/termbox-go",
|
||||
"[8] OVERFLOW!!!!!!!\033[31;1m!!!!!!!!!!!!\033[0m!!!",
|
||||
}
|
||||
|
||||
list := termui.NewList()
|
||||
list.RendererFactory = termui.EscapeCodeRendererFactory{}
|
||||
list.Items = strs
|
||||
list.Height = 15
|
||||
list.Width = 26
|
||||
list.Y = 15
|
||||
|
||||
return list
|
||||
}
|
||||
@@ -49,11 +71,20 @@ func main() {
|
||||
}
|
||||
defer termui.Close()
|
||||
|
||||
hiddenList := listHidden()
|
||||
wrappedList := listWrap()
|
||||
wrappedList.X = 30
|
||||
hiddenMarkdownList := hideList(markdownList())
|
||||
wrappedMarkdownList := wrapList(markdownList())
|
||||
|
||||
hiddenEscapeList := hideList(escapeList())
|
||||
wrappedEscapeList := wrapList(escapeList())
|
||||
|
||||
lists := []termui.Bufferer{
|
||||
hiddenEscapeList,
|
||||
hiddenMarkdownList,
|
||||
wrappedMarkdownList,
|
||||
wrappedEscapeList,
|
||||
}
|
||||
|
||||
termui.UseTheme("helloworld")
|
||||
termui.Render(hiddenList, wrappedList)
|
||||
termui.Render(lists...)
|
||||
termbox.PollEvent()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user