本文整理匯總了TypeScript中pty.js類的典型用法代碼示例。如果您正苦於以下問題:TypeScript js類的具體用法?TypeScript js怎麽用?TypeScript js使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了js類的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: parseInt
import * as pty from "pty.js";
import {baseName} from "./Utils";
let commandName = process.argv[2];
let args = process.argv.slice(5);
let columns = parseInt(process.argv[3], 10);
let rows = parseInt(process.argv[4], 10);
const noConfigSwitches: Dictionary<string[]> = {
zsh: ["--no-globalrcs", "--no-rcs"],
bash: ["--noprofile", "--norc"],
};
const fork = pty.fork(process.env.SHELL, [...noConfigSwitches[baseName(process.env.SHELL)], "-c", `${commandName} ${args.join(" ")}`], {
cols: columns,
rows: rows,
cwd: process.cwd(),
env: process.env,
});
interface IncomingMessage {
input?: string;
resize?: number[];
signal?: string;
}
process.on("message", (message: IncomingMessage) => {
if (message.hasOwnProperty("input")) {
fork.write(message.input);
} else if (message.hasOwnProperty("resize")) {
fork.resize(message.resize[0], message.resize[1]);
} else if (message.hasOwnProperty("signal")) {
示例2: parseInt
import * as pty from "pty.js";
let commandName = process.argv[2];
let args = process.argv.slice(5);
let columns = parseInt(process.argv[3], 10);
let rows = parseInt(process.argv[4], 10);
const fork = pty.fork(process.env.SHELL, ["-c", `${commandName} ${args.join(" ")}`], {
cols: columns,
rows: rows,
cwd: process.cwd(),
env: process.env,
});
interface IncomingMessage {
input?: string;
resize?: number[];
signal?: string;
}
process.on("message", (message: IncomingMessage) => {
if (message.hasOwnProperty("input")) {
fork.write(message.input);
} else if (message.hasOwnProperty("resize")) {
fork.resize(message.resize[0], message.resize[1]);
} else if (message.hasOwnProperty("signal")) {
/**
* The if branch is necessary because pty.js doesn"t handle SIGINT correctly.
* You can test whether it works by executing
* ruby -e "loop { puts "yes"; sleep 1 }"
* and trying to kill it with SIGINT.
示例3: constructor
// TODO: write proper signatures.
// TODO: use generators.
// TODO: terminate. https://github.com/atom/atom/blob/v1.0.15/src/task.coffee#L151
constructor(command: string, args: string[], env: ProcessEnvironment, dimensions: Dimensions, dataHandler: (d: string) => void, exitHandler: (c: number) => void) {
this.terminal = pty.fork(shell(), [...noConfigSwitches[baseName(shell())], "-c", `${command} ${args.map(arg => `'${arg}'`).join(" ")}`], {
cols: dimensions.columns,
rows: dimensions.rows,
cwd: env.PWD,
env: env,
});
this.terminal.on("data", (data: string) => dataHandler(data));
this.terminal.on("exit", (code: number) => {
exitHandler(code);
});
}
示例4: constructor
// TODO: write proper signatures.
// TODO: use generators.
// TODO: terminate. https://github.com/atom/atom/blob/v1.0.15/src/task.coffee#L151
constructor(command: string, args: string[], env: ProcessEnvironment, dimensions: Dimensions, dataHandler: (d: string) => void, exitHandler: (c: number) => void) {
this.terminal = pty.fork(loginShell.executableName, [...loginShell.noConfigSwitches, "-c", `${command} ${args.map(escapeArgument).join(" ")}`], {
cols: dimensions.columns,
rows: dimensions.rows,
cwd: env.PWD,
env: env,
});
this.terminal.on("data", (data: string) => dataHandler(data));
this.terminal.on("exit", (code: number) => {
exitHandler(code);
});
}
示例5: constructor
// TODO: write proper signatures.
// TODO: use generators.
// TODO: terminate. https://github.com/atom/atom/blob/v1.0.15/src/task.coffee#L151
constructor(words: EscapedShellWord[], env: ProcessEnvironment, dimensions: Dimensions, dataHandler: (d: string) => void, exitHandler: (c: number) => void) {
const shellArguments = [...loginShell.noConfigSwitches, "-i", "-c", words.join(" ")];
debug(`PTY: ${loginShell.executableName} ${JSON.stringify(shellArguments)}`);
this.terminal = pty.fork(loginShell.executableName, shellArguments, {
cols: dimensions.columns,
rows: dimensions.rows,
cwd: env.PWD,
env: env,
});
this.terminal.on("data", (data: string) => dataHandler(data));
this.terminal.on("exit", (code: number) => {
exitHandler(code);
});
}
示例6: constructor
constructor(file?: string, args?: string[], opt?: PtyOptions) {
this.realPty = pty.createTerminal(file, args, opt);
}