`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
* 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>
* feat: add OSExec helper function for running exec.Cmds
* chore: for now, un-expose WrapExecCommand
* chore: move exec struff into its own file
* chore(exec): better name for Exec func that wraps exec.Cmd (thanks, @toby)