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}>;
 | 
						|
} |