naglis and Maas Lalani
ec883029c8
refactor(textinput): reduce allocations
...
As the number of items in `suggestions` and `m.suggestions` is known,
we can use `make` with the expected size instead of appending, which
requires more allocations as the slice grows.
2024-01-08 12:07:49 -05:00
f36aa3c4b5
fix(textinput): Placeholder No Longer Changes Width + Paste Calculation ( #451 )
...
* Fix pasting calculations
Available length calculation now correctly trims pasted text.
* fix(textInput): Width padding added when placeholder is used
When `placeholder` is set, padding from `Width` was not added within the `placeholderView()` function.
* Adding missing 'm.'
* Maintain Width no matter placeholder size delta
* Fixed Math
* Added Comments
* fix: lint
---------
Co-authored-by: Donovan Hubbard <37090676+donovanhubbard@users.noreply.github.com >
Co-authored-by: Maas Lalani <maas@lalani.dev >
2023-12-23 16:02:26 -05:00
Maas Lalani and GitHub
fc50558f4b
Revert "fix: truncate textinput placeholder ( #442 )" ( #450 )
...
This reverts commit 9a0ff2ba4d .
2023-12-23 13:57:42 -05:00
9a0ff2ba4d
fix: truncate textinput placeholder ( #442 )
...
Co-authored-by: Sean Banko <seanbanko@Seans-MacBook-Air.local >
2023-12-21 23:14:53 -05:00
lc-1010 and Christian Rocha
f53b3d9f61
fix: Unicode character encoding error
2023-09-28 10:29:30 -04:00
eda891258c
Support suggestions and autocompletion in textinput ( #407 )
...
* migrate all autocomplete-work from old branch
* added support for multiple suggestions
* fix linter issues
* refactored to only offer matching suggestions for completion
* fix: SetSuggestions + Suggestions
* make: configuration behaviour configurable
* fix for double-width runes
* refactored all suggestions to be rune-arrays
also: accepting suggestions does not overwrite the already given input, rather appends
* fix: make suggestions and OnAcceptSuggestions unexported
* refactor: refreshingMatchingSuggestions -> updateSuggestions
---------
Co-authored-by: Maas Lalani <maas@lalani.dev >
2023-08-21 11:26:02 -04:00
remiposo and GitHub
9266653c39
Reset blink only when CursorBlink ( #378 )
2023-05-13 12:56:18 -04:00
Maas Lalani
dc58240609
chore(lint): help msg unused param
2023-05-01 12:56:08 -04:00
Maas Lalani
ab1f7134e4
fix: deprecate CursorStyle in favour of Cursor.Style
2023-04-08 14:19:53 -04:00
Glenn Gonda and Maas Lalani
78a82d1616
fix(textinput): KeyMap typo
2023-03-07 22:01:46 -05:00
Savannah Ostrowski and Christian Rocha
e4e3137a64
Remove unused BackgroundStyle in text input
2023-03-01 19:52:54 -05:00
Glenn Gonda and Christian Rocha
3d3ed883d3
docs: fix typos and improve comment clarity
2023-02-16 17:49:32 -05:00
Raphael 'kena' Poss and Maas Lalani
53724e6a72
feat: bracketed paste in textarea + textinput
...
This also fixes a longstanding bug where newlines, tabs
or other control characters in the clipboard would cause
the input to be corrupted on paste.
2023-01-09 16:30:24 -05:00
Christian Rocha
30c01cabdc
chore: apply appropriate GoDoc syntax to deprecated items
2022-11-17 10:41:13 -05:00
Raphael 'kena' Poss and Maas Lalani
9a48dca003
feat: support key bindings in textinput like textarea
2022-10-07 11:27:19 -04:00
Maas Lalani
d3aed22a41
Revert "chore: move cursor bubble to internal"
...
This reverts commit a4ed54327f .
2022-10-06 15:33:16 -04:00
Maas Lalani
d177512114
fix: set value moves cursor only when empty and at starting position
2022-10-06 11:42:29 -04:00
Tom Payne and GitHub
72d87e4513
chore: Miscellaneous minor fixes ( #243 )
...
* chore: remove internal use of deprecated NewModel
* chore: miscellaneous comment fixes
2022-09-15 10:51:42 -04:00
Maas Lalani
a4ed54327f
chore: move cursor bubble to internal
2022-09-14 15:45:51 -04:00
Maas Lalani and GitHub
a99b55cda1
Delegate Cursor Logic to cursor bubble ( #181 )
...
* refactor: remove cursor logic from textinput
* chore: Add Deprecated Fields to avoid breaking changes
* fix: Ctrl+A and typing moves to end bug
2022-09-14 10:44:10 -04:00
Maas Lalani
8f65160828
fix: add ctrl+h to backspace text
2022-07-31 13:20:02 -04:00
Gabriel Nagy and Maas Lalani
588393fbf8
fix(textinput): set cursor on initial value
...
This reverts the code back to the logic from 4ce16e8 which fixed the
issue of the cursor not being moved when an initial value was set with
SetValue.
The fix regressed in 16053f4.
2022-07-05 09:16:19 -04:00
IllusionMan1212 and Maas Lalani
e57fd292cc
feat: added Validate function for textinput
2022-06-10 12:17:24 -04:00
Christian Rocha
a1e1b461b6
fix(textinput): support KeySpace in both present and future Bubble Tea versions
...
Closes #144
2022-05-29 08:25:34 -07:00
Austin Schey and Christian Rocha
e349920524
Add Blink method to textinput to return blink state
2022-03-01 07:35:21 -05:00
Christian Rocha
746834a7ce
Add safety check in textinput's clamp
2022-01-20 13:23:58 -05:00
Christian Rocha
fd306528f9
Rename var in deleteWordRight in textinput for additional clarity
2022-01-20 13:23:58 -05:00
Christian Rocha
a4dc540f3d
Re-add panic guard in deleteWordLeft in textinput, just in case
2022-01-20 13:23:58 -05:00
IllusionMan1212 and Christian Rocha
151d1026dd
fix(textinput): use old cursor pos and simplify logic
2022-01-19 18:31:55 -05:00
Christian Rocha
764fd321f6
Cleanup an old var
2022-01-19 12:31:50 -05:00
Christian Rocha
091c915462
Fix various godoc comments
2022-01-19 12:31:50 -05:00
IllusionMan1212 and Christian Rocha
c426cb580b
fix textinput infinite loop and panic
...
fixes infinite loop when deleting input that only contains whitespace
using deleteWordLeft()
fixes index out of range panic when deleting input that only contains
whitespace using deleteWordRight()
2022-01-11 12:27:57 -05:00
Christian Rocha
b35f96cd2d
Deprecate NewModel() constructors; use New() instead
2022-01-11 11:26:13 -05:00
Christian Rocha
d06aa4aa48
Ensure that textinputs can only receive their own blink messages
2021-06-02 10:49:43 -04:00
Christian Rocha
10962af2f2
Textinput's focus method now returns a command to initiate cursor blink
2021-06-02 10:49:43 -04:00
Christian Rocha
5082ae6f31
Add API for blink, static and hidden cursor modes to textinput
...
Closes #53 .
2021-06-02 10:49:43 -04:00
Christian Rocha
9449cc7e41
Don't allow word-based deletion when input is masked in textinput
...
alt+d and ctrl+w will now delete all the way to the beginning and end,
respectively, if EchoMode is not EchoNormal.
2021-04-26 12:03:57 -04:00
Christian Rocha
58a177394e
Don't allow word-to-word movement when input is masked in textinput
...
When EchoMode is not set to EchoNormal, alt+left/alt+b and
alt+right/alt+b jumps to the beginning and the end, respectively, so as
not to reveal word breaks in the masked text.
2021-04-26 12:03:57 -04:00
Christian Rocha
f016c31d83
Add method for returning cursor position in textinput
...
Previously, Cursor was a member on the model that did absolutely
nothing.
2021-04-26 12:03:57 -04:00
Christian Rocha
74436326b9
Public cursor movement functions no longer return values in textinput
...
Previously, textinput.SetCursor, textinput.CursotStart, and
textinput.CursorEnd returned bools used interally for managing cursor
blinking. Those methods have been replaced with private counterparts.
2021-04-26 12:03:57 -04:00
Christian Rocha
0d5d7e5acd
Remove deadcode + small comment on Lip Gloss
2021-04-13 17:09:23 -04:00
Christian Rocha
ddd48d9ab7
TextInput now uses Lip Gloss for styling
2021-04-13 17:09:23 -04:00
Christian Muehlhaeuser and Christian Rocha
b2f42066a2
Drop naked returns in textinput model
...
This actually uncovered a few ineffective assignments, particularly
in deleteWordRight.
2021-03-11 20:09:32 -05:00
Kiyon and Christian Rocha
f719cc8cb1
Reset cursor in SetValue when initial pos is 0
2021-03-09 10:21:17 -05:00
Christian Rocha and Christian Rocha
d02641f6b5
Update textinput for multi-char (IME) input in Bubble Tea master
2020-11-01 09:11:18 -05:00
Christian Rocha
9b47f26bdd
Doc and logic corrections per the linter
2020-10-28 21:27:15 -04:00
Christian Rocha
9c780011ff
Underpinnings for always-on and always-hidden cursor modes
2020-10-28 21:27:15 -04:00
Christian Rocha
8148e61443
Correct ^F/^B keybindings for forward/back cursor movement
2020-10-28 21:27:15 -04:00
Christian Rocha
ce7d8da084
Fix lock-up that could occur with cursor blinking
...
Note that to do this we've replaced the blink timer with a context.
2020-10-28 21:27:15 -04:00
Christian Rocha
d14fdf585c
Textinput Update and View functions are now methods on the model
2020-10-28 21:27:15 -04:00