blob: 333eb9858a78f4140bd201f39e1740a5748f3a49 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
function execute(output, command) {
var notImplemented = function(name) {
output.error('"' + name + '"' + ' is not implemented.');
};
var args = command.trim().split(' ');
try {
var closure = eval(args[0]);
if ( typeof closure === 'function' ) {
args.shift();
closure(output, args);
} else {
notImplemented(args[0]);
}
} catch (exception) {
if ( exception instanceof ReferenceError ) {
notImplemented(args[0]);
} else {
output.error(exception);
}
}
}
function exec(output, args) {
try {
var result = eval(args.join(' '));
switch ( typeof result ) {
case 'string': {
output.log(result);
break;
}
case 'number': {
output.log(result);
break;
}
case 'object': {
output.log(JSON.stringify(result));
break;
}
}
} catch (exception) {
output.error(exception);
}
}
function ls(output) {
terminalList.iterate(function(item) {
if ( item.terminal !== null ) {
output.log(item.index + ': ' + item.terminal.program);
}
});
}
function set(output, args) {
switch ( args.length ) {
case 0: {
Object.keys(settings).filter(
function(element) {
return element !== 'objectName'
&& typeof settings[element] !== 'function';
}
).forEach(output.log);
break;
}
case 1: {
Object.keys(settings[args[0]]).filter(
function(element) {
return element !== 'objectName'
&& element !== 'category'
&& typeof settings[args[0]][element] !== 'function';
}
).forEach(output.log);
break;
}
case 2: {
output.log(settings.read(args[0], args[1]));
break;
}
case 3: {
settings.set(args[0], args[1], args[2]);
break;
}
default: {
output.error('Wrong count of arguments.');
break;
}
}
}
function jump(output, index) {
terminalList.selectItem(index);
}
function kill(output, index) {
terminalList.get(index).reset();
}
function next() {
terminalList.selectNext();
}
function prev() {
terminalList.selectPrev();
}
function q() {
Qt.quit();
}
|