Instead of using fmt.Printf to write out rendered styles, we supply our
own writer and implementation that parses the rendered ansi and degrades
colors as needed.
* chore(ci): also build examples
* fix(examples): fix tree styles example
* fix: ssh examples dependencies
* chore: use creack/pty
* chore(examples): update deps
* chore(examples): bump examples (and ci) to 1.19 so a slog dep will build
---------
Co-authored-by: Ayman Bagabas <ayman.bagabas@gmail.com>
* refactor: clean tree_test.go
* refactor: remove subtests
* refactor: rename `Data` to `Items` for `Lists` and `Children` for `Trees`
* chore: support only NodeData
* fix: enumerations -> enumerators for consistency
* fix: item -> children
* fix: use l for List, rather than n
* fix: move list Enumerator definition to enumerator.go
* fix: list enumerator comments
* docs: add package documentation
* fix: examples
* feat: split enumerator and indenters
* docs: add comments
* refactor: package comment
* docs: use more tree terminology
* docs: refactor indentor comments
* fix: lint
* feat: implement list renderer
* feat: data model for list
* feat: add Offset, Height, Indent
* feat: tree renderer
* fix: list example
* test: last tree node is a subtree
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: tree
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: lint
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* docs: example
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* test: inc cov
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: multiline items
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat: one approach to sublists
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: tree improvements
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: prevent having to pass renderer to all trees
* test: force linux line endings
* fix: windows
* fix: lint issues
* fix: ignore lint issue failing forever
* fix: renames
* fix: renderer
* ci: fix coveralls hopefully
* wip
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: style
* docs: update
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: renderer
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* test: cover with tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat: more list enumerators
* fix: drop renderer api
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat: improve api
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: prealloc
* fix: clean up
* fix: list setup
* fix: improve sublist tests
* fix: improve sublists
* refactor: simplify
* docs: more examples, readme updates
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* docs: readme
* fix: set item style
* fix(tree): do not use golden files
* test: do not use golden files
* refactor: remove unused code
* feat: hide nodes
* feat: filter
* fix: allow fmt.Stringer
* test: table within a tree
* docs: update
* fix: rename atter to data
* test: test public api only
* docs: sublist with table example
* docs: update example
* fix: lint issues
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* docs: update examples
* docs: update
* feat: offset
* feat: offsetstart && offsetend
* fix: remove last from enumerator
* refactor: make tree more explicit
* `New()` now take no args
* added a new `Root(string)` method
* added a new `Items(...any)` method
* refactor: improve list
* docs: fix examples
* test: ensure embed lists in trees
* docs: sublist example with list as tree node
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* refactor: first pass at examples cleanup
* refactor: first pass at examples cleanup
* fix: support multi-line prefixes
* test: more glow-style lists within trees
* docs: simplify examples
* fix: improve handling of different types
* chore: go mod tidy
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: code review suggestions
Co-authored-by: Ayman Bagabas <ayman.bagabas@gmail.com>
Co-authored-by: bashbunni <15822994+bashbunni@users.noreply.github.com>
* fix: apply code review suggestion
* feat(tree): rounded enumerator (#280)
* chore(examples): go mod tidy
* feat(tree): add rounded corner enumerator
* test: rounded enumerator test
* docs: readme updates
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* docs: readme updates
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* chore: fmt
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* docs: godoc
* docs: godoc
* fix: bash's issue
* fix: bad example
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* docs: improve godoc for trees and lists (#296)
* docs(godoc): add overview
* docs(godoc): include examples in godoc
* docs(godoc): fix roman numerals example
* docs(godoc): fix tree examples
* docs(godoc): attempt to fix list Enumerator examples
* docs: added some examples to godoc
* fix(list): New(items...) with sublist
* docs: update examples
* chore(tree): improve var names in rounded example
* fix: use padding instead of margin to better styles
* fix: lint
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Maas Lalani <maas@lalani.dev>
Co-authored-by: Ayman Bagabas <ayman.bagabas@gmail.com>
Co-authored-by: bashbunni <15822994+bashbunni@users.noreply.github.com>
Co-authored-by: Christian Rocha <christian@rocha.is>
When I create binaries for each OS using goreleaser, the propKeys
generates an int overflow since the iota duplicates for each propKey
This commit changes the int type to works well with binaries generated
for arm and i386 archs.