Synchronize screen

This commit is contained in:
Zachary Yedidia
2018-08-28 14:24:59 -04:00
parent 970bb78500
commit ec53d5deeb
4 changed files with 35 additions and 20 deletions

View File

@@ -3,6 +3,7 @@ package screen
import (
"fmt"
"os"
"sync"
"github.com/zyedidia/micro/cmd/micro/config"
"github.com/zyedidia/micro/cmd/micro/terminfo"
@@ -10,6 +11,34 @@ import (
)
var Screen tcell.Screen
var lock sync.Mutex
func Lock() {
lock.Lock()
}
func Unlock() {
lock.Unlock()
}
var screenWasNil bool
func TempFini() {
screenWasNil := Screen == nil
if !screenWasNil {
Lock()
Screen.Fini()
Screen = nil
}
}
func TempStart() {
if !screenWasNil {
Init()
Unlock()
}
}
// Init creates and initializes the tcell screen
func Init() {
@@ -64,6 +93,4 @@ func Init() {
}
os.Setenv("TCELLDB", tcelldb)
// Screen.SetStyle(defStyle)
}