本文整理匯總了TypeScript中tty.isatty函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript isatty函數的具體用法?TypeScript isatty怎麽用?TypeScript isatty使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了isatty函數的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: show
export default function show(this:CmdLineConfig, envName) {
envName = envName || getCurrentDefault();
if (!envName) {
throw new MyError('no default config. use "jenv --env" to set it. or specify a config name.');
}
const config = readEnvSync(envName);
if (isatty(process.stdout.fd)) {
console.log(require('util').inspect(config, {colors: true, depth: 999}));
} else {
console.log(JSON.stringify(config, null, 4));
}
}
示例2: CancellationToken
function main<T>(task: Promise<any>): void {
let latestVersion: string = null;
const token = new CancellationToken();
if (isatty(1)) {
getLatestVersion(pkg.name, token)
.then(version => latestVersion = version)
.catch(err => !isCancelledError(err) && console.error(err));
}
task
.catch(fatal)
.then(() => {
if (latestVersion && semver.gt(latestVersion, pkg.version)) {
console.log(`\nThe latest version of ${ pkg.name } is ${ latestVersion } and you have ${ pkg.version }.\nUpdate it now: npm install -g ${ pkg.name }`);
} else {
token.cancel();
}
});
}
示例3: Buffer
////////////////////////////////////////////////////
/// TTY tests : http://nodejs.org/api/tty.html
////////////////////////////////////////////////////
namespace tty_tests {
let rs: tty.ReadStream;
let ws: tty.WriteStream;
let rsIsRaw: boolean = rs.isRaw;
rs.setRawMode(true);
let wsColumns: number = ws.columns;
let wsRows: number = ws.rows;
let isTTY: boolean = tty.isatty(1);
}
////////////////////////////////////////////////////
/// Dgram tests : http://nodejs.org/api/dgram.html
////////////////////////////////////////////////////
namespace dgram_tests {
var ds: dgram.Socket = dgram.createSocket("udp4", (msg: Buffer, rinfo: dgram.RemoteInfo): void => {
});
var ai: dgram.AddressInfo = ds.address();
ds.send(new Buffer("hello"), 0, 5, 5000, "127.0.0.1", (error: Error, bytes: number): void => {
});
}
////////////////////////////////////////////////////
示例4: isatty
import {isatty} from "tty";
export const prettyPrint: boolean = isatty(1) && isatty(2);
示例5: cli
function cli() {
var inputs: string[] = [];
var outputJS: any = null;
var outputCPP: any = null;
var outputAsmJS: any = null;
var moduleName: any = null;
var helpFlag: boolean = false;
var watchFlag: boolean = false;
var fs: any = require('fs');
var tty: any = require('tty');
var path: any = require('path');
var notifier: any = require('terminal-notifier');
var useColors: boolean = tty.isatty(1) && tty.isatty(2);
function time(): string {
var now: Date = new Date();
if (!watchFlag) return '';
return ((now.getHours() % 12 + 11) % 12 + 1) + ':' +
(100 + now.getMinutes()).toString().slice(1) +
['am', 'pm'][now.getHours() / 12 | 0] +
' - ';
}
function indent(text: string): string {
return ' ' + text.replace(/\n/g, '\n ');
}
function wrapColor(color: number): (text: string) => string {
if (!useColors) return text => { return text; };
return text => { return '\u001b[' + color + 'm' + text + '\u001b[0m'; };
}
var gray: (text: string) => string = wrapColor(90);
var red: (text: string) => string = wrapColor(91);
var green: (text: string) => string = wrapColor(92);
function showNotification(diagnostic: Diagnostic) {
if (!watchFlag) return;
var options: any = {
title: diagnostic.range !== null ? diagnostic.range.source.name + ' on line ' + diagnostic.range.start.line : 'Build error',
group: 'bitscript'
};
if (diagnostic.range !== null && process.env.EDITOR) {
options.execute = process.env.EDITOR + ' "' + path.resolve(diagnostic.range.source.name) + ':' + diagnostic.range.start.line + '"';
}
notifier(diagnostic.text, options);
}
function compile() {
var compiler = new Compiler();
inputs.forEach(input => compiler.addSource(input, fs.readFileSync(input, 'utf8')));
compiler.compile();
// Output code on success
if (compiler.log.errorCount === 0) {
if (outputJS !== null) {
var root: string = path.relative(path.dirname(outputJS), '.');
var codeAndMap: { code: string; map: string } = OutputJS.generateWithSourceMap(compiler.module, root);
fs.writeFileSync(outputJS, codeAndMap.code + '\n/' + /* Break this up to make Chrome ignore it */ '/# sourceMappingURL=' + path.basename(outputJS) + '.map\n');
fs.writeFileSync(outputJS + '.map', codeAndMap.map + '\n');
}
if (outputCPP !== null) fs.writeFileSync(outputCPP, OutputCPP.generate(compiler.module) + '\n');
if (outputAsmJS !== null) fs.writeFileSync(outputAsmJS, OutputAsmJS.generate(compiler.module, moduleName) + '\n');
console.log(gray(time() + 'build successful'));
return true;
}
// Remove files on failure
if (outputJS !== null && fs.existsSync(outputJS)) {
fs.unlinkSync(outputJS);
fs.unlinkSync(outputJS + '.map');
}
if (outputCPP !== null && fs.existsSync(outputCPP)) fs.unlinkSync(outputCPP);
if (outputAsmJS !== null && fs.existsSync(outputAsmJS)) fs.unlinkSync(outputAsmJS);
if (watchFlag) showNotification(compiler.log.diagnostics[0]);
// Use fancy colored output for TTYs
console.log(gray(time() + 'build failed\n\n') + indent(compiler.log.diagnostics.map(d => {
var parts = d.range.sourceString().split('\n');
return gray(d.type + ' on line ' + d.range.start.line + ' of ' + d.range.source.name + ': ') + red(d.text) + '\n\n' + parts[0] + '\n' + green(parts[1]) + '\n';
}).join('\n')));
return false;
}
// Return a unique string that will change when one of the files changes
function stat(): string {
return inputs.map(input => input + fs.statSync(input).mtime).join('\n');
}
function usage() {
console.log([
'',
'usage: bitc in1.bit in2.bit ... [--js out.js] [--cpp out.cpp] [--asmjs out.js] [--name moduleName] [--watch]',
'',
].join('\n'));
}
// Parse command-line flags
var args = process.argv.slice(2);
//.........這裏部分代碼省略.........