feat: add a Styler interface for styling bubbles

This change introduces a Styler interface that allows users to define
custom styles for bubbles. The interface is implemented by the StylerFunc
type, which is a function type that takes a boolean argument and returns
a value of any type.

This allows a user to define a custom StylerFunc that returns a custom
style for a bubble based on the background color of the terminal.
This commit is contained in:
Ayman Bagabas
2024-10-29 15:54:40 -04:00
parent db64e3cd78
commit 8fdc81c836
8 changed files with 34 additions and 33 deletions
+2 -2
View File
@@ -283,12 +283,12 @@ type Model struct {
}
// New creates a new model with default settings.
func New() Model {
func New(isDark bool) Model {
vp := viewport.New(0, 0)
vp.KeyMap = viewport.KeyMap{}
cur := cursor.New()
styles := DefaultStyles(true)
styles := DefaultStyles(isDark)
m := Model{
CharLimit: defaultCharLimit,
+1 -1
View File
@@ -1703,7 +1703,7 @@ func TestView(t *testing.T) {
}
func newTextArea() Model {
textarea := New()
textarea := New(true)
textarea.Prompt = "> "
textarea.Placeholder = "Hello, World!"