@opensumi/ide-terminal-next 3.7.2-next-1740052080.0 → 3.7.2-next-1740054042.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/resize.delegate.d.ts +14 -0
- package/lib/browser/component/resize.delegate.d.ts.map +1 -0
- package/lib/browser/component/resize.delegate.js +46 -0
- package/lib/browser/component/resize.delegate.js.map +1 -0
- package/lib/browser/component/resize.module.less +77 -0
- package/lib/browser/component/resize.view.d.ts +16 -0
- package/lib/browser/component/resize.view.d.ts.map +1 -0
- package/lib/browser/component/resize.view.js +55 -0
- package/lib/browser/component/resize.view.js.map +1 -0
- package/lib/browser/component/search.module.less +61 -0
- package/lib/browser/component/search.view.d.ts +3 -0
- package/lib/browser/component/search.view.d.ts.map +1 -0
- package/lib/browser/component/search.view.js +89 -0
- package/lib/browser/component/search.view.js.map +1 -0
- package/lib/browser/component/tab.item.d.ts +7 -0
- package/lib/browser/component/tab.item.d.ts.map +1 -0
- package/lib/browser/component/tab.item.js +121 -0
- package/lib/browser/component/tab.item.js.map +1 -0
- package/lib/browser/component/tab.module.less +174 -0
- package/lib/browser/component/tab.view.d.ts +4 -0
- package/lib/browser/component/tab.view.d.ts.map +1 -0
- package/lib/browser/component/tab.view.js +65 -0
- package/lib/browser/component/tab.view.js.map +1 -0
- package/lib/browser/component/terminal.module.less +50 -0
- package/lib/browser/component/terminal.variable.d.ts +8 -0
- package/lib/browser/component/terminal.variable.d.ts.map +1 -0
- package/lib/browser/component/terminal.variable.js +44 -0
- package/lib/browser/component/terminal.variable.js.map +1 -0
- package/lib/browser/component/terminal.view.d.ts +5 -0
- package/lib/browser/component/terminal.view.d.ts.map +1 -0
- package/lib/browser/component/terminal.view.js +63 -0
- package/lib/browser/component/terminal.view.js.map +1 -0
- package/lib/browser/component/terminal.widget.d.ts +10 -0
- package/lib/browser/component/terminal.widget.d.ts.map +1 -0
- package/lib/browser/component/terminal.widget.js +65 -0
- package/lib/browser/component/terminal.widget.js.map +1 -0
- package/lib/browser/component/variable.module.less +15 -0
- package/lib/browser/contribution/index.d.ts.map +1 -0
- package/lib/browser/contribution/index.js +11 -0
- package/lib/browser/contribution/index.js.map +1 -0
- package/lib/browser/contribution/terminal.command.js +328 -0
- package/lib/browser/contribution/terminal.keybinding.js +87 -0
- package/lib/browser/contribution/terminal.lifecycle.js +52 -0
- package/lib/browser/contribution/terminal.menu.js +168 -0
- package/lib/browser/contribution/terminal.network.js +44 -0
- package/lib/browser/contribution/terminal.preference.js +43 -0
- package/lib/browser/contribution/terminal.view.js +57 -0
- package/lib/browser/index.js +124 -0
- package/lib/browser/links/base.d.ts +8 -0
- package/lib/browser/links/base.d.ts.map +1 -0
- package/lib/browser/links/base.js +13 -0
- package/lib/browser/links/base.js.map +1 -0
- package/lib/browser/links/external-link-provider-adapter.d.ts +21 -0
- package/lib/browser/links/external-link-provider-adapter.d.ts.map +1 -0
- package/lib/browser/links/external-link-provider-adapter.js +74 -0
- package/lib/browser/links/external-link-provider-adapter.js.map +1 -0
- package/lib/browser/links/helpers.d.ts +7 -0
- package/lib/browser/links/helpers.d.ts.map +1 -0
- package/lib/browser/links/helpers.js +128 -0
- package/lib/browser/links/helpers.js.map +1 -0
- package/lib/browser/links/link-manager.d.ts +92 -0
- package/lib/browser/links/link-manager.d.ts.map +1 -0
- package/lib/browser/links/link-manager.js +342 -0
- package/lib/browser/links/link-manager.js.map +1 -0
- package/lib/browser/links/link.d.ts +31 -0
- package/lib/browser/links/link.d.ts.map +1 -0
- package/lib/browser/links/link.js +136 -0
- package/lib/browser/links/link.js.map +1 -0
- package/lib/browser/links/protocol-link-provider.d.ts +14 -0
- package/lib/browser/links/protocol-link-provider.d.ts.map +1 -0
- package/lib/browser/links/protocol-link-provider.js +71 -0
- package/lib/browser/links/protocol-link-provider.js.map +1 -0
- package/lib/browser/links/validated-local-link-provider.d.ts +41 -0
- package/lib/browser/links/validated-local-link-provider.d.ts.map +1 -0
- package/lib/browser/links/validated-local-link-provider.js +235 -0
- package/lib/browser/links/validated-local-link-provider.js.map +1 -0
- package/lib/browser/links/word-link-provider.d.ts +29 -0
- package/lib/browser/links/word-link-provider.d.ts.map +1 -0
- package/lib/browser/links/word-link-provider.js +153 -0
- package/lib/browser/links/word-link-provider.js.map +1 -0
- package/lib/browser/terminal.addon.js +83 -0
- package/lib/browser/terminal.api.js +162 -0
- package/lib/browser/terminal.client.js +680 -0
- package/lib/browser/terminal.color.js +240 -0
- package/lib/browser/terminal.context-key.js +29 -0
- package/lib/browser/terminal.context-menu.js +96 -0
- package/lib/browser/terminal.controller.js +669 -0
- package/lib/browser/terminal.environment.service.js +153 -0
- package/lib/browser/terminal.error.js +61 -0
- package/lib/browser/terminal.ext.host.proxy.js +108 -0
- package/lib/browser/terminal.hover.manager.js +85 -0
- package/lib/browser/terminal.input.js +32 -0
- package/lib/browser/terminal.internal.service.js +107 -0
- package/lib/browser/terminal.network.js +150 -0
- package/lib/browser/terminal.preference.js +136 -0
- package/lib/browser/terminal.profile.internal.js +104 -0
- package/lib/browser/terminal.profile.js +211 -0
- package/lib/browser/terminal.render.js +25 -0
- package/lib/browser/terminal.restore.js +49 -0
- package/lib/browser/terminal.search.js +109 -0
- package/lib/browser/terminal.service.js +163 -0
- package/lib/common/api.d.ts +22 -0
- package/lib/common/api.d.ts.map +1 -0
- package/lib/common/api.js +5 -0
- package/lib/common/api.js.map +1 -0
- package/lib/common/client.d.ts +199 -0
- package/lib/common/client.d.ts.map +1 -0
- package/lib/common/client.js +6 -0
- package/lib/common/client.js.map +1 -0
- package/lib/common/controller.d.ts +149 -0
- package/lib/common/controller.d.ts.map +1 -0
- package/lib/common/controller.js +8 -0
- package/lib/common/controller.js.map +1 -0
- package/lib/common/environmentVariable.d.ts +116 -0
- package/lib/common/environmentVariable.d.ts.map +1 -0
- package/lib/common/environmentVariable.js +30 -0
- package/lib/common/environmentVariable.js.map +1 -0
- package/lib/common/environmentVariableCollection.d.ts +9 -0
- package/lib/common/environmentVariableCollection.d.ts.map +1 -0
- package/lib/common/environmentVariableCollection.js +140 -0
- package/lib/common/environmentVariableCollection.js.map +1 -0
- package/lib/common/error.d.ts +41 -0
- package/lib/common/error.d.ts.map +1 -0
- package/lib/common/error.js +13 -0
- package/lib/common/error.js.map +1 -0
- package/lib/common/extension.d.ts +139 -0
- package/lib/common/extension.d.ts.map +1 -0
- package/lib/common/extension.js +57 -0
- package/lib/common/extension.js.map +1 -0
- package/lib/common/index.d.ts +17 -0
- package/lib/common/index.d.ts.map +1 -0
- package/lib/common/index.js +20 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/link-computer.d.ts +56 -0
- package/lib/common/link-computer.d.ts.map +1 -0
- package/lib/common/link-computer.js +282 -0
- package/lib/common/link-computer.js.map +1 -0
- package/lib/common/network.d.ts +48 -0
- package/lib/common/network.d.ts.map +1 -0
- package/lib/common/network.js +10 -0
- package/lib/common/network.js.map +1 -0
- package/lib/common/preference.d.ts +134 -0
- package/lib/common/preference.d.ts.map +1 -0
- package/lib/common/preference.js +199 -0
- package/lib/common/preference.js.map +1 -0
- package/lib/common/process.d.ts +8 -0
- package/lib/common/process.d.ts.map +1 -0
- package/lib/common/process.js +3 -0
- package/lib/common/process.js.map +1 -0
- package/lib/common/profile.d.ts +99 -0
- package/lib/common/profile.d.ts.map +1 -0
- package/lib/common/profile.js +27 -0
- package/lib/common/profile.js.map +1 -0
- package/lib/common/pty.d.ts +525 -0
- package/lib/common/pty.d.ts.map +1 -0
- package/lib/common/pty.js +28 -0
- package/lib/common/pty.js.map +1 -0
- package/lib/common/render.d.ts +29 -0
- package/lib/common/render.d.ts.map +1 -0
- package/lib/common/render.js +10 -0
- package/lib/common/render.js.map +1 -0
- package/lib/common/resize.d.ts +43 -0
- package/lib/common/resize.d.ts.map +1 -0
- package/lib/common/resize.js +3 -0
- package/lib/common/resize.js.map +1 -0
- package/lib/common/restore.d.ts +6 -0
- package/lib/common/restore.d.ts.map +1 -0
- package/lib/common/restore.js +5 -0
- package/lib/common/restore.js.map +1 -0
- package/lib/common/service.d.ts +96 -0
- package/lib/common/service.d.ts.map +1 -0
- package/lib/common/service.js +6 -0
- package/lib/common/service.js.map +1 -0
- package/lib/common/shell.d.ts +11 -0
- package/lib/common/shell.d.ts.map +1 -0
- package/lib/common/shell.js +14 -0
- package/lib/common/shell.js.map +1 -0
- package/lib/common/theme.d.ts +6 -0
- package/lib/common/theme.d.ts.map +1 -0
- package/lib/common/theme.js +5 -0
- package/lib/common/theme.js.map +1 -0
- package/lib/common/utils.d.ts +4 -0
- package/lib/common/utils.d.ts.map +1 -0
- package/lib/common/utils.js +15 -0
- package/lib/common/utils.js.map +1 -0
- package/lib/common/xterm.d.ts +27 -0
- package/lib/common/xterm.d.ts.map +1 -0
- package/lib/common/xterm.js +10 -0
- package/lib/common/xterm.js.map +1 -0
- package/lib/index.js +5 -0
- package/lib/node/data-store.d.ts +13 -0
- package/lib/node/data-store.d.ts.map +1 -0
- package/lib/node/data-store.js +6 -0
- package/lib/node/data-store.js.map +1 -0
- package/lib/node/index.d.ts +10 -0
- package/lib/node/index.d.ts.map +1 -0
- package/lib/node/index.js +64 -0
- package/lib/node/index.js.map +1 -0
- package/lib/node/pty.d.ts +42 -0
- package/lib/node/pty.d.ts.map +1 -0
- package/lib/node/pty.js +277 -0
- package/lib/node/pty.js.map +1 -0
- package/lib/node/pty.manager.d.ts +52 -0
- package/lib/node/pty.manager.d.ts.map +1 -0
- package/lib/node/pty.manager.js +157 -0
- package/lib/node/pty.manager.js.map +1 -0
- package/lib/node/pty.manager.remote.d.ts +23 -0
- package/lib/node/pty.manager.remote.d.ts.map +1 -0
- package/lib/node/pty.manager.remote.js +124 -0
- package/lib/node/pty.manager.remote.js.map +1 -0
- package/lib/node/pty.proxy.d.ts +45 -0
- package/lib/node/pty.proxy.d.ts.map +1 -0
- package/lib/node/pty.proxy.js +277 -0
- package/lib/node/pty.proxy.js.map +1 -0
- package/lib/node/pty.proxy.remote.exec.d.ts +2 -0
- package/lib/node/pty.proxy.remote.exec.d.ts.map +1 -0
- package/lib/node/pty.proxy.remote.exec.js +7 -0
- package/lib/node/pty.proxy.remote.exec.js.map +1 -0
- package/lib/node/shell-integration.service.d.ts +24 -0
- package/lib/node/shell-integration.service.d.ts.map +1 -0
- package/lib/node/shell-integration.service.js +187 -0
- package/lib/node/shell-integration.service.js.map +1 -0
- package/lib/node/shell.d.ts +20 -0
- package/lib/node/shell.d.ts.map +1 -0
- package/lib/node/shell.js +199 -0
- package/lib/node/shell.js.map +1 -0
- package/lib/node/terminal.process.service.d.ts +5 -0
- package/lib/node/terminal.process.service.d.ts.map +1 -0
- package/lib/node/terminal.process.service.js +15 -0
- package/lib/node/terminal.process.service.js.map +1 -0
- package/lib/node/terminal.profile.service.d.ts +19 -0
- package/lib/node/terminal.profile.service.d.ts.map +1 -0
- package/lib/node/terminal.profile.service.js +228 -0
- package/lib/node/terminal.profile.service.js.map +1 -0
- package/lib/node/terminal.service.client.d.ts +51 -0
- package/lib/node/terminal.service.client.d.ts.map +1 -0
- package/lib/node/terminal.service.client.js +159 -0
- package/lib/node/terminal.service.client.js.map +1 -0
- package/lib/node/terminal.service.d.ts +30 -0
- package/lib/node/terminal.service.d.ts.map +1 -0
- package/lib/node/terminal.service.js +246 -0
- package/lib/node/terminal.service.js.map +1 -0
- package/package.json +18 -18
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TerminalPreferenceContribution = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const di_1 = require("@opensumi/di");
|
|
6
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
7
|
+
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
8
|
+
const common_1 = require("../../common");
|
|
9
|
+
const preference_1 = require("../../common/preference");
|
|
10
|
+
const terminal_service_1 = require("../terminal.service");
|
|
11
|
+
let TerminalPreferenceContribution = class TerminalPreferenceContribution {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.schema = preference_1.terminalPreferenceSchema;
|
|
14
|
+
const TERMINAL_TYPE_ENUM = ['git-bash', 'powershell', 'cmd', 'default'];
|
|
15
|
+
const { properties: { ["terminal.type" /* TerminalSettingsId.Type */]: terminalTypeProperty }, } = { ...preference_1.terminalPreferenceSchema };
|
|
16
|
+
this.ptyTerminal.getOS().then((osType) => {
|
|
17
|
+
if (osType === ide_core_common_1.OperatingSystem.Windows) {
|
|
18
|
+
this.preferenceSchemaProvider.setSchema({
|
|
19
|
+
properties: {
|
|
20
|
+
["terminal.type" /* TerminalSettingsId.Type */]: {
|
|
21
|
+
...terminalTypeProperty,
|
|
22
|
+
enum: TERMINAL_TYPE_ENUM, // if OS is windows, update terminal type
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
}, true);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.TerminalPreferenceContribution = TerminalPreferenceContribution;
|
|
31
|
+
tslib_1.__decorate([
|
|
32
|
+
(0, di_1.Autowired)(common_1.ITerminalService),
|
|
33
|
+
tslib_1.__metadata("design:type", terminal_service_1.NodePtyTerminalService)
|
|
34
|
+
], TerminalPreferenceContribution.prototype, "ptyTerminal", void 0);
|
|
35
|
+
tslib_1.__decorate([
|
|
36
|
+
(0, di_1.Autowired)(ide_core_browser_1.PreferenceSchemaProvider),
|
|
37
|
+
tslib_1.__metadata("design:type", ide_core_browser_1.PreferenceSchemaProvider)
|
|
38
|
+
], TerminalPreferenceContribution.prototype, "preferenceSchemaProvider", void 0);
|
|
39
|
+
exports.TerminalPreferenceContribution = TerminalPreferenceContribution = tslib_1.__decorate([
|
|
40
|
+
(0, ide_core_common_1.Domain)(ide_core_browser_1.PreferenceContribution),
|
|
41
|
+
tslib_1.__metadata("design:paramtypes", [])
|
|
42
|
+
], TerminalPreferenceContribution);
|
|
43
|
+
//# sourceMappingURL=terminal.preference.js.map
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var TerminalRenderContribution_1;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.TerminalRenderContribution = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
7
|
+
const container_id_1 = require("@opensumi/ide-core-browser/lib/common/container-id");
|
|
8
|
+
const tab_view_1 = tslib_1.__importDefault(require("../component/tab.view"));
|
|
9
|
+
const terminal_view_1 = tslib_1.__importDefault(require("../component/terminal.view"));
|
|
10
|
+
let TerminalRenderContribution = TerminalRenderContribution_1 = class TerminalRenderContribution {
|
|
11
|
+
registerToolbarItems(registry) {
|
|
12
|
+
registry.registerItem({
|
|
13
|
+
id: ide_core_browser_1.TERMINAL_COMMANDS.OPEN_SEARCH.id,
|
|
14
|
+
command: ide_core_browser_1.TERMINAL_COMMANDS.OPEN_SEARCH.id,
|
|
15
|
+
viewId: TerminalRenderContribution_1.viewId,
|
|
16
|
+
tooltip: (0, ide_core_browser_1.localize)('terminal.search'),
|
|
17
|
+
});
|
|
18
|
+
registry.registerItem({
|
|
19
|
+
id: ide_core_browser_1.TERMINAL_COMMANDS.CLEAR_CONTENT.id,
|
|
20
|
+
command: ide_core_browser_1.TERMINAL_COMMANDS.CLEAR_CONTENT.id,
|
|
21
|
+
viewId: TerminalRenderContribution_1.viewId,
|
|
22
|
+
tooltip: (0, ide_core_browser_1.localize)('terminal.menu.clearCurrentContent'),
|
|
23
|
+
});
|
|
24
|
+
registry.registerItem({
|
|
25
|
+
id: ide_core_browser_1.TERMINAL_COMMANDS.SPLIT.id,
|
|
26
|
+
command: ide_core_browser_1.TERMINAL_COMMANDS.SPLIT.id,
|
|
27
|
+
viewId: TerminalRenderContribution_1.viewId,
|
|
28
|
+
tooltip: (0, ide_core_browser_1.localize)('terminal.split'),
|
|
29
|
+
});
|
|
30
|
+
registry.registerItem({
|
|
31
|
+
id: ide_core_browser_1.TERMINAL_COMMANDS.REMOVE.id,
|
|
32
|
+
command: ide_core_browser_1.TERMINAL_COMMANDS.REMOVE.id,
|
|
33
|
+
viewId: TerminalRenderContribution_1.viewId,
|
|
34
|
+
tooltip: (0, ide_core_browser_1.localize)('terminal.remove'),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
registerComponent(registry) {
|
|
38
|
+
registry.register('@opensumi/ide-terminal-next', {
|
|
39
|
+
component: terminal_view_1.default,
|
|
40
|
+
id: TerminalRenderContribution_1.viewId,
|
|
41
|
+
}, {
|
|
42
|
+
title: (0, ide_core_browser_1.localize)('terminal.name'),
|
|
43
|
+
priority: 1,
|
|
44
|
+
activateKeyBinding: 'ctrl+`',
|
|
45
|
+
containerId: TerminalRenderContribution_1.viewId,
|
|
46
|
+
titleComponent: tab_view_1.default,
|
|
47
|
+
draggable: true,
|
|
48
|
+
hideLocationTab: ['right'],
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
exports.TerminalRenderContribution = TerminalRenderContribution;
|
|
53
|
+
TerminalRenderContribution.viewId = container_id_1.TERMINAL_CONTAINER_ID;
|
|
54
|
+
exports.TerminalRenderContribution = TerminalRenderContribution = TerminalRenderContribution_1 = tslib_1.__decorate([
|
|
55
|
+
(0, ide_core_browser_1.Domain)(ide_core_browser_1.ComponentContribution, ide_core_browser_1.TabBarToolbarContribution)
|
|
56
|
+
], TerminalRenderContribution);
|
|
57
|
+
//# sourceMappingURL=terminal.view.js.map
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TerminalNextModule = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const di_1 = require("@opensumi/di");
|
|
6
|
+
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
7
|
+
const common_1 = require("../common");
|
|
8
|
+
const environmentVariable_1 = require("../common/environmentVariable");
|
|
9
|
+
const preference_1 = require("../common/preference");
|
|
10
|
+
const contribution_1 = require("./contribution");
|
|
11
|
+
const terminal_api_1 = require("./terminal.api");
|
|
12
|
+
const terminal_client_1 = require("./terminal.client");
|
|
13
|
+
const terminal_controller_1 = require("./terminal.controller");
|
|
14
|
+
const terminal_environment_service_1 = require("./terminal.environment.service");
|
|
15
|
+
const terminal_error_1 = require("./terminal.error");
|
|
16
|
+
const terminal_hover_manager_1 = require("./terminal.hover.manager");
|
|
17
|
+
const terminal_internal_service_1 = require("./terminal.internal.service");
|
|
18
|
+
const terminal_network_1 = require("./terminal.network");
|
|
19
|
+
const terminal_preference_1 = require("./terminal.preference");
|
|
20
|
+
const terminal_profile_1 = require("./terminal.profile");
|
|
21
|
+
const terminal_profile_internal_1 = require("./terminal.profile.internal");
|
|
22
|
+
const terminal_render_1 = require("./terminal.render");
|
|
23
|
+
const terminal_restore_1 = require("./terminal.restore");
|
|
24
|
+
const terminal_search_1 = require("./terminal.search");
|
|
25
|
+
const terminal_service_1 = require("./terminal.service");
|
|
26
|
+
const terminal_theme_1 = require("./terminal.theme");
|
|
27
|
+
const terminal_view_1 = require("./terminal.view");
|
|
28
|
+
let TerminalNextModule = class TerminalNextModule extends ide_core_browser_1.BrowserModule {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(...arguments);
|
|
31
|
+
this.providers = [
|
|
32
|
+
contribution_1.TerminalLifeCycleContribution,
|
|
33
|
+
contribution_1.TerminalRenderContribution,
|
|
34
|
+
contribution_1.TerminalCommandContribution,
|
|
35
|
+
contribution_1.TerminalMenuContribution,
|
|
36
|
+
contribution_1.TerminalKeybindingContribution,
|
|
37
|
+
contribution_1.TerminalNetworkContribution,
|
|
38
|
+
contribution_1.TerminalPreferenceContribution,
|
|
39
|
+
{
|
|
40
|
+
token: common_1.ITerminalApiService,
|
|
41
|
+
useClass: terminal_api_1.TerminalApiService,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
token: common_1.ITerminalController,
|
|
45
|
+
useClass: terminal_controller_1.TerminalController,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
token: common_1.ITerminalTheme,
|
|
49
|
+
useClass: terminal_theme_1.TerminalTheme,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
token: common_1.ITerminalSearchService,
|
|
53
|
+
useClass: terminal_search_1.TerminalSearchService,
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
token: common_1.ITerminalHoverManagerService,
|
|
57
|
+
useClass: terminal_hover_manager_1.TerminalHoverManagerService,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
token: common_1.ITerminalGroupViewService,
|
|
61
|
+
useClass: terminal_view_1.TerminalGroupViewService,
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
token: common_1.ITerminalErrorService,
|
|
65
|
+
useClass: terminal_error_1.TerminalErrorService,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
token: common_1.ITerminalService,
|
|
69
|
+
useClass: terminal_service_1.NodePtyTerminalService,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
token: common_1.ITerminalInternalService,
|
|
73
|
+
useClass: terminal_internal_service_1.TerminalInternalService,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
token: common_1.ITerminalRestore,
|
|
77
|
+
useClass: terminal_restore_1.TerminalRestore,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
token: preference_1.ITerminalPreference,
|
|
81
|
+
useClass: terminal_preference_1.TerminalPreference,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
token: common_1.ITerminalRenderProvider,
|
|
85
|
+
useClass: terminal_render_1.TerminalRenderProvider,
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
token: common_1.ITerminalClientFactory2,
|
|
89
|
+
useFactory: terminal_client_1.createTerminalClientFactory2,
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
token: common_1.ITerminalNetwork,
|
|
93
|
+
useClass: terminal_network_1.TerminalNetworkService,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
token: environmentVariable_1.EnvironmentVariableServiceToken,
|
|
97
|
+
useClass: terminal_environment_service_1.TerminalEnvironmentService,
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
token: common_1.ITerminalProfileService,
|
|
101
|
+
useClass: terminal_profile_1.TerminalProfileService,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
token: common_1.ITerminalProfileInternalService,
|
|
105
|
+
useClass: terminal_profile_internal_1.TerminalProfileInternalService,
|
|
106
|
+
},
|
|
107
|
+
];
|
|
108
|
+
this.backServices = [
|
|
109
|
+
{
|
|
110
|
+
servicePath: common_1.ITerminalServicePath,
|
|
111
|
+
clientToken: common_1.ITerminalService,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
servicePath: common_1.ITerminalProcessPath,
|
|
115
|
+
clientToken: environmentVariable_1.EnvironmentVariableServiceToken,
|
|
116
|
+
},
|
|
117
|
+
];
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
exports.TerminalNextModule = TerminalNextModule;
|
|
121
|
+
exports.TerminalNextModule = TerminalNextModule = tslib_1.__decorate([
|
|
122
|
+
(0, di_1.Injectable)()
|
|
123
|
+
], TerminalNextModule);
|
|
124
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TerminalLink } from './link';
|
|
2
|
+
import type { ILink, ILinkProvider } from '@xterm/xterm';
|
|
3
|
+
export declare abstract class TerminalBaseLinkProvider implements ILinkProvider {
|
|
4
|
+
private _activeLinks;
|
|
5
|
+
provideLinks(bufferLineNumber: number, callback: (links: ILink[] | undefined) => void): Promise<void>;
|
|
6
|
+
protected abstract _provideLinks(bufferLineNumber: number): Promise<TerminalLink[]> | TerminalLink[];
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/browser/links/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEzD,8BAAsB,wBAAyB,YAAW,aAAa;IACrE,OAAO,CAAC,YAAY,CAA6B;IAE3C,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3G,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,GAAG,YAAY,EAAE;CACrG"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TerminalBaseLinkProvider = void 0;
|
|
4
|
+
class TerminalBaseLinkProvider {
|
|
5
|
+
async provideLinks(bufferLineNumber, callback) {
|
|
6
|
+
var _a;
|
|
7
|
+
(_a = this._activeLinks) === null || _a === void 0 ? void 0 : _a.forEach((l) => l.dispose);
|
|
8
|
+
this._activeLinks = await this._provideLinks(bufferLineNumber);
|
|
9
|
+
callback(this._activeLinks);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.TerminalBaseLinkProvider = TerminalBaseLinkProvider;
|
|
13
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/browser/links/base.ts"],"names":[],"mappings":";;;AAIA,MAAsB,wBAAwB;IAG5C,KAAK,CAAC,YAAY,CAAC,gBAAwB,EAAE,QAA8C;;QACzF,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC/D,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;CAGF;AAVD,4DAUC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { IDisposable } from '@opensumi/ide-core-common';
|
|
2
|
+
import { ITerminalClient, ITerminalExternalLinkProvider } from '../../common';
|
|
3
|
+
import { TerminalBaseLinkProvider } from './base';
|
|
4
|
+
import { TerminalLink } from './link';
|
|
5
|
+
import { XtermLinkMatcherHandler } from './link-manager';
|
|
6
|
+
import type { IViewportRange, Terminal } from '@xterm/xterm';
|
|
7
|
+
/**
|
|
8
|
+
* An adapter to convert a simple external link provider into an internal link provider that
|
|
9
|
+
* manages link lifecycle, hovers, etc. and gets registered in xterm.js.
|
|
10
|
+
*/
|
|
11
|
+
export declare class TerminalExternalLinkProviderAdapter extends TerminalBaseLinkProvider {
|
|
12
|
+
private readonly _xterm;
|
|
13
|
+
private readonly _instance;
|
|
14
|
+
private readonly _externalLinkProvider;
|
|
15
|
+
private readonly _wrapLinkHandler;
|
|
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);
|
|
19
|
+
protected _provideLinks(y: number): Promise<TerminalLink[]>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=external-link-provider-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-link-provider-adapter.d.ts","sourceRoot":"","sources":["../../../src/browser/links/external-link-provider-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,KAAK,EAAe,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE1E;;;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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TerminalExternalLinkProviderAdapter = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const di_1 = require("@opensumi/di");
|
|
6
|
+
const base_1 = require("./base");
|
|
7
|
+
const helpers_1 = require("./helpers");
|
|
8
|
+
const link_1 = require("./link");
|
|
9
|
+
/**
|
|
10
|
+
* An adapter to convert a simple external link provider into an internal link provider that
|
|
11
|
+
* manages link lifecycle, hovers, etc. and gets registered in xterm.js.
|
|
12
|
+
*/
|
|
13
|
+
let TerminalExternalLinkProviderAdapter = class TerminalExternalLinkProviderAdapter extends base_1.TerminalBaseLinkProvider {
|
|
14
|
+
constructor(_xterm, _instance, _externalLinkProvider, _wrapLinkHandler, _tooltipCallback) {
|
|
15
|
+
super();
|
|
16
|
+
this._xterm = _xterm;
|
|
17
|
+
this._instance = _instance;
|
|
18
|
+
this._externalLinkProvider = _externalLinkProvider;
|
|
19
|
+
this._wrapLinkHandler = _wrapLinkHandler;
|
|
20
|
+
this._tooltipCallback = _tooltipCallback;
|
|
21
|
+
}
|
|
22
|
+
async _provideLinks(y) {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
let startLine = y - 1;
|
|
25
|
+
let endLine = startLine;
|
|
26
|
+
const lines = [this._xterm.buffer.active.getLine(startLine)];
|
|
27
|
+
while (startLine >= 0 && ((_a = this._xterm.buffer.active.getLine(startLine)) === null || _a === void 0 ? void 0 : _a.isWrapped)) {
|
|
28
|
+
lines.unshift(this._xterm.buffer.active.getLine(startLine - 1));
|
|
29
|
+
startLine--;
|
|
30
|
+
}
|
|
31
|
+
while (endLine < this._xterm.buffer.active.length && ((_b = this._xterm.buffer.active.getLine(endLine + 1)) === null || _b === void 0 ? void 0 : _b.isWrapped)) {
|
|
32
|
+
lines.push(this._xterm.buffer.active.getLine(endLine + 1));
|
|
33
|
+
endLine++;
|
|
34
|
+
}
|
|
35
|
+
const lineContent = (0, helpers_1.getXtermLineContent)(this._xterm.buffer.active, startLine, endLine, this._xterm.cols);
|
|
36
|
+
if (lineContent.trim().length === 0) {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
const externalLinks = await this._externalLinkProvider.provideLinks(this._instance, lineContent);
|
|
40
|
+
if (!externalLinks) {
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
43
|
+
return externalLinks.map((link) => {
|
|
44
|
+
const bufferRange = (0, helpers_1.convertLinkRangeToBuffer)(lines, this._xterm.cols, {
|
|
45
|
+
startColumn: link.startIndex + 1,
|
|
46
|
+
startLineNumber: 1,
|
|
47
|
+
endColumn: link.startIndex + link.length + 1,
|
|
48
|
+
endLineNumber: 1,
|
|
49
|
+
}, startLine);
|
|
50
|
+
const matchingText = lineContent.substr(link.startIndex, link.length) || '';
|
|
51
|
+
const activateLink = this._wrapLinkHandler((_, text) => link.activate(text));
|
|
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
|
+
]);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
exports.TerminalExternalLinkProviderAdapter = TerminalExternalLinkProviderAdapter;
|
|
66
|
+
tslib_1.__decorate([
|
|
67
|
+
(0, di_1.Autowired)(di_1.INJECTOR_TOKEN),
|
|
68
|
+
tslib_1.__metadata("design:type", di_1.Injector)
|
|
69
|
+
], TerminalExternalLinkProviderAdapter.prototype, "injector", void 0);
|
|
70
|
+
exports.TerminalExternalLinkProviderAdapter = TerminalExternalLinkProviderAdapter = tslib_1.__decorate([
|
|
71
|
+
(0, di_1.Injectable)({ multiple: true }),
|
|
72
|
+
tslib_1.__metadata("design:paramtypes", [Function, Object, Object, Function, Function])
|
|
73
|
+
], TerminalExternalLinkProviderAdapter);
|
|
74
|
+
//# sourceMappingURL=external-link-provider-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-link-provider-adapter.js","sourceRoot":"","sources":["../../../src/browser/links/external-link-provider-adapter.ts"],"names":[],"mappings":";;;;AAAA,qCAA+E;AAK/E,iCAAkD;AAClD,uCAA0E;AAC1E,iCAAsC;AAKtC;;;GAGG;AAEI,IAAM,mCAAmC,GAAzC,MAAM,mCAAoC,SAAQ,+BAAwB;IAI/E,YACmB,MAAgB,EAChB,SAA0B,EAC1B,qBAAoD,EACpD,gBAEW,EACX,gBAKD;QAEhB,KAAK,EAAE,CAAC;QAbS,WAAM,GAAN,MAAM,CAAU;QAChB,cAAS,GAAT,SAAS,CAAiB;QAC1B,0BAAqB,GAArB,qBAAqB,CAA+B;QACpD,qBAAgB,GAAhB,gBAAgB,CAEL;QACX,qBAAgB,GAAhB,gBAAgB,CAKjB;IAGlB,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,CAAS;;QACrC,IAAI,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,OAAO,GAAG,SAAS,CAAC;QAExB,MAAM,KAAK,GAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAE,CAAC,CAAC;QAE7E,OAAO,SAAS,IAAI,CAAC,KAAI,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,0CAAE,SAAS,CAAA,EAAE,CAAC;YACjF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAE,CAAC,CAAC;YACjE,SAAS,EAAE,CAAC;QACd,CAAC;QAED,OAAO,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAI,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,0CAAE,SAAS,CAAA,EAAE,CAAC;YAC/G,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAE,CAAC,CAAC;YAC5D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,WAAW,GAAG,IAAA,6BAAmB,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzG,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACjG,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,IAAA,kCAAwB,EAC1C,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB;gBACE,WAAW,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC;gBAChC,eAAe,EAAE,CAAC;gBAClB,SAAS,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;gBAC5C,aAAa,EAAE,CAAC;aACjB,EACD,SAAS,CACV,CAAC;YACF,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7E,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAY,EAAE;gBACrC,IAAI,CAAC,MAAM;gBACX,WAAW;gBACX,YAAY;gBACZ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS;gBACnC,YAAY;gBACZ,IAAI,CAAC,gBAAgB;gBACrB,IAAI;gBACJ,IAAI,CAAC,KAAK;aACX,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA1EY,kFAAmC;AAE7B;IADhB,IAAA,cAAS,EAAC,mBAAc,CAAC;sCACC,aAAQ;qEAAC;8CAFzB,mCAAmC;IAD/C,IAAA,eAAU,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;GAClB,mCAAmC,CA0E/C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IRange } from '@opensumi/ide-core-common/lib/types';
|
|
2
|
+
import type { IBuffer, IBufferCellPosition, IBufferLine, IBufferRange, IViewportRange } from '@xterm/xterm';
|
|
3
|
+
export declare function convertLinkRangeToBuffer(lines: IBufferLine[], bufferWidth: number, range: IRange, startLine: number): IBufferRange;
|
|
4
|
+
export declare function convertBufferRangeToViewport(bufferRange: IBufferRange, viewportY: number): IViewportRange;
|
|
5
|
+
export declare function getXtermLineContent(buffer: IBuffer, lineStart: number, lineEnd: number, cols: number): string;
|
|
6
|
+
export declare function positionIsInRange(position: IBufferCellPosition, range: IBufferRange): boolean;
|
|
7
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/browser/links/helpers.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE5G,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAoFnH;AAED,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,CAWzG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAW7G;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAW7F"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* ---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
// Some code copied and modified from https://github.com/microsoft/vscode/blob/1.44.0/src/vs/workbench/contrib/terminal/browser/links/terminalLinkHelpers.ts
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.convertLinkRangeToBuffer = convertLinkRangeToBuffer;
|
|
9
|
+
exports.convertBufferRangeToViewport = convertBufferRangeToViewport;
|
|
10
|
+
exports.getXtermLineContent = getXtermLineContent;
|
|
11
|
+
exports.positionIsInRange = positionIsInRange;
|
|
12
|
+
function convertLinkRangeToBuffer(lines, bufferWidth, range, startLine) {
|
|
13
|
+
const bufferRange = {
|
|
14
|
+
start: {
|
|
15
|
+
x: range.startColumn,
|
|
16
|
+
y: range.startLineNumber + startLine,
|
|
17
|
+
},
|
|
18
|
+
end: {
|
|
19
|
+
x: range.endColumn - 1,
|
|
20
|
+
y: range.endLineNumber + startLine,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
// Shift start range right for each wide character before the link
|
|
24
|
+
let startOffset = 0;
|
|
25
|
+
const startWrappedLineCount = Math.ceil(range.startColumn / bufferWidth);
|
|
26
|
+
for (let y = 0; y < Math.min(startWrappedLineCount); y++) {
|
|
27
|
+
const lineLength = Math.min(bufferWidth, range.startColumn - y * bufferWidth);
|
|
28
|
+
let lineOffset = 0;
|
|
29
|
+
const line = lines[y];
|
|
30
|
+
// Sanity check for line, apparently this can happen but it's not clear under what
|
|
31
|
+
// circumstances this happens. Continue on, skipping the remainder of start offset if this
|
|
32
|
+
// happens to minimize impact.
|
|
33
|
+
if (!line) {
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
for (let x = 0; x < Math.min(bufferWidth, lineLength + lineOffset); x++) {
|
|
37
|
+
const cell = line.getCell(x);
|
|
38
|
+
const width = cell.getWidth();
|
|
39
|
+
if (width === 2) {
|
|
40
|
+
lineOffset++;
|
|
41
|
+
}
|
|
42
|
+
const char = cell.getChars();
|
|
43
|
+
if (char.length > 1) {
|
|
44
|
+
lineOffset -= char.length - 1;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
startOffset += lineOffset;
|
|
48
|
+
}
|
|
49
|
+
// Shift end range right for each wide character inside the link
|
|
50
|
+
let endOffset = 0;
|
|
51
|
+
const endWrappedLineCount = Math.ceil(range.endColumn / bufferWidth);
|
|
52
|
+
for (let y = Math.max(0, startWrappedLineCount - 1); y < endWrappedLineCount; y++) {
|
|
53
|
+
const start = y === startWrappedLineCount - 1 ? (range.startColumn + startOffset) % bufferWidth : 0;
|
|
54
|
+
const lineLength = Math.min(bufferWidth, range.endColumn + startOffset - y * bufferWidth);
|
|
55
|
+
const startLineOffset = y === startWrappedLineCount - 1 ? startOffset : 0;
|
|
56
|
+
let lineOffset = 0;
|
|
57
|
+
const line = lines[y];
|
|
58
|
+
// Sanity check for line, apparently this can happen but it's not clear under what
|
|
59
|
+
// circumstances this happens. Continue on, skipping the remainder of start offset if this
|
|
60
|
+
// happens to minimize impact.
|
|
61
|
+
if (!line) {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
for (let x = start; x < Math.min(bufferWidth, lineLength + lineOffset + startLineOffset); x++) {
|
|
65
|
+
const cell = line.getCell(x);
|
|
66
|
+
const width = cell.getWidth();
|
|
67
|
+
// Offset for 0 cells following wide characters
|
|
68
|
+
if (width === 2) {
|
|
69
|
+
lineOffset++;
|
|
70
|
+
}
|
|
71
|
+
// Offset for early wrapping when the last cell in row is a wide character
|
|
72
|
+
if (x === bufferWidth - 1 && cell.getChars() === '') {
|
|
73
|
+
lineOffset++;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
endOffset += lineOffset;
|
|
77
|
+
}
|
|
78
|
+
// Apply the width character offsets to the result
|
|
79
|
+
bufferRange.start.x += startOffset;
|
|
80
|
+
bufferRange.end.x += startOffset + endOffset;
|
|
81
|
+
// Convert back to wrapped lines
|
|
82
|
+
while (bufferRange.start.x > bufferWidth) {
|
|
83
|
+
bufferRange.start.x -= bufferWidth;
|
|
84
|
+
bufferRange.start.y++;
|
|
85
|
+
}
|
|
86
|
+
while (bufferRange.end.x > bufferWidth) {
|
|
87
|
+
bufferRange.end.x -= bufferWidth;
|
|
88
|
+
bufferRange.end.y++;
|
|
89
|
+
}
|
|
90
|
+
return bufferRange;
|
|
91
|
+
}
|
|
92
|
+
function convertBufferRangeToViewport(bufferRange, viewportY) {
|
|
93
|
+
return {
|
|
94
|
+
start: {
|
|
95
|
+
x: bufferRange.start.x - 1,
|
|
96
|
+
y: bufferRange.start.y - viewportY - 1,
|
|
97
|
+
},
|
|
98
|
+
end: {
|
|
99
|
+
x: bufferRange.end.x - 1,
|
|
100
|
+
y: bufferRange.end.y - viewportY - 1,
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function getXtermLineContent(buffer, lineStart, lineEnd, cols) {
|
|
105
|
+
let content = '';
|
|
106
|
+
for (let i = lineStart; i <= lineEnd; i++) {
|
|
107
|
+
// Make sure only 0 to cols are considered as resizing when windows mode is enabled will
|
|
108
|
+
// retain buffer data outside of the terminal width as reflow is disabled.
|
|
109
|
+
const line = buffer.getLine(i);
|
|
110
|
+
if (line) {
|
|
111
|
+
content += line.translateToString(true, 0, cols);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return content;
|
|
115
|
+
}
|
|
116
|
+
function positionIsInRange(position, range) {
|
|
117
|
+
if (position.y < range.start.y || position.y > range.end.y) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
if (position.y === range.start.y && position.x < range.start.x) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
if (position.y === range.end.y && position.x > range.end.x) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/browser/links/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { IViewportRange, Terminal } from '@xterm/xterm';
|
|
2
|
+
import { Disposable, IDisposable } from '@opensumi/ide-core-common';
|
|
3
|
+
import { ITerminalClient, ITerminalExternalLinkProvider } from '../../common';
|
|
4
|
+
import { TerminalClient } from '../terminal.client';
|
|
5
|
+
export type XtermLinkMatcherHandler = (event: MouseEvent | undefined, link: string) => Promise<void>;
|
|
6
|
+
export interface ITextEditorSelection {
|
|
7
|
+
readonly startLineNumber: number;
|
|
8
|
+
readonly startColumn: number;
|
|
9
|
+
readonly endLineNumber?: number;
|
|
10
|
+
readonly endColumn?: number;
|
|
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
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* An object responsible for managing registration of link matchers and link providers.
|
|
37
|
+
*/
|
|
38
|
+
export declare class TerminalLinkManager extends Disposable {
|
|
39
|
+
private _xterm;
|
|
40
|
+
private _client;
|
|
41
|
+
private _processCwd;
|
|
42
|
+
private _standardLinkProviders;
|
|
43
|
+
private _standardLinkProvidersDisposables;
|
|
44
|
+
private readonly injector;
|
|
45
|
+
private readonly terminalService;
|
|
46
|
+
private readonly _editorService;
|
|
47
|
+
private readonly _openerService;
|
|
48
|
+
private readonly _fileService;
|
|
49
|
+
private readonly _fileSystem;
|
|
50
|
+
private readonly preferenceService;
|
|
51
|
+
private readonly _hoverManager;
|
|
52
|
+
private _getHomeDirPromise;
|
|
53
|
+
constructor(_xterm: Terminal, _client: TerminalClient);
|
|
54
|
+
set processCwd(processCwd: string);
|
|
55
|
+
getTerminalCwd(): Promise<string | undefined>;
|
|
56
|
+
private _registerStandardLinkProviders;
|
|
57
|
+
private _tooltipCallback;
|
|
58
|
+
private _showHover;
|
|
59
|
+
registerExternalLinkProvider(instance: ITerminalClient, linkProvider: ITerminalExternalLinkProvider): IDisposable;
|
|
60
|
+
protected _wrapLinkHandler(handler: (event: MouseEvent | undefined, link: string) => void): XtermLinkMatcherHandler;
|
|
61
|
+
protected get _localLinkRegex(): RegExp;
|
|
62
|
+
private _handleLocalLink;
|
|
63
|
+
private _handleHypertextLink;
|
|
64
|
+
private _handleProtocolLink;
|
|
65
|
+
protected _isLinkActivationModifierDown(event: MouseEvent): boolean;
|
|
66
|
+
private get osPath();
|
|
67
|
+
private _getLinkHoverString;
|
|
68
|
+
/**
|
|
69
|
+
* 获取用户目录
|
|
70
|
+
*/
|
|
71
|
+
private _getUserHomeDir;
|
|
72
|
+
private _getUserHomeDirOnce;
|
|
73
|
+
protected _preprocessPath(link: string): Promise<string | null>;
|
|
74
|
+
private _resolvePath;
|
|
75
|
+
/**
|
|
76
|
+
* Returns line and column number of URl if that is present.
|
|
77
|
+
*
|
|
78
|
+
* @param link Url link which may contain line and column number.
|
|
79
|
+
*/
|
|
80
|
+
extractLineColumnInfo(link: string): LineColumnInfo;
|
|
81
|
+
/**
|
|
82
|
+
* Returns url from link as link may contain line and column information.
|
|
83
|
+
*
|
|
84
|
+
* @param link url link which may contain line and column number.
|
|
85
|
+
*/
|
|
86
|
+
extractLinkUrl(link: string): string | null;
|
|
87
|
+
}
|
|
88
|
+
export interface LineColumnInfo {
|
|
89
|
+
lineNumber: number;
|
|
90
|
+
columnNumber: number;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=link-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/links/link-manager.ts"],"names":[],"mappings":"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"}
|