Fix horizontal scrolling issue after toggling softwrap on/off

Fixes #645
This commit is contained in:
Dmitry Maluka
2021-03-03 20:51:06 +01:00
parent c960c93a83
commit a1651aec2f
3 changed files with 23 additions and 1 deletions

View File

@@ -35,7 +35,8 @@ type BufWindow struct {
func NewBufWindow(x, y, width, height int, buf *buffer.Buffer) *BufWindow {
w := new(BufWindow)
w.View = new(View)
w.X, w.Y, w.Width, w.Height, w.Buf = x, y, width, height, buf
w.X, w.Y, w.Width, w.Height = x, y, width, height
w.SetBuffer(buf)
w.active = true
w.sline = NewStatusLine(w)
@@ -45,6 +46,16 @@ func NewBufWindow(x, y, width, height int, buf *buffer.Buffer) *BufWindow {
func (w *BufWindow) SetBuffer(b *buffer.Buffer) {
w.Buf = b
b.OptionCallback = func(option string, nativeValue interface{}) {
if option == "softwrap" {
if nativeValue.(bool) {
w.StartCol = 0
} else {
w.StartLine.Row = 0
}
w.Relocate()
}
}
}
func (w *BufWindow) GetView() *View {