Files
react-native-devtools-frontend/services/terminal.js
T
Blink Reformat 4c46d0969f The Great Blink mv for source files, part 2.
Move and rename files.

NOAUTOREVERT=true
NOPRESUBMIT=true
NOTREECHECKS=true
Bug: 768828
TBR=darin@chromium.org
NOTRY=true

Change-Id: I66d3b155808bc5bdbf237b80208e1e552bcf7f28
Reviewed-on: https://chromium-review.googlesource.com/1001153
Reviewed-by: Blink Reformat <blink-reformat@chromium.org>
Commit-Queue: Blink Reformat <blink-reformat@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#549061}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0aee4434a4dba42a42abaea9bfbc0cd196a63bc1
2018-04-07 15:32:37 +00:00

53 lines
1.2 KiB
JavaScript

// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
var pty = require("pty.js");
function Terminal(notify)
{
this._notify = notify;
}
Terminal.prototype = {
init: function(params)
{
this._term = pty.spawn(process.platform === "win32" ? "cmd.exe" : "bash", [], {
name: "xterm-color",
cols: params.cols || 80,
rows: params.rows || 24,
cwd: process.env.PWD,
env: process.env
});
this._term.on("data", data => {
if (this._notify)
this._notify("data", { data: data });
});
return Promise.resolve({});
},
resize: function(params)
{
if (this._term)
this._term.resize(params.cols, params.rows);
return Promise.resolve({});
},
write: function(params)
{
this._term.write(params.data);
return Promise.resolve({});
},
dispose: function(params)
{
this._notify = null;
if (this._term)
process.kill(this._term.pid);
return Promise.resolve({});
},
}
exports.Terminal = Terminal;