Commit Graph
597 Commits
Author SHA1 Message Date
Christian Rocha a6b8a4559c chore(textarea): consolidate prompt rendering in a method 2025-01-31 16:21:17 -05:00
Christian Rocha 63fb8c67e7 fix(textarea): don't hardcode line number gutter width 2025-01-31 16:21:17 -05:00
Christian Rocha de97754f09 fix(textarea): infer if we should use focused or blurred styles 2025-01-31 16:21:17 -05:00
Christian Rocha 24016e6ce4 chore(textarea): consolidate line number rendering into a method 2025-01-31 16:21:17 -05:00
Christian Rocha ad8e4bf480 chore(textarea): improve comments, note ares that need attention 2025-01-31 16:21:17 -05:00
Christian Rocha 1fd9c2666a chore(textarea,cursor): simplify cursor API 2025-01-31 16:21:17 -05:00
Christian Rocha eb985a2f81 chore(textarea): improve cursor styling API 2025-01-31 16:21:17 -05:00
Christian Rocha 0e5ff3c5c3 chore(textarea): rename Model.SetCursor to Model.SetCursorColumn
Set.CursorColumn sets the cursor column position. This change was made
for clarity.
2025-01-31 16:21:17 -05:00
Christian RochaandAyman Bagabas 58b94b31e8 fix(textarea): doc comment typo
Co-authored-by: Ayman Bagabas <ayman.bagabas@gmail.com>
2025-01-31 16:21:17 -05:00
Christian RochaandAyman Bagabas 0b3c0a2653 fix(textarea): doc comment
Co-authored-by: Ayman Bagabas <ayman.bagabas@gmail.com>
2025-01-31 16:21:17 -05:00
Christian Rocha 7cdd5f37fe chore(textarea,cursor): use textarea to manage virtual cursor styling 2025-01-31 16:21:17 -05:00
Christian Rocha 9d5d140b3c chore(textarea,cursor): flesh out real cursor API 2025-01-31 16:21:17 -05:00
Ayman BagabasandGitHub a0d9fe396d refactor: progress: return Model instead of tea.Model (#719)
This conforms to the new generic bubbletea API.
See https://github.com/charmbracelet/bubbletea/pull/1298
2025-01-29 15:59:11 -05:00
Christian Rocha 421843b83b chore(merge): branch 'master' into v2-exp 2025-01-28 09:31:01 -05:00
518ff7d0d0 feat(textarea): add Cursor method (#712)
* feat(textarea): add CursorPosition method

This returns the current cursor position accounting any soft-wrapped
lines and multi-rune characters.

* chore(textarea): redefine how real cursor properties are accessed (#714)

---------

Co-authored-by: Christian Rocha <christian@rocha.is>
2025-01-23 16:37:07 -05:00
1bdd4c6fb3 fix: stopwatch.Start() (#707)
Signed-off-by: Bence Vidosits <bence.vidosits1@ibm.com>
Co-authored-by: Bence Vidosits <bence.vidosits1@ibm.com>
2025-01-22 09:10:20 -03:00
Carlos Alexandro BeckerandGitHub 7ab08fb438 fix(viewport): scroll to last line when borders (#706)
If the viewport has borders, they are not currently taken into account
when calculating the viewport max y offset, which might cause the last
line to not be visible.

This is easily reproducible in `gum pager`.

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2025-01-21 19:31:03 -03:00
bashbunniandGitHub e3ce11a65f docs: update charm & friends blurb (#703)
* docs: update charm & friends blurb

* docs: simplify messaging, link to instructions
2025-01-17 12:48:08 -08:00
87a4e45a58 docs: additional bubbles (#583)
* docs: additional bubbles

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* Update README.md

Co-authored-by: bashbunni <15822994+bashbunni@users.noreply.github.com>

* Update README.md

Co-authored-by: Christian Rocha <christian@rocha.is>

* Update README.md

Co-authored-by: Christian Rocha <christian@rocha.is>

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: bashbunni <15822994+bashbunni@users.noreply.github.com>
Co-authored-by: Christian Rocha <christian@rocha.is>
2025-01-17 12:32:41 -08:00
Carlos Alexandro Becker 0c83e6f4c8 chore(deps): update
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2025-01-15 12:25:09 -03:00
Carlos Alexandro Becker fbe642df17 chore(deps): update 2025-01-14 15:34:37 -03:00
Carlos Alexandro Becker 3487634e4d chore(deps): update ansi
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2025-01-14 14:26:31 -03:00
Carlos Alexandro Becker f28e78e6ab Merge remote-tracking branch 'origin/master' into v2-exp 2025-01-14 14:22:36 -03:00
2d53a618a9 feat(viewport): horizontal scroll (#240)
* horizontal scroll

* rebase branch

* add tests

* add tests with 2 cells symbols

* trimLeft, move to charmbracelete/x/ansi lib

* up ansi package

* Update viewport/viewport.go

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: do not navigate out to the right

* fix: cache line width on setcontent

* fix tests

* fix viewport tests

* add test for preventing right overscroll

* chore(viewport): increase horizontal step to 6

* chore(viewport): make horizontal scroll API better match vertical scroll API

* fix: nolint

* fix: use ansi.Cut

* perf: do not cut anything if not needed

* feat: expose HorizontalScrollPercent

* fix: do not scroll if width is 0

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>

* fix: visible lines take frame into account

---------

Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Christian Rocha <christian@rocha.is>
2025-01-10 08:38:48 -03:00
2e3a42396e chore(progress)!: migrate progress to lipgloss (#676)
* chore(progress)!: migrate progress to lipgloss

This removes the dependency on termenv and replaces it with lipgloss. This
change also removes the WithColorProfile option, as it is no longer needed.
The new API uses `color.Color` types for colors, which are more flexible and
allow for more advanced color manipulation.

* Update progress/progress_test.go

Co-authored-by: Christian Rocha <christian@rocha.is>

* Update progress/progress_test.go

Co-authored-by: Christian Rocha <christian@rocha.is>

* chore: go mod tidy

---------

Co-authored-by: Christian Rocha <christian@rocha.is>
2024-12-12 10:51:23 -05:00
8624776d45 fix(textinput): slicing outside cap (#532)
* textinput: fix slicing outside cap

* textinput: add test that makes slicing outside cap occur

* chore: tidy with gofmt

---------

Co-authored-by: bashbunni <bunni@bashbunni.dev>
2024-12-05 13:40:33 -08:00
Ayman Bagabas bd415b4eba chore: update dependencies and fix colors 2024-11-21 12:20:47 -05:00
Carlos Alexandro BeckerandGitHub e5296a2b0f ci: fix goreleaser config (#668)
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
2024-11-15 19:00:41 -03:00
Christian Rocha 0a6b6e6fd7 chore(merge): branch 'master' into v2-exp 2024-11-15 08:38:55 -05:00
Christian Rocha 398e92c5ae fix: remove default character limit 2024-11-15 08:30:03 -05:00
Christian Rocha f439d83043 fix(textarea): max height should not determine max lines
Fixes #671.
2024-11-15 08:30:03 -05:00
Ayman Bagabas 0719711142 chore: merge branch 'master' into v2-exp v2.0.0-alpha.2 2024-11-12 17:05:54 -05:00
Ayman Bagabas aa74e9fb07 chore: update dependencies to use v2-alpha.2 2024-11-12 17:05:10 -05:00
Ayman Bagabas cc009fb401 chore: merge branch 'master' into v2-exp 2024-11-12 17:04:33 -05:00
Ayman Bagabas 812f74ffff chore: remove unused YPosition field from viewport.Model 2024-11-06 18:26:15 -05:00
Christian Rocha 730f5a29e2 fix: debounce stopwatch and timer
This keeps them from ticking too fast.

Fixes #661.
2024-11-05 22:06:53 -05:00
Christian Rocha fc0fa7807e feat(textarea): add helpers for default light and dark styles 2024-11-05 21:38:29 -05:00
Christian Rocha 148439f15d feat(help): expose function for choosing light or dark styles 2024-11-05 13:46:33 -05:00
aymanbagabasandChristian Rocha 20a65e5655 chore(ci): sync golangci-lint config 2024-11-04 09:07:12 -05:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
db3514caa7 feat(deps): bump github.com/charmbracelet/lipgloss from 0.13.1 to 1.0.0 (#655)
Bumps [github.com/charmbracelet/lipgloss](https://github.com/charmbracelet/lipgloss) from 0.13.1 to 1.0.0.
- [Release notes](https://github.com/charmbracelet/lipgloss/releases)
- [Changelog](https://github.com/charmbracelet/lipgloss/blob/master/.goreleaser.yml)
- [Commits](https://github.com/charmbracelet/lipgloss/compare/v0.13.1...v1.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 15:07:07 -03:00
Christian Rocha cc9a727028 fix(timer): restore 1s default interval 2024-10-31 15:58:35 -04:00
Christian Rocha 591dfd528e chore(textinput): use a getter and setter for width 2024-10-31 15:02:05 -04:00
Christian Rocha 52bd03ed5b feat!(viewport): use getters and setters for width and height 2024-10-31 15:02:05 -04:00
Christian Rocha 3b879e7694 feat!(viewport): width and height are now optional args in New() 2024-10-31 15:02:05 -04:00
Christian Rocha 241db06b4a feat!(paginator): DefaultKeyMap is now a func instead of a global 2024-10-31 15:02:05 -04:00
Christian Rocha 4b0f9c8282 feat!(progress): width now uses getters and setters 2024-10-31 15:02:05 -04:00
Christian Rocha e8ba813a88 feat!(filepicker): use getters and setters for height 2024-10-31 15:02:05 -04:00
Christian Rocha 6415ecbfef feat!(stopwatch): add WithInterval(duration) option, drop NewWithInterval()
This also adds an Option type for arguments to New()
2024-10-31 15:02:05 -04:00
Christian Rocha 4ce3faadcf feat!(textarea): DefaultKeyMap is now a func instead of a global 2024-10-31 15:02:05 -04:00
Christian Rocha 73fe314cc6 feat!(textinput): DefaultKeyMap is now a function; was formerly a global 2024-10-31 15:02:05 -04:00