charmbracelet / bubbletea

A powerful little TUI framework 🏗
MIT License
25.65k stars 744 forks source link

fix: enable OPOST when initializing the terminal #1006

Closed aymanbagabas closed 2 months ago

aymanbagabas commented 2 months ago

Before switching to golang/term for terminal handling, we used containerd/console. Which by default, uses Termios OPOST when setting the terminal to raw mode. This is needed because we need to post process output to render the terminal correctly.

This also switches to using charmbracelet/x/exp/term since golang/term doesn't allow setting a custom Termios settings.

Fixes: https://github.com/charmbracelet/bubbletea/issues/1000 Fixes: 46241068daed (feat: reduce console/term dependencies (#897))