]> git.lizzy.rs Git - micro.git/commitdiff
Fix redrawing for splits
authorZachary Yedidia <zyedidia@gmail.com>
Sun, 26 Jun 2016 20:18:33 +0000 (16:18 -0400)
committerZachary Yedidia <zyedidia@gmail.com>
Sat, 2 Jul 2016 21:41:23 +0000 (17:41 -0400)
cmd/micro/micro.go
cmd/micro/statusline.go
cmd/micro/view.go

index 69ac08278df51d6cc8dff4257086c137ea08e510..859277ab2e0b76ef5085d7e9b61080a79ff51f86 100644 (file)
@@ -174,11 +174,11 @@ func InitScreen() {
 // RedrawAll redraws everything -- all the views and the messenger
 func RedrawAll() {
        messenger.Clear()
+       DisplayTabs()
+       messenger.Display()
        for _, v := range tabs[curTab].views {
                v.Display()
        }
-       DisplayTabs()
-       messenger.Display()
        screen.Show()
 }
 
index af1ad9735cde810c05daca4810449e7a02305c6e..271f8d21e11f64d05f33d58aac312fceda69a67b 100644 (file)
@@ -48,13 +48,14 @@ func (sline *Statusline) Display() {
 
        // Maybe there is a unicode filename?
        fileRunes := []rune(file)
+       viewX := sline.view.x
        for x := 0; x < sline.view.width; x++ {
                if x < len(fileRunes) {
-                       screen.SetContent(x, y, fileRunes[x], nil, statusLineStyle)
+                       screen.SetContent(viewX+x, y, fileRunes[x], nil, statusLineStyle)
                } else if x >= sline.view.width-len(rightText) && x < len(rightText)+sline.view.width-len(rightText) {
-                       screen.SetContent(x, y, []rune(rightText)[x-sline.view.width+len(rightText)], nil, statusLineStyle)
+                       screen.SetContent(viewX+x, y, []rune(rightText)[x-sline.view.width+len(rightText)], nil, statusLineStyle)
                } else {
-                       screen.SetContent(x, y, ' ', nil, statusLineStyle)
+                       screen.SetContent(viewX+x, y, ' ', nil, statusLineStyle)
                }
        }
 }
index e0bc2eed270edef355f6b999b19b522cc8e765cd..44fa6f8accee1cde6d0cdbc47716b7a16a250429 100644 (file)
@@ -502,7 +502,7 @@ func (v *View) DisplayView() {
                // If the buffer is smaller than the view height
                if lineN+v.Topline >= v.Buf.NumLines {
                        // We have to clear all this space
-                       for i := 0; i < v.width; i++ {
+                       for i := v.x; i < v.width; i++ {
                                screen.SetContent(i, lineN+v.y, ' ', nil, defStyle)
                        }
 
@@ -677,7 +677,7 @@ func (v *View) DisplayView() {
 
                charNum = charNum.Move(1, v.Buf)
 
-               for i := 0; i < v.width-(x-v.leftCol); i++ {
+               for i := 0; i < v.width-((x-v.x)-v.leftCol); i++ {
                        lineStyle := defStyle
                        if settings["cursorline"].(bool) && !v.Cursor.HasSelection() && v.Cursor.Y == lineN+v.Topline {
                                if style, ok := colorscheme["cursor-line"]; ok {