teatest was originally designed in this PR, and was later moved into `github.com/charmbracelet/x`.
* docs: example test
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* feat: teatest
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: improve api
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: improve api
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* feat: goldenfiles
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* chore: minor improvements
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* feat: type text, diff
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: release terminal
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: lint
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: update cancelreader
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: make it safe
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* feat: functional options
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* feat: IsQuit and IsQuitMsg
* fix: save file
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: do not use deprecate func
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: make diff not complain about trailing whitespaces
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* feat: with term size
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* feat: RequireRegexOutput
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: update
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* chore: rename
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: improve reliability
* fix: use returned model
* fix: making it more predictable, avoid sleeps
* fix: remove WithRequiredRegexpOutput
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: allow to assert within interactions
* feat: added wait for
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: optional
* feat: improve usage
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: use udiff
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* feat: tea.Wait
wait for the underlying context to finish.
extract from #352
* fix: merge
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: wait til the end of shutdown
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: final output
* feat: use x/exp/teatest
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* chore: go mod tidy
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
`WithFilter` lets you supply an event filter that will be invoked
before Bubble Tea processes a `tea.Msg`. The event filter can return
any `tea.Msg` which will then get handled by Bubble Tea instead of
the original event. If the event filter returns nil, the event
will be ignored and Bubble Tea will not process it.
As an example, this could be used to prevent a program from
shutting down if there are unsaved changes.
Based on the fantastic work by @aschey and supersedes #521.
Resolves#472.
* feat: filepicker example
* fix: use new API
* docs(examples): update file selection comment in filepicker example
* chore: bump bubbles
---------
Co-authored-by: Christian Rocha <christian@rocha.is>
* docs(examples): Add `examples/README.md`
Adds `examples/README.md` with GIFs of examples
* docs(examples): Individual READMEs
* docs(examples): add short description to each example
* docs: creating nested models
* docs: move nested model to example
* docs: add working nested model example
* refactor: use tea.Batch in nested model example
* refactor: switch to composable view example
* refactor: tab select, add padding to boxes, only focused has border
* fix: add padding to timer to remove UI shift
* convert locale string to utf-8 on Windows
* update go.mod
* revert go fmt ./...
* fix(lint): use tabs in GoDoc example code
Co-authored-by: Christian Rocha <christian@rocha.is>
📝 Update folder name in README to `progress-download` as
that is what generates with `go build .`
🙈 Add the files genreated by `go build .` to root `.gitnore`
* doc(textarea): add border to focused textarea in split-editors example
* doc(textrea): tone down with border color in split-editors example
Co-authored-by: Christian Rocha <christian@rocha.is>
* chore: bump bubbles@master
* doc(textarea): Add example of `chat` application with textarea
* doc(textarea): Add example of `textarea` prompting the user to tell a story
* doc(textarea): Add example of `split-editors` on how to manage multiple textareas
* feat: update cancelreader
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: go mod tidy
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: go mod tidy
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* fix: use stable
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
* merge Adjective-Object/tea_log_renderer into standard renderer
* rename queuedMessages -> queuedMessageLines & break apart strings during message processing
* delete cursorDownBy
* += 1 -> ++ to make the linter happy
* add skipLines[] tracking back to standard renderer, and add rename skippedLines local to jumpedLines to clarify they are separate comments
* request repaint when a message is recieved
* Convert Println and Printf to commands
* Add package manager example demonstrating tea.Printf
* Use Unix instead of UnixMicro for Go 1.13 support in CI
* fix off by one in std renderer
* add Printf/Println to tea.go
* revert attempt at sequence compression + cursorUpBy
Co-authored-by: Maxwell Huang-Hobbs <mahuangh@microsoft.com>
Co-authored-by: Christian Rocha <christian@rocha.is>