forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| 
								 | 
							
								package eval.luv;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								enum abstract TtyMode(Int) {
							 | 
						||
| 
								 | 
							
									var NORMAL = 0;
							 | 
						||
| 
								 | 
							
									var RAW = 1;
							 | 
						||
| 
								 | 
							
									var IO = 2;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								enum abstract VTermState(Int) {
							 | 
						||
| 
								 | 
							
									var SUPPORTED = 0;
							 | 
						||
| 
								 | 
							
									var UNSUPPORTED = 1;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
									Consoles.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									@see https://aantron.github.io/luv/luv/Luv/Tty
							 | 
						||
| 
								 | 
							
								**/
							 | 
						||
| 
								 | 
							
								@:using(eval.luv.Handle)
							 | 
						||
| 
								 | 
							
								@:using(eval.luv.Stream)
							 | 
						||
| 
								 | 
							
								@:coreType abstract Tty to Handle to Stream to Stream.TStream<Tty> {
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										To be called when the program exits.
							 | 
						||
| 
								 | 
							
										Resets TTY settings to default values for the next process to take over.
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									static public function resetMode():Result<Result.NoData>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										Controls whether console virtual terminal sequences are processed by libuv
							 | 
						||
| 
								 | 
							
										or console. Useful in particular for enabling ConEmu support of ANSI X3.64
							 | 
						||
| 
								 | 
							
										and Xterm 256 colors. Otherwise Windows10 consoles are usually detected
							 | 
						||
| 
								 | 
							
										automatically.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										This function is only meaningful on Windows systems. On Unix it is silently
							 | 
						||
| 
								 | 
							
										ignored.
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									static public function setVTermState(state:VTermState):Void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										Get the current state of whether console virtual terminal sequences are
							 | 
						||
| 
								 | 
							
										handled by libuv or the console.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										This function is not implemented on Unix, where it returns `UVError.UV_ENOTSUP`.
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									static public function getVTermState():Result<VTermState>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										Allocates and initializes a TTY handle.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										The handle should be cleaned up with `eval.luv.Handle.close` when no longer needed.
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									static public function init(loop:Loop, file:File):Result<Tty>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										Sets the TTY's mode.
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									public function setMode(mode:TtyMode):Result<Result.NoData>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/**
							 | 
						||
| 
								 | 
							
										Retrieves the current window size.
							 | 
						||
| 
								 | 
							
									**/
							 | 
						||
| 
								 | 
							
									public function getWinSize():Result<{width:Int, height:Int}>;
							 | 
						||
| 
								 | 
							
								}
							 |