| /** | |
| * Copyright (c) 2016, Daniel Imms (MIT License). | |
| * Copyright (c) 2018, Microsoft Corporation (MIT License). | |
| */ | |
| import * as net from 'net'; | |
| export interface IProcessEnv { | |
| [key: string]: string; | |
| } | |
| export interface ITerminal { | |
| /** | |
| * Gets the name of the process. | |
| */ | |
| process: string; | |
| /** | |
| * Gets the process ID. | |
| */ | |
| pid: number; | |
| /** | |
| * The socket for the master file descriptor. This is not supported on | |
| * Windows. | |
| */ | |
| master: net.Socket; | |
| /** | |
| * The socket for the slave file descriptor. This is not supported on Windows. | |
| */ | |
| slave: net.Socket; | |
| /** | |
| * Writes data to the socket. | |
| * @param data The data to write. | |
| */ | |
| write(data: string): void; | |
| /** | |
| * Resize the pty. | |
| * @param cols The number of columns. | |
| * @param rows The number of rows. | |
| */ | |
| resize(cols: number, rows: number): void; | |
| /** | |
| * Close, kill and destroy the socket. | |
| */ | |
| destroy(): void; | |
| /** | |
| * Kill the pty. | |
| * @param signal The signal to send, by default this is SIGHUP. This is not | |
| * supported on Windows. | |
| */ | |
| kill(signal?: string): void; | |
| /** | |
| * Set the pty socket encoding. | |
| */ | |
| setEncoding(encoding: string | null): void; | |
| /** | |
| * Resume the pty socket. | |
| */ | |
| resume(): void; | |
| /** | |
| * Pause the pty socket. | |
| */ | |
| pause(): void; | |
| /** | |
| * Alias for ITerminal.on(eventName, listener). | |
| */ | |
| addListener(eventName: string, listener: (...args: any[]) => any): void; | |
| /** | |
| * Adds the listener function to the end of the listeners array for the event | |
| * named eventName. | |
| * @param eventName The event name. | |
| * @param listener The callback function | |
| */ | |
| on(eventName: string, listener: (...args: any[]) => any): void; | |
| /** | |
| * Returns a copy of the array of listeners for the event named eventName. | |
| */ | |
| listeners(eventName: string): Function[]; | |
| /** | |
| * Removes the specified listener from the listener array for the event named | |
| * eventName. | |
| */ | |
| removeListener(eventName: string, listener: (...args: any[]) => any): void; | |
| /** | |
| * Removes all listeners, or those of the specified eventName. | |
| */ | |
| removeAllListeners(eventName: string): void; | |
| /** | |
| * Adds a one time listener function for the event named eventName. The next | |
| * time eventName is triggered, this listener is removed and then invoked. | |
| */ | |
| once(eventName: string, listener: (...args: any[]) => any): void; | |
| } | |
| interface IBasePtyForkOptions { | |
| name?: string; | |
| cols?: number; | |
| rows?: number; | |
| cwd?: string; | |
| env?: { [key: string]: string }; | |
| encoding?: string; | |
| handleFlowControl?: boolean; | |
| flowControlPause?: string; | |
| flowControlResume?: string; | |
| } | |
| export interface IPtyForkOptions extends IBasePtyForkOptions { | |
| uid?: number; | |
| gid?: number; | |
| } | |
| export interface IWindowsPtyForkOptions extends IBasePtyForkOptions { | |
| useConpty?: boolean; | |
| conptyInheritCursor?: boolean; | |
| } | |
| export interface IPtyOpenOptions { | |
| cols?: number; | |
| rows?: number; | |
| encoding?: string; | |
| } | |