This adds support to the Windows Console Input Buffer API which access
the console API directly without the need for virtual terminal input
(i.e. the current mode that emulates unix inputs).
Since this uses the console input api, we can finally read window size
events.
This is mearly based on the awesome work of @erikgeiser in #140.
Fixes: https://github.com/charmbracelet/bubbletea/issues/538
Fixes: https://github.com/charmbracelet/bubbletea/issues/121
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>
* 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>
* 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>
* 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>
* feat: update x/sys
current version breaks builds for windows/arm64
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: examples go.sum
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
* fix: tutorials go.sum
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
With this change all ANSI output will be piped through an ANSI compressor that
eliminates redundant ANSI sequences. As such the compressor can be considered
"lossless".
The golang.org/x/crypto/ssh/terminal package is deprecated and merely a
wrapper around golang.org/x/term. Use the latter directly and avoid the
dependency on the former altogether.