UNPKG

2.22 kBJavaScriptView Raw
1'use strict';
2
3var states = require('./lib/states');
4
5module.exports = Terminal;
6
7function Terminal(opts) {
8 opts = opts || {};
9 if (!(this instanceof Terminal)) return new Terminal(opts);
10
11 this.cols = opts.cols || 500;
12 this.rows = opts.rows || 500;
13
14 this.ybase = 0;
15 this.ydisp = 0;
16 this.x = 0;
17 this.y = 0;
18 this.cursorState = 0;
19 this.cursorHidden = false;
20 this.convertEol = false;
21 this.state = states.normal;
22 this.queue = '';
23 this.scrollTop = 0;
24 this.scrollBottom = this.rows - 1;
25
26 // modes
27 this.applicationKeypad = false;
28 this.originMode = false;
29 this.insertMode = false;
30 this.wraparoundMode = false;
31 this.normal = null;
32
33 // charset
34 this.charset = null;
35 this.gcharset = null;
36 this.glevel = 0;
37 this.charsets = [null];
38
39 // misc
40 this.element;
41 this.children;
42 this.refreshStart;
43 this.refreshEnd;
44 this.savedX;
45 this.savedY;
46 this.savedCols;
47
48 // stream
49 this.readable = true;
50 this.writable = true;
51
52 this.defAttr = (257 << 9) | 256;
53 this.curAttr = this.defAttr;
54
55 this.params = [];
56 this.currentParam = 0;
57 this.prefix = '';
58 this.postfix = '';
59
60 this.lines = [];
61 var i = this.rows;
62 while (i--) {
63 this.lines.push(this.blankLine());
64 }
65
66 this.tabs;
67 this.setupStops();
68}
69
70require('./lib/colors')(Terminal);
71require('./lib/options')(Terminal);
72
73require('./lib/open')(Terminal);
74require('./lib/destroy')(Terminal);
75require('./lib/refresh')(Terminal);
76
77require('./lib/write')(Terminal);
78
79require('./lib/setgLevel');
80require('./lib/setgCharset');
81
82require('./lib/debug')(Terminal);
83
84require('./lib/stops')(Terminal);
85
86require('./lib/erase')(Terminal);
87require('./lib/blankLine')(Terminal);
88require('./lib/range')(Terminal);
89require('./lib/util')(Terminal);
90
91require('./lib/esc/index.js')(Terminal);
92require('./lib/esc/reset.js')(Terminal);
93require('./lib/esc/tabSet.js')(Terminal);
94
95require('./lib/csi/charAttributes')(Terminal);
96require('./lib/csi/insert-delete')(Terminal);
97require('./lib/csi/position')(Terminal);
98require('./lib/csi/cursor')(Terminal);
99require('./lib/csi/repeatPrecedingCharacter')(Terminal);
100require('./lib/csi/tabClear')(Terminal);
101require('./lib/csi/softReset')(Terminal);
102
103require('./lib/charsets.js')(Terminal);