Skip to content
Permalink
Browse files

readline: multiple code cleanups

Variety of code maintenance updates, cleanups

PR-URL: #12755
Reviewed-By: Anna Henningsen <anna@addaleax.net>
  • Loading branch information...
jasnell authored and addaleax committed Apr 29, 2017
1 parent 392a898 commit 4ac7a68ccd6fb0104f171ef49e964fb6d4a170c6
Showing with 18 additions and 19 deletions.
  1. +18 −19 lib/readline.js
@@ -27,25 +27,32 @@

'use strict';

const { debug, inherits } = require('util');
const Buffer = require('buffer').Buffer;
const EventEmitter = require('events');
const {
emitKeys,
getStringWidth,
isFullWidthCodePoint,
stripVTControlCharacters
} = require('internal/readline');

const kHistorySize = 30;
const kMincrlfDelay = 100;
const kMaxcrlfDelay = 2000;
// \r\n, \n, or \r followed by something other than \n
const lineEnding = /\r?\n|\r(?!\n)/;

const util = require('util');
const debug = util.debuglog('readline');
const inherits = util.inherits;
const Buffer = require('buffer').Buffer;
const EventEmitter = require('events');
const internalReadline = require('internal/readline');
const emitKeys = internalReadline.emitKeys;
const getStringWidth = internalReadline.getStringWidth;
const isFullWidthCodePoint = internalReadline.isFullWidthCodePoint;
const stripVTControlCharacters = internalReadline.stripVTControlCharacters;
const KEYPRESS_DECODER = Symbol('keypress-decoder');
const ESCAPE_DECODER = Symbol('escape-decoder');

// GNU readline library - keyseq-timeout is 500ms (default)
const ESCAPE_CODE_TIMEOUT = 500;


function createInterface(input, output, completer, terminal) {
return new Interface(input, output, completer, terminal);
};
}


function Interface(input, output, completer, terminal) {
@@ -373,8 +380,6 @@ Interface.prototype.write = function(d, key) {
this.terminal ? this._ttyWrite(d, key) : this._normalWrite(d);
};

// \r\n, \n, or \r followed by something other than \n
const lineEnding = /\r?\n|\r(?!\n)/;
Interface.prototype._normalWrite = function(b) {
if (b === undefined) {
return;
@@ -961,12 +966,6 @@ Interface.prototype._ttyWrite = function(s, key) {
* accepts a readable Stream instance and makes it emit "keypress" events
*/

const KEYPRESS_DECODER = Symbol('keypress-decoder');
const ESCAPE_DECODER = Symbol('escape-decoder');

// GNU readline library - keyseq-timeout is 500ms (default)
const ESCAPE_CODE_TIMEOUT = 500;

function emitKeypressEvents(stream, iface) {
if (stream[KEYPRESS_DECODER]) return;
var StringDecoder = require('string_decoder').StringDecoder; // lazy load

0 comments on commit 4ac7a68

Please sign in to comment.
You can’t perform that action at this time.