@opensumi/ide-terminal-next 2.13.6 → 2.13.7-next-1640751253.0
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/LICENSE +21 -0
- package/lib/browser/component/terminal.widget.d.ts.map +1 -1
- package/lib/browser/component/terminal.widget.js +2 -0
- package/lib/browser/component/terminal.widget.js.map +1 -1
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +5 -0
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/links/external-link-provider-adapter.d.ts +5 -2
- package/lib/browser/links/external-link-provider-adapter.d.ts.map +1 -1
- package/lib/browser/links/external-link-provider-adapter.js +24 -4
- package/lib/browser/links/external-link-provider-adapter.js.map +1 -1
- package/lib/browser/links/link-manager.d.ts +33 -4
- package/lib/browser/links/link-manager.d.ts.map +1 -1
- package/lib/browser/links/link-manager.js +82 -3
- package/lib/browser/links/link-manager.js.map +1 -1
- package/lib/browser/links/link.d.ts +8 -3
- package/lib/browser/links/link.d.ts.map +1 -1
- package/lib/browser/links/link.js +50 -5
- package/lib/browser/links/link.js.map +1 -1
- package/lib/browser/links/protocol-link-provider.d.ts +5 -2
- package/lib/browser/links/protocol-link-provider.d.ts.map +1 -1
- package/lib/browser/links/protocol-link-provider.js +24 -4
- package/lib/browser/links/protocol-link-provider.js.map +1 -1
- package/lib/browser/links/validated-local-link-provider.d.ts +5 -3
- package/lib/browser/links/validated-local-link-provider.d.ts.map +1 -1
- package/lib/browser/links/validated-local-link-provider.js +24 -4
- package/lib/browser/links/validated-local-link-provider.js.map +1 -1
- package/lib/browser/terminal.addon.d.ts +1 -1
- package/lib/browser/terminal.addon.d.ts.map +1 -1
- package/lib/browser/terminal.addon.js +5 -5
- package/lib/browser/terminal.addon.js.map +1 -1
- package/lib/browser/terminal.client.d.ts +4 -1
- package/lib/browser/terminal.client.d.ts.map +1 -1
- package/lib/browser/terminal.client.js +55 -21
- package/lib/browser/terminal.client.js.map +1 -1
- package/lib/browser/terminal.controller.js.map +1 -1
- package/lib/browser/terminal.hover.manager.d.ts +13 -0
- package/lib/browser/terminal.hover.manager.d.ts.map +1 -0
- package/lib/browser/terminal.hover.manager.js +83 -0
- package/lib/browser/terminal.hover.manager.js.map +1 -0
- package/lib/browser/terminal.service.d.ts +17 -9
- package/lib/browser/terminal.service.d.ts.map +1 -1
- package/lib/browser/terminal.service.js +119 -43
- package/lib/browser/terminal.service.js.map +1 -1
- package/lib/common/client.d.ts +2 -0
- package/lib/common/client.d.ts.map +1 -1
- package/lib/common/client.js.map +1 -1
- package/lib/common/controller.d.ts +5 -0
- package/lib/common/controller.d.ts.map +1 -1
- package/lib/common/controller.js +2 -1
- package/lib/common/controller.js.map +1 -1
- package/lib/common/error.d.ts +1 -0
- package/lib/common/error.d.ts.map +1 -1
- package/lib/common/error.js +5 -1
- package/lib/common/error.js.map +1 -1
- package/lib/common/extension.d.ts +2 -0
- package/lib/common/extension.d.ts.map +1 -1
- package/lib/common/pty.d.ts +82 -23
- package/lib/common/pty.d.ts.map +1 -1
- package/lib/common/pty.js +2 -1
- package/lib/common/pty.js.map +1 -1
- package/lib/common/service.d.ts +5 -8
- package/lib/common/service.d.ts.map +1 -1
- package/lib/common/service.js.map +1 -1
- package/lib/common/shell.d.ts +1 -0
- package/lib/common/shell.d.ts.map +1 -1
- package/lib/common/shell.js +2 -2
- package/lib/common/shell.js.map +1 -1
- package/lib/common/utils.d.ts +1 -1
- package/lib/common/utils.d.ts.map +1 -1
- package/lib/common/utils.js +3 -3
- package/lib/common/utils.js.map +1 -1
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +5 -0
- package/lib/node/index.js.map +1 -1
- package/lib/node/pty.d.ts +12 -5
- package/lib/node/pty.d.ts.map +1 -1
- package/lib/node/pty.js +88 -13
- package/lib/node/pty.js.map +1 -1
- package/lib/node/shell.d.ts +8 -0
- package/lib/node/shell.d.ts.map +1 -1
- package/lib/node/shell.js +90 -1
- package/lib/node/shell.js.map +1 -1
- package/lib/node/terminal.service.client.d.ts +20 -7
- package/lib/node/terminal.service.client.d.ts.map +1 -1
- package/lib/node/terminal.service.client.js +62 -18
- package/lib/node/terminal.service.client.js.map +1 -1
- package/lib/node/terminal.service.d.ts +5 -3
- package/lib/node/terminal.service.d.ts.map +1 -1
- package/lib/node/terminal.service.js +45 -25
- package/lib/node/terminal.service.js.map +1 -1
- package/package.json +18 -17
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2019-present Alibaba Group Holding Limited, Ant Technology Group.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.widget.d.ts","sourceRoot":"","sources":["../../../src/browser/component/terminal.widget.tsx"],"names":[],"mappings":";AAEA,OAAO,EAA6B,OAAO,EAAE,cAAc,EAAyB,MAAM,cAAc,CAAC;AAIzG,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;CACnC;
|
|
1
|
+
{"version":3,"file":"terminal.widget.d.ts","sourceRoot":"","sources":["../../../src/browser/component/terminal.widget.tsx"],"names":[],"mappings":";AAEA,OAAO,EAA6B,OAAO,EAAE,cAAc,EAAyB,MAAM,cAAc,CAAC;AAIzG,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;CACnC;kDAiCwC,MAAM;AAA/C,wBAmCE"}
|
|
@@ -12,6 +12,8 @@ function renderError(error, eService, view) {
|
|
|
12
12
|
const onRetryClick = () => {
|
|
13
13
|
eService.fix(error.id);
|
|
14
14
|
};
|
|
15
|
+
// TODO: 展示要打开的地址不存在等错误情况 + Terminal 之前的最后几行信息
|
|
16
|
+
// 比如说 TerminalError 有几个已知的错误 code
|
|
15
17
|
return error.stopped ? (react_1.default.createElement("div", { className: terminal_module_less_1.default.terminalCover },
|
|
16
18
|
react_1.default.createElement("div", null, (0, ide_core_browser_1.localize)('terminal.disconnected')),
|
|
17
19
|
react_1.default.createElement("div", null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.widget.js","sourceRoot":"","sources":["../../../src/browser/component/terminal.widget.tsx"],"names":[],"mappings":";;;AAAA,+DAA0B;AAC1B,iEAAqE;AACrE,yCAAyG;AAEzG,+FAA4C;AAQ5C,SAAS,WAAW,CAAC,KAAqB,EAAE,QAA+B,EAAE,IAA+B;IAC1G,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CACrB,uCAAK,SAAS,EAAE,8BAAM,CAAC,aAAa;QAClC,2CAAM,IAAA,2BAAQ,EAAC,uBAAuB,CAAC,CAAO;QAC9C;YACG,IAAA,2BAAQ,EAAC,4BAA4B,CAAC;YACvC,qCAAG,OAAO,EAAE,YAAY,IAAG,IAAA,2BAAQ,EAAC,wBAAwB,CAAC,CAAK,CAC9D,CACF,CACP,CAAC,CAAC,CAAC,CACF,uCAAK,SAAS,EAAE,8BAAM,CAAC,aAAa;QAClC,2CAAM,IAAA,2BAAQ,EAAC,uBAAuB,CAAC,CAAO;QAC9C;YACE,qCAAG,OAAO,EAAE,aAAa,IAAG,IAAA,2BAAQ,EAAC,eAAe,CAAC,CAAK;YACzD,IAAA,2BAAQ,EAAC,aAAa,CAAC;YACxB,qCAAG,OAAO,EAAE,YAAY,IAAG,IAAA,2BAAQ,EAAC,wBAAwB,CAAC,CAAK,CAC9D,CACF,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAU,EAAE,EAAE;IACjD,MAAM,OAAO,GAAG,eAAK,CAAC,SAAS,EAAkB,CAAC;IAClD,MAAM,YAAY,GAAG,IAAA,gCAAa,EAAwB,8BAAqB,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,IAAA,gCAAa,EAA4B,kCAAyB,CAAC,CAAC;IAEjF,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAClC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACzB,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAEd,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,OAAO,CACL,uCAAK,SAAS,EAAE,8BAAM,CAAC,iBAAiB;QACrC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QACtD,uDACgB,MAAM,CAAC,EAAE,EACvB,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EAC5C,SAAS,EAAE,8BAAM,CAAC,eAAe,EACjC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,OAAO,GACP,CACH,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"terminal.widget.js","sourceRoot":"","sources":["../../../src/browser/component/terminal.widget.tsx"],"names":[],"mappings":";;;AAAA,+DAA0B;AAC1B,iEAAqE;AACrE,yCAAyG;AAEzG,+FAA4C;AAQ5C,SAAS,WAAW,CAAC,KAAqB,EAAE,QAA+B,EAAE,IAA+B;IAC1G,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,8CAA8C;IAC9C,kCAAkC;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CACrB,uCAAK,SAAS,EAAE,8BAAM,CAAC,aAAa;QAClC,2CAAM,IAAA,2BAAQ,EAAC,uBAAuB,CAAC,CAAO;QAC9C;YACG,IAAA,2BAAQ,EAAC,4BAA4B,CAAC;YACvC,qCAAG,OAAO,EAAE,YAAY,IAAG,IAAA,2BAAQ,EAAC,wBAAwB,CAAC,CAAK,CAC9D,CACF,CACP,CAAC,CAAC,CAAC,CACF,uCAAK,SAAS,EAAE,8BAAM,CAAC,aAAa;QAClC,2CAAM,IAAA,2BAAQ,EAAC,uBAAuB,CAAC,CAAO;QAC9C;YACE,qCAAG,OAAO,EAAE,aAAa,IAAG,IAAA,2BAAQ,EAAC,eAAe,CAAC,CAAK;YACzD,IAAA,2BAAQ,EAAC,aAAa,CAAC;YACxB,qCAAG,OAAO,EAAE,YAAY,IAAG,IAAA,2BAAQ,EAAC,wBAAwB,CAAC,CAAK,CAC9D,CACF,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAU,EAAE,EAAE;IACjD,MAAM,OAAO,GAAG,eAAK,CAAC,SAAS,EAAkB,CAAC;IAClD,MAAM,YAAY,GAAG,IAAA,gCAAa,EAAwB,8BAAqB,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,IAAA,gCAAa,EAA4B,kCAAyB,CAAC,CAAC;IAEjF,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAClC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACzB,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAEd,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,OAAO,CACL,uCAAK,SAAS,EAAE,8BAAM,CAAC,iBAAiB;QACrC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QACtD,uDACgB,MAAM,CAAC,EAAE,EACvB,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,EAC5C,SAAS,EAAE,8BAAM,CAAC,eAAe,EACjC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,OAAO,GACP,CACH,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AA6C3D,qBACa,kBAAmB,SAAQ,aAAa;IACnD,SAAS,EAAE,QAAQ,EAAE,CAoEnB;IAEF,YAAY;;;QASV;CACH"}
|
package/lib/browser/index.js
CHANGED
|
@@ -14,6 +14,7 @@ const terminal_restore_1 = require("./terminal.restore");
|
|
|
14
14
|
const terminal_client_1 = require("./terminal.client");
|
|
15
15
|
const terminal_api_1 = require("./terminal.api");
|
|
16
16
|
const terminal_search_1 = require("./terminal.search");
|
|
17
|
+
const terminal_hover_manager_1 = require("./terminal.hover.manager");
|
|
17
18
|
const terminal_view_1 = require("./terminal.view");
|
|
18
19
|
const terminal_error_1 = require("./terminal.error");
|
|
19
20
|
const terminal_preference_1 = require("./terminal.preference");
|
|
@@ -47,6 +48,10 @@ let TerminalNextModule = class TerminalNextModule extends ide_core_browser_1.Bro
|
|
|
47
48
|
token: common_1.ITerminalSearchService,
|
|
48
49
|
useClass: terminal_search_1.TerminalSearchService,
|
|
49
50
|
},
|
|
51
|
+
{
|
|
52
|
+
token: common_1.ITerminalHoverManagerService,
|
|
53
|
+
useClass: terminal_hover_manager_1.TerminalHoverManagerService,
|
|
54
|
+
},
|
|
50
55
|
{
|
|
51
56
|
token: common_1.ITerminalGroupViewService,
|
|
52
57
|
useClass: terminal_view_1.TerminalGroupViewService,
|
package/lib/browser/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAoD;AACpD,iEAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":";;;;AAAA,qCAAoD;AACpD,iEAA2D;AAC3D,sCAkBmB;AACnB,qDAA2D;AAC3D,iDAOwB;AACxB,+DAA2D;AAC3D,qDAAiD;AACjD,yDAAqF;AACrF,yDAAqD;AACrD,uDAA0D;AAC1D,iDAAoD;AACpD,uDAA0D;AAC1D,qEAAuE;AACvE,mDAA2D;AAC3D,qDAAwD;AACxD,+DAA2D;AAC3D,uDAA2D;AAC3D,yDAA4D;AAC5D,uEAAgF;AAChF,iFAA4E;AAG5E,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,gCAAa;IAArD;;QACE,cAAS,GAAe;YACtB,4CAA6B;YAC7B,yCAA0B;YAC1B,0CAA2B;YAC3B,uCAAwB;YACxB,8CAA+B;YAC/B,0CAA2B;YAC3B;gBACE,KAAK,EAAE,4BAAmB;gBAC1B,QAAQ,EAAE,iCAAkB;aAC7B;YACD;gBACE,KAAK,EAAE,4BAAmB;gBAC1B,QAAQ,EAAE,wCAAkB;aAC7B;YACD;gBACE,KAAK,EAAE,uBAAc;gBACrB,QAAQ,EAAE,8BAAa;aACxB;YACD;gBACE,KAAK,EAAE,+BAAsB;gBAC7B,QAAQ,EAAE,uCAAqB;aAChC;YACD;gBACE,KAAK,EAAE,qCAA4B;gBACnC,QAAQ,EAAE,oDAA2B;aACtC;YACD;gBACE,KAAK,EAAE,kCAAyB;gBAChC,QAAQ,EAAE,wCAAwB;aACnC;YACD;gBACE,KAAK,EAAE,8BAAqB;gBAC5B,QAAQ,EAAE,qCAAoB;aAC/B;YACD;gBACE,KAAK,EAAE,yBAAgB;gBACvB,QAAQ,EAAE,yCAAsB;aACjC;YACD;gBACE,KAAK,EAAE,iCAAwB;gBAC/B,QAAQ,EAAE,0CAAuB;aAClC;YACD;gBACE,KAAK,EAAE,yBAAgB;gBACvB,QAAQ,EAAE,kCAAe;aAC1B;YACD;gBACE,KAAK,EAAE,gCAAmB;gBAC1B,QAAQ,EAAE,wCAAkB;aAC7B;YACD;gBACE,KAAK,EAAE,gCAAuB;gBAC9B,QAAQ,EAAE,wCAAsB;aACjC;YACD;gBACE,KAAK,EAAE,+BAAsB;gBAC7B,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAe,EAAE,OAAyB,EAAE,EAAE,CACvE,uCAAqB,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;aAChE;YACD;gBACE,KAAK,EAAE,yBAAgB;gBACvB,QAAQ,EAAE,yCAAsB;aACjC;YACD;gBACE,KAAK,EAAE,qDAA+B;gBACtC,QAAQ,EAAE,yDAA0B;aACrC;SACF,CAAC;QAEF,iBAAY,GAAG;YACb;gBACE,WAAW,EAAE,6BAAoB;gBACjC,WAAW,EAAE,yBAAgB;aAC9B;YACD;gBACE,WAAW,EAAE,6BAAoB;gBACjC,WAAW,EAAE,qDAA+B;aAC7C;SACF,CAAC;IACJ,CAAC;CAAA,CAAA;AAjFY,kBAAkB;IAD9B,IAAA,eAAU,GAAE;GACA,kBAAkB,CAiF9B;AAjFY,gDAAkB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { Terminal } from 'xterm';
|
|
1
|
+
import type { Terminal, IViewportRange } from 'xterm';
|
|
2
|
+
import { IDisposable } from '@opensumi/ide-core-common';
|
|
2
3
|
import { TerminalLink } from './link';
|
|
3
4
|
import { TerminalBaseLinkProvider } from './base';
|
|
4
5
|
import { ITerminalExternalLinkProvider, ITerminalClient } from '../../common';
|
|
@@ -12,7 +13,9 @@ export declare class TerminalExternalLinkProviderAdapter extends TerminalBaseLin
|
|
|
12
13
|
private readonly _instance;
|
|
13
14
|
private readonly _externalLinkProvider;
|
|
14
15
|
private readonly _wrapLinkHandler;
|
|
15
|
-
|
|
16
|
+
private readonly _tooltipCallback;
|
|
17
|
+
private readonly injector;
|
|
18
|
+
constructor(_xterm: Terminal, _instance: ITerminalClient, _externalLinkProvider: ITerminalExternalLinkProvider, _wrapLinkHandler: (handler: (event: MouseEvent | undefined, link: string) => void) => XtermLinkMatcherHandler, _tooltipCallback: (link: TerminalLink, viewportRange: IViewportRange, modifierDownCallback?: () => void, modifierUpCallback?: () => void) => IDisposable);
|
|
16
19
|
protected _provideLinks(y: number): Promise<TerminalLink[]>;
|
|
17
20
|
}
|
|
18
21
|
//# sourceMappingURL=external-link-provider-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-link-provider-adapter.d.ts","sourceRoot":"","sources":["../../../src/browser/links/external-link-provider-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"external-link-provider-adapter.d.ts","sourceRoot":"","sources":["../../../src/browser/links/external-link-provider-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAe,cAAc,EAAE,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;GAGG;AACH,qBACa,mCAAoC,SAAQ,wBAAwB;IAK7E,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAGjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IATnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;gBAGjB,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,eAAe,EAC1B,qBAAqB,EAAE,6BAA6B,EACpD,gBAAgB,EAAE,CACjC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,KAC3D,uBAAuB,EACX,gBAAgB,EAAE,CACjC,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,cAAc,EAC7B,oBAAoB,CAAC,EAAE,MAAM,IAAI,EACjC,kBAAkB,CAAC,EAAE,MAAM,IAAI,KAC5B,WAAW;cAKF,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAqDlE"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TerminalExternalLinkProviderAdapter = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const di_1 = require("@opensumi/di");
|
|
4
6
|
const helpers_1 = require("./helpers");
|
|
5
7
|
const link_1 = require("./link");
|
|
6
8
|
const base_1 = require("./base");
|
|
@@ -8,13 +10,14 @@ const base_1 = require("./base");
|
|
|
8
10
|
* An adapter to convert a simple external link provider into an internal link provider that
|
|
9
11
|
* manages link lifecycle, hovers, etc. and gets registered in xterm.js.
|
|
10
12
|
*/
|
|
11
|
-
class TerminalExternalLinkProviderAdapter extends base_1.TerminalBaseLinkProvider {
|
|
12
|
-
constructor(_xterm, _instance, _externalLinkProvider, _wrapLinkHandler) {
|
|
13
|
+
let TerminalExternalLinkProviderAdapter = class TerminalExternalLinkProviderAdapter extends base_1.TerminalBaseLinkProvider {
|
|
14
|
+
constructor(_xterm, _instance, _externalLinkProvider, _wrapLinkHandler, _tooltipCallback) {
|
|
13
15
|
super();
|
|
14
16
|
this._xterm = _xterm;
|
|
15
17
|
this._instance = _instance;
|
|
16
18
|
this._externalLinkProvider = _externalLinkProvider;
|
|
17
19
|
this._wrapLinkHandler = _wrapLinkHandler;
|
|
20
|
+
this._tooltipCallback = _tooltipCallback;
|
|
18
21
|
}
|
|
19
22
|
async _provideLinks(y) {
|
|
20
23
|
var _a, _b;
|
|
@@ -46,9 +49,26 @@ class TerminalExternalLinkProviderAdapter extends base_1.TerminalBaseLinkProvide
|
|
|
46
49
|
}, startLine);
|
|
47
50
|
const matchingText = lineContent.substr(link.startIndex, link.length) || '';
|
|
48
51
|
const activateLink = this._wrapLinkHandler((_, text) => link.activate(text));
|
|
49
|
-
return
|
|
52
|
+
return this.injector.get(link_1.TerminalLink, [
|
|
53
|
+
this._xterm,
|
|
54
|
+
bufferRange,
|
|
55
|
+
matchingText,
|
|
56
|
+
this._xterm.buffer.active.viewportY,
|
|
57
|
+
activateLink,
|
|
58
|
+
this._tooltipCallback,
|
|
59
|
+
true,
|
|
60
|
+
link.label,
|
|
61
|
+
]);
|
|
50
62
|
});
|
|
51
63
|
}
|
|
52
|
-
}
|
|
64
|
+
};
|
|
65
|
+
(0, tslib_1.__decorate)([
|
|
66
|
+
(0, di_1.Autowired)(di_1.INJECTOR_TOKEN),
|
|
67
|
+
(0, tslib_1.__metadata)("design:type", di_1.Injector)
|
|
68
|
+
], TerminalExternalLinkProviderAdapter.prototype, "injector", void 0);
|
|
69
|
+
TerminalExternalLinkProviderAdapter = (0, tslib_1.__decorate)([
|
|
70
|
+
(0, di_1.Injectable)({ multiple: true }),
|
|
71
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Function, Object, Object, Function, Function])
|
|
72
|
+
], TerminalExternalLinkProviderAdapter);
|
|
53
73
|
exports.TerminalExternalLinkProviderAdapter = TerminalExternalLinkProviderAdapter;
|
|
54
74
|
//# sourceMappingURL=external-link-provider-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-link-provider-adapter.js","sourceRoot":"","sources":["../../../src/browser/links/external-link-provider-adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"external-link-provider-adapter.js","sourceRoot":"","sources":["../../../src/browser/links/external-link-provider-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Terminal } from 'xterm';
|
|
1
|
+
import { Terminal, IViewportRange } from 'xterm';
|
|
2
2
|
import { Disposable, IDisposable } from '@opensumi/ide-core-common';
|
|
3
3
|
import { ITerminalClient, ITerminalExternalLinkProvider } from '../../common';
|
|
4
4
|
import { TerminalClient } from '../terminal.client';
|
|
@@ -9,6 +9,29 @@ export interface ITextEditorSelection {
|
|
|
9
9
|
readonly endLineNumber?: number;
|
|
10
10
|
readonly endColumn?: number;
|
|
11
11
|
}
|
|
12
|
+
export interface ILinkHoverTargetOptions {
|
|
13
|
+
readonly viewportRange: IViewportRange;
|
|
14
|
+
readonly cellDimensions: {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
};
|
|
18
|
+
readonly terminalDimensions: {
|
|
19
|
+
width: number;
|
|
20
|
+
height: number;
|
|
21
|
+
};
|
|
22
|
+
readonly boundingClientRect: {
|
|
23
|
+
bottom: number;
|
|
24
|
+
height: number;
|
|
25
|
+
left: number;
|
|
26
|
+
right: number;
|
|
27
|
+
top: number;
|
|
28
|
+
width: number;
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
};
|
|
32
|
+
readonly modifierDownCallback?: () => void;
|
|
33
|
+
readonly modifierUpCallback?: () => void;
|
|
34
|
+
}
|
|
12
35
|
/**
|
|
13
36
|
* An object responsible for managing registration of link matchers and link providers.
|
|
14
37
|
*/
|
|
@@ -18,14 +41,19 @@ export declare class TerminalLinkManager extends Disposable {
|
|
|
18
41
|
private _processCwd;
|
|
19
42
|
private _standardLinkProviders;
|
|
20
43
|
private _standardLinkProvidersDisposables;
|
|
21
|
-
private
|
|
22
|
-
private
|
|
23
|
-
private
|
|
44
|
+
private readonly injector;
|
|
45
|
+
private readonly _editorService;
|
|
46
|
+
private readonly _openerService;
|
|
47
|
+
private readonly _fileService;
|
|
24
48
|
private readonly _fileSystem;
|
|
49
|
+
private readonly preferenceService;
|
|
50
|
+
private readonly _hoverManager;
|
|
25
51
|
private _getHomeDirPromise;
|
|
26
52
|
constructor(_xterm: Terminal, _client: TerminalClient);
|
|
27
53
|
set processCwd(processCwd: string);
|
|
28
54
|
private _registerStandardLinkProviders;
|
|
55
|
+
private _tooltipCallback;
|
|
56
|
+
private _showHover;
|
|
29
57
|
registerExternalLinkProvider(instance: ITerminalClient, linkProvider: ITerminalExternalLinkProvider): IDisposable;
|
|
30
58
|
protected _wrapLinkHandler(handler: (event: MouseEvent | undefined, link: string) => void): XtermLinkMatcherHandler;
|
|
31
59
|
protected get _localLinkRegex(): RegExp;
|
|
@@ -34,6 +62,7 @@ export declare class TerminalLinkManager extends Disposable {
|
|
|
34
62
|
private _handleProtocolLink;
|
|
35
63
|
protected _isLinkActivationModifierDown(event: MouseEvent): boolean;
|
|
36
64
|
private get osPath();
|
|
65
|
+
private _getLinkHoverString;
|
|
37
66
|
/**
|
|
38
67
|
* 获取用户目录
|
|
39
68
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/links/link-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAiB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"link-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/links/link-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAiB,cAAc,EAAE,MAAM,OAAO,CAAC;AAEhE,OAAO,EAEL,UAAU,EACV,WAAW,EAKZ,MAAM,2BAA2B,CAAC;AAmBnC,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAgC,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,oBAAY,uBAAuB,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAErG,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,kBAAkB,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IACF,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1C;AAED;;GAEG;AACH,qBACa,mBAAoB,SAAQ,UAAU;IA4BrC,OAAO,CAAC,MAAM;IAAY,OAAO,CAAC,OAAO;IA3BrD,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,sBAAsB,CAAuB;IACrD,OAAO,CAAC,iCAAiC,CAA8B;IAGvE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAGpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IAGxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAGhD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAGlD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAGjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAGtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAE7D,OAAO,CAAC,kBAAkB,CAAkB;gBAExB,MAAM,EAAE,QAAQ,EAAU,OAAO,EAAE,cAAc;IA2BrE,IAAW,UAAU,CAAC,UAAU,EAAE,MAAM,EAEvC;IAED,OAAO,CAAC,8BAA8B;IAQtC,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,UAAU;IAYX,4BAA4B,CACjC,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,6BAA6B,GAC1C,WAAW;IAcd,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,uBAAuB;IAenH,SAAS,KAAK,eAAe,IAAI,MAAM,CAItC;YAEa,gBAAgB;IAgB9B,OAAO,CAAC,oBAAoB;YAId,mBAAmB;IAmBjC,SAAS,CAAC,6BAA6B,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAInE,OAAO,KAAK,MAAM,GAKjB;IAED,OAAO,CAAC,mBAAmB;IAwB3B;;OAEG;YACW,eAAe;IAS7B,OAAO,CAAC,mBAAmB;cAOX,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAmCvD,YAAY;IAuB1B;;;;OAIG;IACI,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IA8B1D;;;;OAIG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAOnD;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -13,6 +13,7 @@ const common_1 = require("@opensumi/ide-editor/lib/common");
|
|
|
13
13
|
const protocol_link_provider_1 = require("./protocol-link-provider");
|
|
14
14
|
const validated_local_link_provider_1 = require("./validated-local-link-provider");
|
|
15
15
|
const external_link_provider_adapter_1 = require("./external-link-provider-adapter");
|
|
16
|
+
const common_2 = require("../../common");
|
|
16
17
|
const terminal_client_1 = require("../terminal.client");
|
|
17
18
|
/**
|
|
18
19
|
* An object responsible for managing registration of link matchers and link providers.
|
|
@@ -26,11 +27,22 @@ let TerminalLinkManager = class TerminalLinkManager extends ide_core_common_1.Di
|
|
|
26
27
|
this._standardLinkProvidersDisposables = new ide_core_common_1.DisposableCollection();
|
|
27
28
|
// Protocol links
|
|
28
29
|
const wrappedActivateCallback = this._wrapLinkHandler((_, link) => this._handleProtocolLink(link));
|
|
29
|
-
const protocolProvider =
|
|
30
|
+
const protocolProvider = this.injector.get(protocol_link_provider_1.TerminalProtocolLinkProvider, [
|
|
31
|
+
this._xterm,
|
|
32
|
+
wrappedActivateCallback,
|
|
33
|
+
this._tooltipCallback.bind(this),
|
|
34
|
+
]);
|
|
30
35
|
this._standardLinkProviders.push(protocolProvider);
|
|
31
36
|
// Validated local links
|
|
32
37
|
const wrappedTextLinkActivateCallback = this._wrapLinkHandler((_, link) => this._handleLocalLink(link));
|
|
33
|
-
const validatedProvider =
|
|
38
|
+
const validatedProvider = this.injector.get(validated_local_link_provider_1.TerminalValidatedLocalLinkProvider, [
|
|
39
|
+
this._xterm,
|
|
40
|
+
this._client,
|
|
41
|
+
wrappedTextLinkActivateCallback,
|
|
42
|
+
this._wrapLinkHandler.bind(this),
|
|
43
|
+
this._tooltipCallback.bind(this),
|
|
44
|
+
async (link, cb) => cb(await this._resolvePath(link)),
|
|
45
|
+
]);
|
|
34
46
|
this._standardLinkProviders.push(validatedProvider);
|
|
35
47
|
this._registerStandardLinkProviders();
|
|
36
48
|
}
|
|
@@ -44,8 +56,40 @@ let TerminalLinkManager = class TerminalLinkManager extends ide_core_common_1.Di
|
|
|
44
56
|
this._standardLinkProvidersDisposables.push(this._xterm.registerLinkProvider(p));
|
|
45
57
|
}
|
|
46
58
|
}
|
|
59
|
+
_tooltipCallback(link, viewportRange, modifierDownCallback, modifierUpCallback) {
|
|
60
|
+
const core = this._xterm._core;
|
|
61
|
+
const cellDimensions = {
|
|
62
|
+
width: core._renderService.dimensions.actualCellWidth,
|
|
63
|
+
height: core._renderService.dimensions.actualCellHeight,
|
|
64
|
+
};
|
|
65
|
+
const terminalDimensions = {
|
|
66
|
+
width: this._xterm.cols,
|
|
67
|
+
height: this._xterm.rows,
|
|
68
|
+
};
|
|
69
|
+
const boundingClientRect = core.element.getBoundingClientRect();
|
|
70
|
+
// Don't pass the mouse event as this avoids the modifier check
|
|
71
|
+
return this._showHover({
|
|
72
|
+
viewportRange,
|
|
73
|
+
cellDimensions,
|
|
74
|
+
terminalDimensions,
|
|
75
|
+
boundingClientRect,
|
|
76
|
+
modifierDownCallback,
|
|
77
|
+
modifierUpCallback,
|
|
78
|
+
}, this._getLinkHoverString(link.text, link.label), (text) => link.activate(undefined, text), link);
|
|
79
|
+
}
|
|
80
|
+
_showHover(targetOptions, text, linkHandler, link) {
|
|
81
|
+
const attached = this._hoverManager.showHover(targetOptions, text, linkHandler);
|
|
82
|
+
link === null || link === void 0 ? void 0 : link.onInvalidated(() => attached.dispose());
|
|
83
|
+
return ide_core_common_1.Disposable.create(() => attached.dispose());
|
|
84
|
+
}
|
|
47
85
|
registerExternalLinkProvider(instance, linkProvider) {
|
|
48
|
-
const wrappedLinkProvider =
|
|
86
|
+
const wrappedLinkProvider = this.injector.get(external_link_provider_adapter_1.TerminalExternalLinkProviderAdapter, [
|
|
87
|
+
this._xterm,
|
|
88
|
+
instance,
|
|
89
|
+
linkProvider,
|
|
90
|
+
this._wrapLinkHandler.bind(this),
|
|
91
|
+
this._tooltipCallback.bind(this),
|
|
92
|
+
]);
|
|
49
93
|
const newLinkProvider = this._xterm.registerLinkProvider(wrappedLinkProvider);
|
|
50
94
|
// Re-register the standard link providers so they are a lower priority that the new one
|
|
51
95
|
this._registerStandardLinkProviders();
|
|
@@ -110,6 +154,29 @@ let TerminalLinkManager = class TerminalLinkManager extends ide_core_common_1.Di
|
|
|
110
154
|
}
|
|
111
155
|
return path_1.posix;
|
|
112
156
|
}
|
|
157
|
+
_getLinkHoverString(uri, label) {
|
|
158
|
+
const multiCursorModifier = this.preferenceService.get('editor.multiCursorModifier');
|
|
159
|
+
let clickLabel = '';
|
|
160
|
+
if (multiCursorModifier === 'ctrlCmd') {
|
|
161
|
+
if (platform_1.isMacintosh) {
|
|
162
|
+
clickLabel = (0, ide_core_common_1.localize)('terminalLinkHandler.followLinkAlt.mac', 'option + click');
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
clickLabel = (0, ide_core_common_1.localize)('terminalLinkHandler.followLinkAlt', 'alt + click');
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
if (platform_1.isMacintosh) {
|
|
170
|
+
clickLabel = (0, ide_core_common_1.localize)('terminalLinkHandler.followLinkCmd', 'cmd + click');
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
clickLabel = (0, ide_core_common_1.localize)('terminalLinkHandler.followLinkCtrl', 'ctrl + click');
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
const fallbackLabel = (0, ide_core_common_1.localize)('followLink', 'Follow link');
|
|
177
|
+
label = label || fallbackLabel;
|
|
178
|
+
return `${label} (${clickLabel})`;
|
|
179
|
+
}
|
|
113
180
|
/**
|
|
114
181
|
* 获取用户目录
|
|
115
182
|
*/
|
|
@@ -227,6 +294,10 @@ let TerminalLinkManager = class TerminalLinkManager extends ide_core_common_1.Di
|
|
|
227
294
|
return matches[1];
|
|
228
295
|
}
|
|
229
296
|
};
|
|
297
|
+
(0, tslib_1.__decorate)([
|
|
298
|
+
(0, di_1.Autowired)(di_1.INJECTOR_TOKEN),
|
|
299
|
+
(0, tslib_1.__metadata)("design:type", di_1.Injector)
|
|
300
|
+
], TerminalLinkManager.prototype, "injector", void 0);
|
|
230
301
|
(0, tslib_1.__decorate)([
|
|
231
302
|
(0, di_1.Autowired)(),
|
|
232
303
|
(0, tslib_1.__metadata)("design:type", common_1.WorkbenchEditorService)
|
|
@@ -243,6 +314,14 @@ let TerminalLinkManager = class TerminalLinkManager extends ide_core_common_1.Di
|
|
|
243
314
|
(0, di_1.Autowired)(ide_file_service_1.IFileServiceClient),
|
|
244
315
|
(0, tslib_1.__metadata)("design:type", Object)
|
|
245
316
|
], TerminalLinkManager.prototype, "_fileSystem", void 0);
|
|
317
|
+
(0, tslib_1.__decorate)([
|
|
318
|
+
(0, di_1.Autowired)(ide_core_browser_1.PreferenceService),
|
|
319
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
320
|
+
], TerminalLinkManager.prototype, "preferenceService", void 0);
|
|
321
|
+
(0, tslib_1.__decorate)([
|
|
322
|
+
(0, di_1.Autowired)(common_2.ITerminalHoverManagerService),
|
|
323
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
324
|
+
], TerminalLinkManager.prototype, "_hoverManager", void 0);
|
|
246
325
|
TerminalLinkManager = (0, tslib_1.__decorate)([
|
|
247
326
|
(0, di_1.Injectable)({ multiple: true }),
|
|
248
327
|
(0, tslib_1.__metadata)("design:paramtypes", [xterm_1.Terminal, terminal_client_1.TerminalClient])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link-manager.js","sourceRoot":"","sources":["../../../src/browser/links/link-manager.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"link-manager.js","sourceRoot":"","sources":["../../../src/browser/links/link-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
|
-
import type { IBufferRange, ILink, ILinkDecorations, Terminal } from 'xterm';
|
|
2
|
-
import { Disposable, Event } from '@opensumi/ide-core-common';
|
|
1
|
+
import type { IBufferRange, ILink, ILinkDecorations, IViewportRange, Terminal } from 'xterm';
|
|
2
|
+
import { Disposable, IDisposable, Event } from '@opensumi/ide-core-common';
|
|
3
3
|
export declare class TerminalLink extends Disposable implements ILink {
|
|
4
4
|
private readonly _xterm;
|
|
5
5
|
readonly range: IBufferRange;
|
|
6
6
|
readonly text: string;
|
|
7
7
|
private readonly _viewportY;
|
|
8
8
|
private readonly _activateCallback;
|
|
9
|
+
private readonly _tooltipCallback;
|
|
9
10
|
private readonly _isHighConfidenceLink;
|
|
11
|
+
readonly label: string | undefined;
|
|
10
12
|
decorations: ILinkDecorations;
|
|
13
|
+
private readonly preferenceService;
|
|
14
|
+
private _tooltipScheduler;
|
|
11
15
|
private _hoverListeners;
|
|
16
|
+
private _tooltipDisposable;
|
|
12
17
|
private readonly _onInvalidated;
|
|
13
18
|
get onInvalidated(): Event<void>;
|
|
14
|
-
constructor(_xterm: Terminal, range: IBufferRange, text: string, _viewportY: number, _activateCallback: (event: MouseEvent | undefined, uri: string) => void, _isHighConfidenceLink: boolean);
|
|
19
|
+
constructor(_xterm: Terminal, range: IBufferRange, text: string, _viewportY: number, _activateCallback: (event: MouseEvent | undefined, uri: string) => void, _tooltipCallback: (link: TerminalLink, viewportRange: IViewportRange, modifierDownCallback?: () => void, modifierUpCallback?: () => void) => IDisposable, _isHighConfidenceLink: boolean, label: string | undefined);
|
|
15
20
|
dispose(): void;
|
|
16
21
|
activate(event: MouseEvent | undefined, text: string): void;
|
|
17
22
|
private _addDisposableListener;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/browser/links/link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/browser/links/link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE7F,OAAO,EACL,UAAU,EACV,WAAW,EAGX,KAAK,EAGN,MAAM,2BAA2B,CAAC;AAOnC,qBACa,YAAa,SAAQ,UAAW,YAAW,KAAK;IAgBzD,OAAO,CAAC,QAAQ,CAAC,MAAM;aACP,KAAK,EAAE,YAAY;aACnB,IAAI,EAAE,MAAM;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAMjC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IA3BpC,WAAW,EAAE,gBAAgB,CAAC;IAG9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAEtD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,kBAAkB,CAA0B;IAEpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,IAAW,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,CAEtC;gBAGkB,MAAM,EAAE,QAAQ,EACjB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,EACvE,gBAAgB,EAAE,CACjC,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,cAAc,EAC7B,oBAAoB,CAAC,EAAE,MAAM,IAAI,EACjC,kBAAkB,CAAC,EAAE,MAAM,IAAI,KAC5B,WAAW,EACC,qBAAqB,EAAE,OAAO,EACtC,KAAK,EAAE,MAAM,GAAG,SAAS;IASpC,OAAO,IAAI,IAAI;IAUf,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3D,OAAO,CAAC,sBAAsB;IAO9B,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAoE5C,KAAK,IAAI,IAAI;IASb,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,eAAe;CAGxB"}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TerminalLink = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const di_1 = require("@opensumi/di");
|
|
4
6
|
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
8
|
+
const helpers_1 = require("./helpers");
|
|
9
|
+
// default delay time (ms) for showing tooltip when mouse is over a link
|
|
10
|
+
const DEFAULT_HOVER_DELAY = 500;
|
|
11
|
+
let TerminalLink = class TerminalLink extends ide_core_common_1.Disposable {
|
|
12
|
+
constructor(_xterm, range, text, _viewportY, _activateCallback, _tooltipCallback, _isHighConfidenceLink, label) {
|
|
7
13
|
super();
|
|
8
14
|
this._xterm = _xterm;
|
|
9
15
|
this.range = range;
|
|
10
16
|
this.text = text;
|
|
11
17
|
this._viewportY = _viewportY;
|
|
12
18
|
this._activateCallback = _activateCallback;
|
|
19
|
+
this._tooltipCallback = _tooltipCallback;
|
|
13
20
|
this._isHighConfidenceLink = _isHighConfidenceLink;
|
|
21
|
+
this.label = label;
|
|
14
22
|
this._onInvalidated = new ide_core_common_1.Emitter();
|
|
15
23
|
this.decorations = {
|
|
16
24
|
pointerCursor: false,
|
|
@@ -21,10 +29,14 @@ class TerminalLink extends ide_core_common_1.Disposable {
|
|
|
21
29
|
return this._onInvalidated.event;
|
|
22
30
|
}
|
|
23
31
|
dispose() {
|
|
24
|
-
var _a;
|
|
32
|
+
var _a, _b, _c;
|
|
25
33
|
super.dispose();
|
|
26
34
|
(_a = this._hoverListeners) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
27
35
|
this._hoverListeners = undefined;
|
|
36
|
+
(_b = this._tooltipScheduler) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
37
|
+
this._tooltipScheduler = undefined;
|
|
38
|
+
(_c = this._tooltipDisposable) === null || _c === void 0 ? void 0 : _c.dispose();
|
|
39
|
+
this._tooltipDisposable = undefined;
|
|
28
40
|
}
|
|
29
41
|
activate(event, text) {
|
|
30
42
|
this._activateCallback(event, text);
|
|
@@ -55,7 +67,21 @@ class TerminalLink extends ide_core_common_1.Disposable {
|
|
|
55
67
|
this._onInvalidated.fire();
|
|
56
68
|
}
|
|
57
69
|
}));
|
|
70
|
+
// Only show the tooltip and highlight for high confidence links (not word/search workspace
|
|
71
|
+
// links). Feedback was that this makes using the terminal overly noisy.
|
|
72
|
+
if (this._isHighConfidenceLink) {
|
|
73
|
+
this._tooltipScheduler = new ide_core_common_1.RunOnceScheduler(() => {
|
|
74
|
+
var _a;
|
|
75
|
+
this._tooltipDisposable = this._tooltipCallback(this, (0, helpers_1.convertBufferRangeToViewport)(this.range, this._viewportY), this._isHighConfidenceLink ? () => this._enableDecorations() : undefined, this._isHighConfidenceLink ? () => this._disableDecorations() : undefined);
|
|
76
|
+
// Clear out scheduler until next hover event
|
|
77
|
+
(_a = this._tooltipScheduler) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
78
|
+
this._tooltipScheduler = undefined;
|
|
79
|
+
}, this.preferenceService.get('editor.hover.delay') || DEFAULT_HOVER_DELAY);
|
|
80
|
+
this._tooltipScheduler.schedule();
|
|
81
|
+
}
|
|
82
|
+
const origin = { x: event.pageX, y: event.pageY };
|
|
58
83
|
this._hoverListeners.push(this._addDisposableListener(document, 'mousemove', (e) => {
|
|
84
|
+
var _a;
|
|
59
85
|
// Update decorations
|
|
60
86
|
if (this._isModifierDown(e)) {
|
|
61
87
|
this._enableDecorations();
|
|
@@ -63,12 +89,23 @@ class TerminalLink extends ide_core_common_1.Disposable {
|
|
|
63
89
|
else {
|
|
64
90
|
this._disableDecorations();
|
|
65
91
|
}
|
|
92
|
+
// Reset the scheduler if the mouse moves too much
|
|
93
|
+
if (Math.abs(e.pageX - origin.x) > window.devicePixelRatio * 2 ||
|
|
94
|
+
Math.abs(e.pageY - origin.y) > window.devicePixelRatio * 2) {
|
|
95
|
+
origin.x = e.pageX;
|
|
96
|
+
origin.y = e.pageY;
|
|
97
|
+
(_a = this._tooltipScheduler) === null || _a === void 0 ? void 0 : _a.schedule();
|
|
98
|
+
}
|
|
66
99
|
}));
|
|
67
100
|
}
|
|
68
101
|
leave() {
|
|
69
|
-
var _a;
|
|
102
|
+
var _a, _b, _c;
|
|
70
103
|
(_a = this._hoverListeners) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
71
104
|
this._hoverListeners = undefined;
|
|
105
|
+
(_b = this._tooltipScheduler) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
106
|
+
this._tooltipScheduler = undefined;
|
|
107
|
+
(_c = this._tooltipDisposable) === null || _c === void 0 ? void 0 : _c.dispose();
|
|
108
|
+
this._tooltipDisposable = undefined;
|
|
72
109
|
}
|
|
73
110
|
_enableDecorations() {
|
|
74
111
|
if (!this.decorations.pointerCursor) {
|
|
@@ -89,6 +126,14 @@ class TerminalLink extends ide_core_common_1.Disposable {
|
|
|
89
126
|
_isModifierDown(event) {
|
|
90
127
|
return ide_core_common_1.isOSX ? event.metaKey : event.ctrlKey;
|
|
91
128
|
}
|
|
92
|
-
}
|
|
129
|
+
};
|
|
130
|
+
(0, tslib_1.__decorate)([
|
|
131
|
+
(0, di_1.Autowired)(ide_core_browser_1.PreferenceService),
|
|
132
|
+
(0, tslib_1.__metadata)("design:type", Object)
|
|
133
|
+
], TerminalLink.prototype, "preferenceService", void 0);
|
|
134
|
+
TerminalLink = (0, tslib_1.__decorate)([
|
|
135
|
+
(0, di_1.Injectable)({ multiple: true }),
|
|
136
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Function, Object, String, Number, Function, Function, Boolean, Object])
|
|
137
|
+
], TerminalLink);
|
|
93
138
|
exports.TerminalLink = TerminalLink;
|
|
94
139
|
//# sourceMappingURL=link.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/browser/links/link.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/browser/links/link.ts"],"names":[],"mappings":";;;;AACA,qCAAqD;AACrD,+DAQmC;AACnC,iEAA+D;AAC/D,uCAAyD;AAEzD,wEAAwE;AACxE,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAGhC,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,4BAAU;IAe1C,YACmB,MAAgB,EACjB,KAAmB,EACnB,IAAY,EACX,UAAkB,EAClB,iBAAuE,EACvE,gBAKD,EACC,qBAA8B,EACtC,KAAyB;QAElC,KAAK,EAAE,CAAC;QAdS,WAAM,GAAN,MAAM,CAAU;QACjB,UAAK,GAAL,KAAK,CAAc;QACnB,SAAI,GAAJ,IAAI,CAAQ;QACX,eAAU,GAAV,UAAU,CAAQ;QAClB,sBAAiB,GAAjB,iBAAiB,CAAsD;QACvE,qBAAgB,GAAhB,gBAAgB,CAKjB;QACC,0BAAqB,GAArB,qBAAqB,CAAS;QACtC,UAAK,GAAL,KAAK,CAAoB;QAlBnB,mBAAc,GAAG,IAAI,yBAAO,EAAQ,CAAC;QAqBpD,IAAI,CAAC,WAAW,GAAG;YACjB,aAAa,EAAE,KAAK;YACpB,SAAS,EAAE,IAAI,CAAC,qBAAqB;SACtC,CAAC;IACJ,CAAC;IAxBD,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;IACnC,CAAC;IAwBD,OAAO;;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,MAAA,IAAI,CAAC,eAAe,0CAAE,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,MAAA,IAAI,CAAC,iBAAiB,0CAAE,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,MAAA,IAAI,CAAC,kBAAkB,0CAAE,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,KAA6B,EAAE,IAAY;QAClD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAEO,sBAAsB,CAAC,IAAU,EAAE,IAAY,EAAE,OAAsB;QAC7E,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,4BAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAiB,EAAE,IAAY;QACnC,iGAAiG;QACjG,IAAI,CAAC,eAAe,GAAG,IAAI,sCAAoB,EAAE,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YACrD,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;gBACxC,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACnD,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;gBACzC,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;QACH,CAAC,CAAC,CACH,CAAC;QAEF,oEAAoE;QACpE,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE;YACzB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5D,IAAI,cAAc,IAAI,CAAC,CAAC,KAAK,IAAI,cAAc,IAAI,CAAC,CAAC,GAAG,EAAE;gBACxD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;aAC5B;QACH,CAAC,CAAC,CACH,CAAC;QAEF,2FAA2F;QAC3F,wEAAwE;QACxE,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,kCAAgB,CAAC,GAAG,EAAE;;gBACjD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAC7C,IAAI,EACJ,IAAA,sCAA4B,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EACzD,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,SAAS,EACxE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,SAAS,CAC1E,CAAC;gBACF,6CAA6C;gBAC7C,MAAA,IAAI,CAAC,iBAAiB,0CAAE,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACrC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAS,oBAAoB,CAAC,IAAI,mBAAmB,CAAC,CAAC;YACpF,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;SACnC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;;YACvD,qBAAqB;YACrB,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;gBAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;YAED,kDAAkD;YAClD,IACE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC;gBAC1D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAC1D;gBACA,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;gBACnB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;gBACnB,MAAA,IAAI,CAAC,iBAAiB,0CAAE,QAAQ,EAAE,CAAC;aACpC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK;;QACH,MAAA,IAAI,CAAC,eAAe,0CAAE,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,MAAA,IAAI,CAAC,iBAAiB,0CAAE,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,MAAA,IAAI,CAAC,kBAAkB,0CAAE,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACtC,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC;SACvC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;SACnC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YAClC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,KAAK,CAAC;SACxC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,IAAI,CAAC,qBAAqB,EAAE;YAC7D,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC;SACzD;IACH,CAAC;IAEO,eAAe,CAAC,KAAiC;QACvD,OAAO,uBAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAC/C,CAAC;CACF,CAAA;AAxJC;IADC,IAAA,cAAS,EAAC,oCAAiB,CAAC;;uDACyB;AAJ3C,YAAY;IADxB,IAAA,eAAU,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;GAClB,YAAY,CA4JxB;AA5JY,oCAAY"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import type { Terminal } from 'xterm';
|
|
1
|
+
import type { Terminal, IViewportRange } from 'xterm';
|
|
2
|
+
import { IDisposable } from '@opensumi/ide-core-common';
|
|
2
3
|
import { TerminalLink } from './link';
|
|
3
4
|
import { TerminalBaseLinkProvider } from './base';
|
|
4
5
|
export declare class TerminalProtocolLinkProvider extends TerminalBaseLinkProvider {
|
|
5
6
|
private readonly _xterm;
|
|
6
7
|
private readonly _activateCallback;
|
|
8
|
+
private readonly _tooltipCallback;
|
|
7
9
|
private _linkComputerTarget;
|
|
8
|
-
|
|
10
|
+
private readonly injector;
|
|
11
|
+
constructor(_xterm: Terminal, _activateCallback: (event: MouseEvent | undefined, uri: string) => void, _tooltipCallback: (link: TerminalLink, viewportRange: IViewportRange, modifierDownCallback?: () => void, modifierUpCallback?: () => void) => IDisposable);
|
|
9
12
|
protected _provideLinks(y: number): TerminalLink[];
|
|
10
13
|
}
|
|
11
14
|
//# sourceMappingURL=protocol-link-provider.d.ts.map
|