當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript pty.js類代碼示例

本文整理匯總了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")) {
開發者ID:eeyoo,項目名稱:black-screen,代碼行數:32,代碼來源:PTYInternal.ts

示例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.
開發者ID:Eugene-msc,項目名稱:black-screen,代碼行數:31,代碼來源:PTYInternal.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(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

示例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);
        });
    }
開發者ID:Culttm,項目名稱:black-screen,代碼行數:16,代碼來源:PTY.ts

示例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);
        });
    }
開發者ID:maecro,項目名稱:black-screen,代碼行數:20,代碼來源:PTY.ts

示例6: constructor

 constructor(file?: string, args?: string[], opt?: PtyOptions) {
   this.realPty = pty.createTerminal(file, args, opt);
 }
開發者ID:SRGOM,項目名稱:extraterm,代碼行數:3,代碼來源:ptydirect.ts


注:本文中的pty.js類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。