@difizen/libro-terminal 0.1.15 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/command.d.ts.map +1 -1
- package/es/command.js +35 -0
- package/es/manager.d.ts +2 -7
- package/es/manager.d.ts.map +1 -1
- package/es/manager.js +6 -0
- package/es/view.d.ts.map +1 -1
- package/es/view.js +2 -0
- package/package.json +4 -4
- package/src/command.ts +19 -0
- package/src/manager.ts +9 -0
- package/src/view.tsx +4 -0
package/es/command.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAU,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAU,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAU3E,CAAC;AAEF,qBACa,2BACX,YAAW,mBAAmB,EAAE,sBAAsB;IAEjC,WAAW,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC;IAClD,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAS1D,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;CAqClD"}
|
package/es/command.js
CHANGED
|
@@ -24,6 +24,10 @@ export var TerminalCommands = {
|
|
|
24
24
|
id: 'libro-terminal-open',
|
|
25
25
|
label: '新建终端',
|
|
26
26
|
keybind: 'ctrl+`'
|
|
27
|
+
},
|
|
28
|
+
CloseTerminal: {
|
|
29
|
+
id: 'libro-terminal-close',
|
|
30
|
+
label: '关闭终端'
|
|
27
31
|
}
|
|
28
32
|
};
|
|
29
33
|
export var TerminalCommandContribution = (_dec = singleton({
|
|
@@ -89,6 +93,37 @@ export var TerminalCommandContribution = (_dec = singleton({
|
|
|
89
93
|
return execute;
|
|
90
94
|
}()
|
|
91
95
|
});
|
|
96
|
+
commands.registerCommand(TerminalCommands['CloseTerminal'], {
|
|
97
|
+
execute: function () {
|
|
98
|
+
var _execute2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(name) {
|
|
99
|
+
var terminalView;
|
|
100
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
101
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
102
|
+
case 0:
|
|
103
|
+
_context2.prev = 0;
|
|
104
|
+
_context2.next = 3;
|
|
105
|
+
return _this.viewManager.getOrCreateView(LibroTerminalView, _this.manager.getTerminalArgs(name));
|
|
106
|
+
case 3:
|
|
107
|
+
terminalView = _context2.sent;
|
|
108
|
+
terminalView.dispose();
|
|
109
|
+
_context2.next = 10;
|
|
110
|
+
break;
|
|
111
|
+
case 7:
|
|
112
|
+
_context2.prev = 7;
|
|
113
|
+
_context2.t0 = _context2["catch"](0);
|
|
114
|
+
console.error(_context2.t0);
|
|
115
|
+
case 10:
|
|
116
|
+
case "end":
|
|
117
|
+
return _context2.stop();
|
|
118
|
+
}
|
|
119
|
+
}, _callee2, null, [[0, 7]]);
|
|
120
|
+
}));
|
|
121
|
+
function execute(_x2) {
|
|
122
|
+
return _execute2.apply(this, arguments);
|
|
123
|
+
}
|
|
124
|
+
return execute;
|
|
125
|
+
}()
|
|
126
|
+
});
|
|
92
127
|
}
|
|
93
128
|
}]);
|
|
94
129
|
return TerminalCommandContribution;
|
package/es/manager.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export declare class TerminalManager implements Disposable, Disposed {
|
|
|
14
14
|
protected _ready: Promise<void>;
|
|
15
15
|
protected _runningChanged: Emitter<TerminalModel[]>;
|
|
16
16
|
protected _connectionFailure: Emitter<Error>;
|
|
17
|
+
terminalOptionsCache: Map<any, any>;
|
|
17
18
|
protected _names: string[];
|
|
18
19
|
protected get _models(): TerminalModel[];
|
|
19
20
|
terminalRestAPI: TerminalRestAPI;
|
|
@@ -102,12 +103,6 @@ export declare class TerminalManager implements Disposable, Disposed {
|
|
|
102
103
|
*/
|
|
103
104
|
protected _onDisposed(terminalConnection: TerminalConnection): void;
|
|
104
105
|
getOrCreate: (options: TerminalOption) => Promise<TerminalConnection>;
|
|
105
|
-
getTerminalArgs: (name?: string) =>
|
|
106
|
-
name: string;
|
|
107
|
-
id?: undefined;
|
|
108
|
-
} | {
|
|
109
|
-
id: string;
|
|
110
|
-
name?: undefined;
|
|
111
|
-
};
|
|
106
|
+
getTerminalArgs: (name?: string) => any;
|
|
112
107
|
}
|
|
113
108
|
//# sourceMappingURL=manager.d.ts.map
|
package/es/manager.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAgB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,EAAE,OAAO,EAAU,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,qBACa,eAAgB,YAAW,UAAU,EAAE,QAAQ;IAC1D,QAAQ,UAAS;IACjB,SAAS,CAAC,QAAQ,UAAS;IAC3B,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC;IAC5B,SAAS,CAAC,oBAAoB,0BAAiC;IAC/D,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,SAAS,CAAC,eAAe,2BAAkC;IAC3D,SAAS,CAAC,kBAAkB,iBAAwB;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAgB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,EAAE,OAAO,EAAU,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,qBACa,eAAgB,YAAW,UAAU,EAAE,QAAQ;IAC1D,QAAQ,UAAS;IACjB,SAAS,CAAC,QAAQ,UAAS;IAC3B,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC;IAC5B,SAAS,CAAC,oBAAoB,0BAAiC;IAC/D,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,SAAS,CAAC,eAAe,2BAAkC;IAC3D,SAAS,CAAC,kBAAkB,iBAAwB;IAGpD,oBAAoB,gBAAa;IAKjC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM;IAEhC,SAAS,KAAK,OAAO,IAAI,aAAa,EAAE,CAIvC;IAEwB,eAAe,EAAE,eAAe,CAAC;IAG1D,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC;;OAEG;gBACmC,gBAAgB,EAAE,gBAAgB;IAwBxE;;OAEG;IACH,IAAI,cAAc,8CAEjB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAEzB;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC,CAE3C;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,KAAK,CAAC,KAAK,CAAC,CAEpC;IAED;;OAEG;IACH,OAAO,IAAI,IAAI;IAoBf,SAAS,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,kBAAkB;IAaxD;;;;OAIG;IACH,OAAO,IAAI,gBAAgB,CAAC,aAAa,CAAC;IAI1C,IAAI,aAAa,aAEhB;IAED;;;;;;;;OAQG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrC;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMpE;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAelC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAOlE;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAQnE,WAAW,YAAmB,cAAc,iCAoB1C;IAGF,eAAe,UAAW,MAAM,SAW9B;CACH"}
|
package/es/manager.js
CHANGED
|
@@ -37,6 +37,8 @@ export var TerminalManager = (_dec = singleton(), _dec2 = prop(), _dec3 = inject
|
|
|
37
37
|
this._terminalConnections = new Set();
|
|
38
38
|
this._runningChanged = new Emitter();
|
|
39
39
|
this._connectionFailure = new Emitter();
|
|
40
|
+
// 缓存创建terminal的参数
|
|
41
|
+
this.terminalOptionsCache = new Map();
|
|
40
42
|
// As an optimization, we unwrap the models to just store the names.
|
|
41
43
|
_initializerDefineProperty(this, "_names", _descriptor, this);
|
|
42
44
|
_initializerDefineProperty(this, "terminalRestAPI", _descriptor2, this);
|
|
@@ -102,6 +104,10 @@ export var TerminalManager = (_dec = singleton(), _dec2 = prop(), _dec3 = inject
|
|
|
102
104
|
}();
|
|
103
105
|
// 新建和打开一个已有Terminal,二者所需参数不一样
|
|
104
106
|
this.getTerminalArgs = function (name) {
|
|
107
|
+
// 通过缓存值作为option创建终端
|
|
108
|
+
if (_this.terminalOptionsCache.has(name)) {
|
|
109
|
+
return _this.terminalOptionsCache.get(name);
|
|
110
|
+
}
|
|
105
111
|
if (name) {
|
|
106
112
|
return {
|
|
107
113
|
name: name
|
package/es/view.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,OAAO,EAUR,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI3C,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAuB5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,eAAO,MAAM,iBAAiB,0FAc5B,CAAC;AAEH,qBAEa,iBAAkB,SAAQ,gBAAgB;IACrD,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChB,IAAI,2FAAqB;IAClC,SAAS,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACtC,SAAS,CAAC,UAAU,UAAS;IAC7B,SAAS,CAAC,WAAW,SAAM;IAC3B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAChD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IACtD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAEpD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,uBAA8B;IAEnE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,mBAA0B;IAC7D,QAAQ,CAAC,SAAS,6CAA+B;IAEjD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,mBAA0B;IAEpE,SAAS,CAAC,QAAQ,CAAC,oBAAoB;cAC/B,MAAM;cACN,MAAM;OACT;IAEL,SAAS,CAAC,QAAQ,CAAC,aAAa,kBAAyB;IAEzD,SAAS,CAAC,QAAQ,CAAC,YAAY;aACxB,MAAM;kBACD,aAAa;OACpB;IAEL,SAAS,CAAC,QAAQ,CAAC,iBAAiB,6BAAoC;IAExE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,kBAAyB;IAEhE,SAAS,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAE1C,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE9B,SAAS,CAAC,QAAQ,UAAS;IAE3B,SAAS,CAAC,cAAc,mBAA0B;gBAG5B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB;IACrC,MAAM,EAAE,oBAAoB,EAC5B,YAAY,EAAE,oBAAoB,EACvC,eAAe,EAAE,eAAe;IAuGlD,YAAY;
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,OAAO,EAUR,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI3C,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAuB5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,eAAO,MAAM,iBAAiB,0FAc5B,CAAC;AAEH,qBAEa,iBAAkB,SAAQ,gBAAgB;IACrD,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChB,IAAI,2FAAqB;IAClC,SAAS,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACtC,SAAS,CAAC,UAAU,UAAS;IAC7B,SAAS,CAAC,WAAW,SAAM;IAC3B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAChD,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IACtD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAEpD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,uBAA8B;IAEnE,SAAS,CAAC,QAAQ,CAAC,gBAAgB,mBAA0B;IAC7D,QAAQ,CAAC,SAAS,6CAA+B;IAEjD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,mBAA0B;IAEpE,SAAS,CAAC,QAAQ,CAAC,oBAAoB;cAC/B,MAAM;cACN,MAAM;OACT;IAEL,SAAS,CAAC,QAAQ,CAAC,aAAa,kBAAyB;IAEzD,SAAS,CAAC,QAAQ,CAAC,YAAY;aACxB,MAAM;kBACD,aAAa;OACpB;IAEL,SAAS,CAAC,QAAQ,CAAC,iBAAiB,6BAAoC;IAExE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,kBAAyB;IAEhE,SAAS,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAE1C,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE9B,SAAS,CAAC,QAAQ,UAAS;IAE3B,SAAS,CAAC,cAAc,mBAA0B;gBAG5B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB;IACrC,MAAM,EAAE,oBAAoB,EAC5B,YAAY,EAAE,oBAAoB,EACvC,eAAe,EAAE,eAAe;IAuGlD,YAAY;IAoBf,cAAc;IAWpB,UAAU,IAAI,MAAM;IAIpB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAO3B,OAAO,IAAI,IAAI;IAYxB,SAAS,CAAC,gBAAgB,oCAGxB;IAEF;;OAEG;IACH,SAAS,CAAC,SAAS,QAAS,eAAe,UAazC;IAEF,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,UAAU;IAkBpD,SAAS,CAAC,cAAc,aAOtB;IAGF,SAAS,CAAC,YAAY;IAStB,SAAS,CAAC,UAAU,aAwBlB;IAEF,SAAS,KAAK,UAAU,IAAI,OAAO,CAElC;IAED,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IAED,SAAS,KAAK,eAAe,IAAI,OAAO,CAEvC;IAED,SAAS,CAAC,gBAAgB,UAAW,aAAa,KAAG,OAAO,CAe1D;IACF;;;OAGG;IACH,SAAS,CAAC,cAAc,QAAO,WAAW,CAGxC;IACF;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,0BACR,MAAM,GAAG,oBAAoB,KACnD,oBAAoB,CAKrB;IAEO,WAAW,IAAI,IAAI;IAInB,aAAa,IAAI,IAAI;IAI9B;;;;;OAKG;IACI,OAAO,QAAa,QAAQ,IAAI,CAAC,CAKtC;IAEF,SAAS,CAAC,cAAc,QAAO,IAAI,CAEjC;IAEF;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;IAcvB,YAAY,QAAO,IAAI,CAoB9B;IAEF,SAAS,CAAC,aAAa,aAGrB;IAEF,SAAS,CAAC,IAAI,QAAO,IAAI,CA2BvB;IAEF,SAAS,CAAC,eAAe,IAAI,OAAO;IAiBpC;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC;IASzE,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAc3C,SAAgB,gBAAgB,6CAAsC;IACtE,SAAgB,aAAa;cA9crB,MAAM;cACN,MAAM;OA6ckD;IAChE,SAAgB,MAAM,4CAA4B;IAClD,SAAgB,KAAK;aAzcd,MAAM;kBACD,aAAa;OAwcuB;IAChD,SAAgB,UAAU,uDAAgC;IAC1D,SAAgB,aAAa,4CAAmC;IAChE;;OAEG;IACH,IAAW,IAAI,WAEd;IAEM,OAAO,6CAA6B;IAE3C;;OAEG;IACI,YAAY,IAAI,OAAO;IAO9B;;OAEG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMhC;;OAEG;IACI,YAAY,IAAI,MAAM,GAAG,IAAI;IAO7B,YAAY,QAAO,IAAI,CAE5B;IAEK,cAAc,QAAO,IAAI,CAE9B;IAEK,WAAW,QAAO,IAAI,CAE3B;IAEK,cAAc,QAAO,IAAI,CAE9B;IAEK,YAAY,QAAO,IAAI,CAE5B;IAEK,cAAc,QAAO,IAAI,CAE9B;IAEK,aAAa,QAAO,IAAI,CAE7B;IAEK,SAAS,SAAU,MAAM,KAAG,IAAI,CAErC;IAEK,KAAK,SAAU,MAAM,GAAG,UAAU,KAAG,IAAI,CAE9C;CACH"}
|
package/es/view.js
CHANGED
|
@@ -391,6 +391,7 @@ export var LibroTerminalView = (_dec = transient(), _dec2 = view('libro-terminal
|
|
|
391
391
|
value: function afterRestore() {
|
|
392
392
|
var _this2 = this;
|
|
393
393
|
this.initConnection().then(function (connection) {
|
|
394
|
+
_this2.terminalManager.terminalOptionsCache.set(connection.name, _this2.options);
|
|
394
395
|
_this2._isReady = true;
|
|
395
396
|
_this2.connection = connection;
|
|
396
397
|
_this2.onReadyEmitter.fire(true);
|
|
@@ -464,6 +465,7 @@ export var LibroTerminalView = (_dec = transient(), _dec2 = view('libro-terminal
|
|
|
464
465
|
console.error("Terminal not shut down: ".concat(reason));
|
|
465
466
|
});
|
|
466
467
|
}
|
|
468
|
+
this.terminalManager.terminalOptionsCache.delete(this.name);
|
|
467
469
|
_get(_getPrototypeOf(LibroTerminalView.prototype), "dispose", this).call(this);
|
|
468
470
|
}
|
|
469
471
|
}, {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@difizen/libro-terminal",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"libro"
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"src"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@difizen/libro-core": "^0.1.
|
|
35
|
-
"@difizen/libro-common": "^0.1.
|
|
36
|
-
"@difizen/libro-kernel": "^0.1.
|
|
34
|
+
"@difizen/libro-core": "^0.1.16",
|
|
35
|
+
"@difizen/libro-common": "^0.1.16",
|
|
36
|
+
"@difizen/libro-kernel": "^0.1.16",
|
|
37
37
|
"@ant-design/icons": "^5.1.0",
|
|
38
38
|
"@difizen/mana-app": "latest",
|
|
39
39
|
"lodash.throttle": "^4.1.1",
|
package/src/command.ts
CHANGED
|
@@ -15,6 +15,10 @@ export const TerminalCommands: Record<string, Command & { keybind?: string }> =
|
|
|
15
15
|
label: '新建终端',
|
|
16
16
|
keybind: 'ctrl+`',
|
|
17
17
|
},
|
|
18
|
+
CloseTerminal: {
|
|
19
|
+
id: 'libro-terminal-close',
|
|
20
|
+
label: '关闭终端',
|
|
21
|
+
},
|
|
18
22
|
};
|
|
19
23
|
|
|
20
24
|
@singleton({ contrib: [CommandContribution, KeybindingContribution] })
|
|
@@ -55,5 +59,20 @@ export class TerminalCommandContribution
|
|
|
55
59
|
}
|
|
56
60
|
},
|
|
57
61
|
});
|
|
62
|
+
commands.registerCommand(TerminalCommands['CloseTerminal'], {
|
|
63
|
+
execute: async (name: string) => {
|
|
64
|
+
try {
|
|
65
|
+
const terminalView =
|
|
66
|
+
await this.viewManager.getOrCreateView<LibroTerminalView>(
|
|
67
|
+
LibroTerminalView,
|
|
68
|
+
this.manager.getTerminalArgs(name),
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
terminalView.dispose();
|
|
72
|
+
} catch (e) {
|
|
73
|
+
console.error(e);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
});
|
|
58
77
|
}
|
|
59
78
|
}
|
package/src/manager.ts
CHANGED
|
@@ -23,6 +23,10 @@ export class TerminalManager implements Disposable, Disposed {
|
|
|
23
23
|
protected _ready: Promise<void>;
|
|
24
24
|
protected _runningChanged = new Emitter<TerminalModel[]>();
|
|
25
25
|
protected _connectionFailure = new Emitter<Error>();
|
|
26
|
+
|
|
27
|
+
// 缓存创建terminal的参数
|
|
28
|
+
terminalOptionsCache = new Map();
|
|
29
|
+
|
|
26
30
|
// As an optimization, we unwrap the models to just store the names.
|
|
27
31
|
|
|
28
32
|
@prop()
|
|
@@ -295,6 +299,11 @@ export class TerminalManager implements Disposable, Disposed {
|
|
|
295
299
|
|
|
296
300
|
// 新建和打开一个已有Terminal,二者所需参数不一样
|
|
297
301
|
getTerminalArgs = (name?: string) => {
|
|
302
|
+
// 通过缓存值作为option创建终端
|
|
303
|
+
if (this.terminalOptionsCache.has(name)) {
|
|
304
|
+
return this.terminalOptionsCache.get(name);
|
|
305
|
+
}
|
|
306
|
+
|
|
298
307
|
if (name) {
|
|
299
308
|
return { name: name };
|
|
300
309
|
} else {
|
package/src/view.tsx
CHANGED
|
@@ -222,6 +222,7 @@ export class LibroTerminalView extends BaseStatefulView {
|
|
|
222
222
|
override afterRestore() {
|
|
223
223
|
this.initConnection()
|
|
224
224
|
.then((connection) => {
|
|
225
|
+
this.terminalManager.terminalOptionsCache.set(connection.name, this.options);
|
|
225
226
|
this._isReady = true;
|
|
226
227
|
this.connection = connection;
|
|
227
228
|
this.onReadyEmitter.fire(true);
|
|
@@ -266,6 +267,9 @@ export class LibroTerminalView extends BaseStatefulView {
|
|
|
266
267
|
console.error(`Terminal not shut down: ${reason}`);
|
|
267
268
|
});
|
|
268
269
|
}
|
|
270
|
+
|
|
271
|
+
this.terminalManager.terminalOptionsCache.delete(this.name);
|
|
272
|
+
|
|
269
273
|
super.dispose();
|
|
270
274
|
}
|
|
271
275
|
|