lib/TextBuffer.js
function TextBuffer( options = {} ) {
	this.ScreenBuffer = options.ScreenBuffer || ( options.dst && options.dst.constructor ) || termkit.ScreenBuffer ;

	// a screenBuffer
	this.dst = options.dst ;

	// virtually infinity by default
	this.width = options.width || Infinity ;
	this.height = options.height || Infinity ;

	this.x = options.x !== undefined ? options.x : 0 ;
	this.y = options.y !== undefined ? options.y : 0 ;
	this.cx = 0 ;
	this.cy = 0 ;

	this.emptyCellAttr = this.ScreenBuffer.prototype.DEFAULT_ATTR ;
	this.hidden = false ;

	this.tabWidth = options.tabWidth || 4 ;
	this.forceInBound = !! options.forceInBound ;
	this.wrap = !! options.wrap ;
	this.lineWrapping = options.lineWrapping || false ;

	this.buffer = [ [] ] ;

	this.stateMachine = options.stateMachine || null ;

	if ( options.hidden ) { this.setHidden( options.hidden ) ; }
}
function TextBuffer( options = {} ) {
	this.ScreenBuffer = options.ScreenBuffer || ( options.dst && options.dst.constructor ) || termkit.ScreenBuffer ;

	// a screenBuffer
	this.dst = options.dst ;

	// virtually infinity by default
	this.width = options.width || Infinity ;
	this.height = options.height || Infinity ;

	this.x = options.x !== undefined ? options.x : 0 ;
	this.y = options.y !== undefined ? options.y : 0 ;
	this.cx = 0 ;
	this.cy = 0 ;

	this.emptyCellAttr = this.ScreenBuffer.prototype.DEFAULT_ATTR ;
	this.hidden = false ;

	this.tabWidth = options.tabWidth || 4 ;
	this.forceInBound = !! options.forceInBound ;
	this.wrap = !! options.wrap ;
	this.lineWrapping = options.lineWrapping || false ;

	this.buffer = [ [] ] ;

	this.stateMachine = options.stateMachine || null ;

	if ( options.hidden ) { this.setHidden( options.hidden ) ; }
}
function TextBuffer ( options = { } ) { this . ScreenBuffer = options . ScreenBuffer || ( options . dst && options . dst . constructor ) || termkit . ScreenBuffer ; // a screenBuffer this . dst = options . dst ; // virtually infinity by default this . width = options . width || Infinity ; this . height = options . height || Infinity ; this . x = options . x !== undefined ? options . x : 0 ; this . y = options . y !== undefined ? options . y : 0 ; this . cx = 0 ; this . cy = 0 ; this . emptyCellAttr = this . ScreenBuffer . prototype . DEFAULT_ATTR ; this . hidden = false ; this . tabWidth = options . tabWidth || 4 ; this . forceInBound = ! ! options . forceInBound ; this . wrap = ! ! options . wrap ; this . lineWrapping = options . lineWrapping || false ; this . buffer = [ [ ] ] ; this . stateMachine = options . stateMachine || null ; if ( options . hidden ) { this . setHidden ( options . hidden ) ; } }
A buffer suitable for text editor
A buffer suitable for text editor