We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Describe the bug textarea.Placeholder cannot display the first Chinese character properly
textarea.Placeholder
Setup
To Reproduce
https://github.com/charmbracelet/bubbletea/blob/master/examples/chat/main.go
ta := textarea.New() ta.Placeholder = "Send a message..." ta.Focus()
ta := textarea.New() ta.Placeholder = "输入消息..." ta.Focus()
go run main.go
Welcome to the chat room! Type a message and press Enter to send. ┃ è��入消息... ┃
Source Code
package main // A simple program demonstrating the text area component from the Bubbles // component library. import ( "fmt" "log" "strings" "github.com/charmbracelet/bubbles/textarea" "github.com/charmbracelet/bubbles/viewport" tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" ) func main() { p := tea.NewProgram(initialModel()) if _, err := p.Run(); err != nil { log.Fatal(err) } } type ( errMsg error ) type model struct { viewport viewport.Model messages []string textarea textarea.Model senderStyle lipgloss.Style err error } func initialModel() model { ta := textarea.New() ta.Placeholder = "输入消息..." ta.Focus() ta.Prompt = "┃ " ta.CharLimit = 280 ta.SetWidth(30) ta.SetHeight(3) // Remove cursor line styling ta.FocusedStyle.CursorLine = lipgloss.NewStyle() ta.ShowLineNumbers = false vp := viewport.New(30, 5) vp.SetContent(`Welcome to the chat room! Type a message and press Enter to send.`) ta.KeyMap.InsertNewline.SetEnabled(false) return model{ textarea: ta, messages: []string{}, viewport: vp, senderStyle: lipgloss.NewStyle().Foreground(lipgloss.Color("5")), err: nil, } } func (m model) Init() tea.Cmd { return textarea.Blink } func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { var ( tiCmd tea.Cmd vpCmd tea.Cmd ) m.textarea, tiCmd = m.textarea.Update(msg) m.viewport, vpCmd = m.viewport.Update(msg) switch msg := msg.(type) { case tea.KeyMsg: switch msg.Type { case tea.KeyCtrlC, tea.KeyEsc: fmt.Println(m.textarea.Value()) return m, tea.Quit case tea.KeyEnter: m.messages = append(m.messages, m.senderStyle.Render("You: ")+m.textarea.Value()) m.viewport.SetContent(strings.Join(m.messages, "\n")) m.textarea.Reset() m.viewport.GotoBottom() } // We handle errors just like any other message case errMsg: m.err = msg return m, nil } return m, tea.Batch(tiCmd, vpCmd) } func (m model) View() string { return fmt.Sprintf( "%s\n\n%s", m.viewport.View(), m.textarea.View(), ) + "\n\n" }
Expected behavior Normal display Chinese
Screenshots
Additional context none
The text was updated successfully, but these errors were encountered:
I was able to reproduce this with the steps you provided. Thank you so much for bringing this to our attention 🙏
tried both zh_CN.UTF-8 and en_US.UTF-8
Sorry, something went wrong.
No branches or pull requests
Describe the bug
textarea.Placeholder
cannot display the first Chinese character properlySetup
To Reproduce
https://github.com/charmbracelet/bubbletea/blob/master/examples/chat/main.go
go run main.go
Source Code
Expected behavior
Normal display Chinese
Screenshots
Additional context
none
The text was updated successfully, but these errors were encountered: