当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript js.fork方法代码示例

本文整理汇总了TypeScript中pty.js.fork方法的典型用法代码示例。如果您正苦于以下问题:TypeScript js.fork方法的具体用法?TypeScript js.fork怎么用?TypeScript js.fork使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pty.js的用法示例。


在下文中一共展示了js.fork方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: 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);
        });
    }
开发者ID:Culttm,项目名称:black-screen,代码行数:16,代码来源:PTY.ts

示例2: 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);
        });
    }
开发者ID:CodeFork,项目名称:black-screen,代码行数:16,代码来源:PTY.ts

示例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(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);
        });
    }
开发者ID:maecro,项目名称:black-screen,代码行数:20,代码来源:PTY.ts

示例4: 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")) {
开发者ID:eeyoo,项目名称:black-screen,代码行数:32,代码来源:PTYInternal.ts

示例5: 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.
开发者ID:Eugene-msc,项目名称:black-screen,代码行数:31,代码来源:PTYInternal.ts


注:本文中的pty.js.fork方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。