feat: add cmd support (#77)

Tested using node v8.15.0 in cmd
Note: Tests are still failing in cmd
js-version
Abdul Rauf 5 years ago committed by Anton Medvedev
parent 9dac9222e0
commit b99a05dd89

27
fx.js

@ -1,12 +1,11 @@
'use strict' 'use strict'
const fs = require('fs')
const tty = require('tty')
const blessed = require('@medv/blessed') const blessed = require('@medv/blessed')
const stringWidth = require('string-width') const stringWidth = require('string-width')
const reduce = require('./reduce') const reduce = require('./reduce')
const print = require('./print') const print = require('./print')
const find = require('./find') const find = require('./find')
const config = require('./config') const config = require('./config')
const reopenTTY = require('reopen-tty');
module.exports = function start(filename, source) { module.exports = function start(filename, source) {
// Current rendered object on a screen. // Current rendered object on a screen.
@ -26,12 +25,30 @@ module.exports = function start(filename, source) {
let findGen = null let findGen = null
let currentPath = null let currentPath = null
const ttyFd = fs.openSync('/dev/tty', 'r+') let ttyReadStream;
let ttyWriteStream;
reopenTTY.stdin(function(err, readStream) {
if (err) {
throw err;
} else {
ttyReadStream = readStream;
}
});
reopenTTY.stdout(function(err, writeStream) {
if (err) {
throw err;
} else {
ttyWriteStream = writeStream;
}
});
const program = blessed.program({ const program = blessed.program({
input: tty.ReadStream(ttyFd), input: ttyReadStream,
output: tty.WriteStream(ttyFd), output: ttyWriteStream
}) })
const screen = blessed.screen({ const screen = blessed.screen({
program: program, program: program,
smartCSR: true, smartCSR: true,

@ -39,6 +39,7 @@
"@medv/blessed": "^1.1.1", "@medv/blessed": "^1.1.1",
"chalk": "^2.4.1", "chalk": "^2.4.1",
"indent-string": "^3.2.0", "indent-string": "^3.2.0",
"reopen-tty": "^1.1.2",
"string-width": "^2.1.1" "string-width": "^2.1.1"
}, },
"devDependencies": { "devDependencies": {

Loading…
Cancel
Save