Commit Graph

743 Commits

Author SHA1 Message Date
Christian Rocha
bfb166822e fix: update tests for space input 2022-05-10 16:56:37 -04:00
Christian Rocha
d3fb1b707a feat: obliterate type KeySpace
Treating a space differently from other runes was proving to cause more
confusion that clarity.
2022-05-10 16:56:37 -04:00
Christian Rocha
48cdc1e6c3 feat(keys): add support for shift/ctrl + arrow keys (#292)
* feat(keys): add support for shift/ctrl+arrow keys

* chore(keys): use sequences for shift/ctrl arrow keys

* feat(keys): support ctrl+shift+arrow keys

* chore(keys): use sequences for alt+arrows

* feat(keys): add support for arrow key combinations with alt modifiers

* fix(keys): remove an extreaneous check

* feat(keys): add support for urxvt arrow keys with modfiers

* feat(keys): add support for arrow keys in DECCKM mode

* docs(keys): expand on comment about ctrl+backtick

* chore(keys): migrate various bindings to sequences

* Minor comment improvements to the input parser

Co-authored-by: Bwahharharrr <yitang@tutanota.com>
2022-05-10 16:16:33 -04:00
bashbunni
14e58aa1f9 fix(keys): spacebar now sends a KeySpace (#289)
* fix: replace keySP with working KeySpace

* test: update test to meet new reqs

* fix: fix test looking for 'space'

* fix(keys): set type to KeySpace when sending a space

* docs(keys): comments

Co-authored-by: Christian Rocha <christian@rocha.is>
2022-04-12 11:14:35 -04:00
Christian Muehlhaeuser
3795c036c4 add: Exec, ReleaseTerminal and RestoreTerminal to re-use input and terminal (#237)
* add: program.ReleaseTerminal and RestoreTerminal to re-use input & terminal

* chore(examples): add altscreen toggling to exec demo

* chore: put low-level altscreen stuff alongside other screen funcs

* docs: edit GoDocs for ReleaseTerminal and RestoreTerminal

* feat(renderer): add internal Msg renderMsg to immediately repaint

* fix: repaint instantly on RestoreTerminal

* fix: restore the altscreen state when restoring the terminal

* feat: implement Cmd-based API for blocking *exec.Cmds

* feat: allow Exec to return custom messages

* feat: allow Exec to be run without a callback

* fix: separate parameters for exec.Command examples

* fix: error message would get printed over by prompt in exec example

* fix: ignore signals while child process is running

* feat: allow to execute other things besides exec.Commands (#280)

* feat: allow to execute other things besides exec.Commands.

* fix: lint issues

* fix: renames, examples

* fix: callback type should be exported

* docs(exce): tiny ExecCommand doc comment correction

* chore(exec): break out Cmd for clarity's sake in example

* fix(exec): give the terminal a moment to catch up if exiting altscreen

* docs(exec): tidy up doc comments

* chore(exec): disambiguate methods for restoring the terminal state vs input

Co-authored-by: Christian Rocha <christian@rocha.is>
Co-authored-by: Carlos A Becker <caarlos0@gmail.com>
2022-04-12 10:23:10 -04:00
dependabot[bot]
ecba57e455 chore(deps): bump actions/setup-go from 2 to 3
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2 to 3.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 12:02:29 +02:00
Christian Muehlhaeuser
515ef02733 Move cancelreader into a separate package 2022-04-05 20:41:21 +02:00
Jared Walters
6b687e3257 docs: remove redundant 'of' 2022-04-03 16:08:36 -04:00
Christian Rocha
9a1310846c docs: Program#Send, Program#Quit, and Program#Kill no longer provisional 2022-03-31 14:38:13 -04:00
Christian Rocha
5c76027b36 feat: add support for function keys 2022-03-21 09:48:05 -04:00
Christian Rocha
442b8cde78 fix: use more bulletproof GetFrameSize() list examples 2022-03-17 16:33:21 -04:00
Christian Muehlhaeuser
f80f0b1003 Fix typos in root README.md 2022-03-12 02:17:12 +01:00
Imran H
9bfdb9fb3f Fix typos in README.md (#254) 2022-03-12 02:08:33 +01:00
dependabot[bot]
00e1e06468 chore(deps): bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 10:22:44 +01:00
Christopher Stingl
a57af578f0 fix: minor tea.Cmd tutorial syntax typo
`errMsg(err)` -> `errMsg{err}`

Just noticed this while reading over the tutorial docs and figured I'd throw up a quick PR to address it.

Really enjoying the tooling so far, thank you for creating it!
2022-02-28 17:20:49 -05:00
Christian Rocha
3b83e703b5 docs: restore fm to its rightful place in the README 2022-02-25 15:16:16 -05:00
Christian Rocha
a4ac134e0f docs: add delve instructions 2022-02-25 14:41:27 -05:00
Christian Rocha
feeffca0a5 docs: add mergestat, portal, redis-viewer, Soft Serve to in-the-wild 2022-02-25 14:41:27 -05:00
Christian Rocha
572751ab24 docs: alphebetize in-the-wild-section 2022-02-25 14:41:27 -05:00
Roey Darwish Dror
e81f6a0552 Add IDNT to Bubble Tea in the Wild 2022-02-25 14:05:01 -05:00
Christian Muehlhaeuser
b12cdc3c28 ci: update golangci-lint-action to v3 2022-02-25 08:07:50 +01:00
Carlos Alexandro Becker
62259b72e5 feat: update x/sys (#235)
* 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>
2022-02-19 16:25:49 -03:00
dependabot[bot]
c9bb51796d chore(deps): bump github.com/charmbracelet/bubbles in /examples
Bumps [github.com/charmbracelet/bubbles](https://github.com/charmbracelet/bubbles) from 0.10.2 to 0.10.3.
- [Release notes](https://github.com/charmbracelet/bubbles/releases)
- [Commits](https://github.com/charmbracelet/bubbles/compare/v0.10.2...v0.10.3)

---
updated-dependencies:
- dependency-name: github.com/charmbracelet/bubbles
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-17 07:41:26 -05:00
Christian Rocha
7241e910ec Bump containerd/console 2022-02-15 10:02:56 -05:00
Christian Muehlhaeuser
4d1d1ee021 chore: bump lipgloss and termenv 2022-02-14 23:20:51 +01:00
Christian Muehlhaeuser
2296184dc5 fix: don't check terminal size if we're not writing to a terminal 2022-02-14 17:00:40 -05:00
Christian Muehlhaeuser
6301f93cb2 Support receiving batched mouse events
Mouse events may trigger more than a single events simultaneously.

Fixes #212.
2022-02-13 08:40:04 +01:00
Christian Muehlhaeuser
db177f1939 Fix typos in README 2022-02-09 19:27:39 +01:00
Christian Rocha
f790a53c28 Readme housekeeping
* Use digitally remastered GIF
* Update footer image
* Add more stuff to the made-with-bubble-tea section
2022-02-09 13:24:39 -05:00
Ayman Bagabas
42cd4c3191 feat: kill the program and restore terminal state
* Add Kill() to force kill the program from the outside
* Prevent renderer channel from being closed multiple times
2022-02-08 10:13:05 -08:00
Christian Muehlhaeuser
74f0972e4e Simplify send-msg example 2022-02-08 18:01:35 +01:00
Christian Muehlhaeuser
7c939e8dfb Use termenv's EnvColorProfile, which respects NO_COLOR and CLICOLOR_FORCE env vars 2022-02-06 04:24:31 +01:00
Carlos Alexandro Becker
9a06319ff1 feat: tea.Batch returns nil if all cmds are nil (#217)
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-02-03 12:08:34 -03:00
Ajeet D'Souza
a09e0e80cb Add clidle under "Bubble Tea in the Wild" 2022-02-03 06:12:35 +01:00
Carlos A Becker
c5d3b1e154 test: test for null cmd in sequentially
refs #214

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-02-01 22:53:52 -03:00
Ajeet D'Souza
7d18632ca5 fix: handle nil cmds in tea.Sequentially (#214) 2022-02-01 22:52:49 -03:00
Christian Muehlhaeuser
77e63ac890 Bump termenv to v0.11.0 2022-01-31 23:04:37 +01:00
Christian Muehlhaeuser
a6f46172ec Fix source link in Commands tutorial 2022-01-26 02:16:11 +01:00
dependabot[bot]
4f08c1b965 chore(deps): bump github.com/charmbracelet/glamour in /examples
Bumps [github.com/charmbracelet/glamour](https://github.com/charmbracelet/glamour) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/charmbracelet/glamour/releases)
- [Commits](https://github.com/charmbracelet/glamour/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: github.com/charmbracelet/glamour
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-25 08:36:50 -05:00
Ayman Bagabas
db5d23b82e feat: sync bubbletea with git.charm.sh 2022-01-24 17:07:40 -05:00
Carlos Alexandro Becker
d79cac20cb chore: dependabot, go mod tidy, update bubbles (#198)
Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
2022-01-21 12:04:54 -03:00
Christian Stewart
608fde59ed fix(tea): allocate msgs channel in constructor
Race condition bug: Start() is called in a new gorotuine, then Send(). If the
Send happens before the msgs channel is allocated, the message is dropped.

Instead allocate the channel in the constructor, so msgs is never nil.

Signed-off-by: Christian Stewart <christian@paral.in>
2022-01-14 13:15:29 -05:00
Christian Rocha
66cea095eb Migrate from NewModel() to New() in examples for Bubbles-related stuff 2022-01-13 13:20:18 -05:00
Christian Rocha
843b6a5249 Use model-based Tick commands in spinner examples 2022-01-13 13:05:27 -05:00
Christian Rocha
ee92bed288 Cleanup header/footer rendering in pager example with Lip Gloss 2022-01-13 12:49:20 -05:00
Christian Rocha
7517c1b1bd Add a border to the Glamour example per the viewport API update 2022-01-13 12:49:20 -05:00
Christian Rocha
7514ac937a Update glamour example per viewport API update 2022-01-13 12:49:20 -05:00
Christian Rocha
1ca2b1cd40 Update pager example per viewport API update 2022-01-13 12:49:20 -05:00
Christian Rocha
bdb04767ff Add stopwatch example 2022-01-13 11:53:46 -05:00
Christian Rocha
03d1aa6c08 Rename 'countdown' example to 'timer' and use timer Bubble 2022-01-13 11:53:14 -05:00