Init commit
This commit is contained in:
		
							
								
								
									
										57
									
								
								term/term.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								term/term.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,57 @@
 | 
			
		||||
package term
 | 
			
		||||
 | 
			
		||||
import "fmt"
 | 
			
		||||
 | 
			
		||||
type CursorFlag bool
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	CursorOn  CursorFlag = true
 | 
			
		||||
	CursorOff CursorFlag = false
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TurnCursor(onOff CursorFlag) {
 | 
			
		||||
	if onOff == CursorOn {
 | 
			
		||||
		fmt.Printf("\033[?25h")
 | 
			
		||||
	} else {
 | 
			
		||||
		fmt.Printf("\033[?25l")
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ClearScreen() {
 | 
			
		||||
	fmt.Printf("\033[2J")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ResetTerminal() {
 | 
			
		||||
	fmt.Printf("\033c")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func GoHome() {
 | 
			
		||||
	fmt.Printf("\033[H")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SaveCursor() {
 | 
			
		||||
	fmt.Printf("\033[s")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RestoreCursor() {
 | 
			
		||||
	fmt.Printf("\033[u")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func EnableAlternateScreen() {
 | 
			
		||||
	fmt.Printf("\033[?1049h")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func DisableAlternateScreen() {
 | 
			
		||||
	fmt.Printf("\033[?1049l")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func StartFullscreen() {
 | 
			
		||||
	SaveCursor()
 | 
			
		||||
	EnableAlternateScreen()
 | 
			
		||||
	ClearScreen()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func FinishFullscreen() {
 | 
			
		||||
	DisableAlternateScreen()
 | 
			
		||||
	RestoreCursor()
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user