@opensumi/ide-terminal-next 2.12.1-next-079c1930
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/README.md +89 -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 +47 -0
- package/lib/browser/component/resize.delegate.js.map +1 -0
- package/lib/browser/component/resize.module.less +55 -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 +40 -0
- package/lib/browser/component/resize.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 +61 -0
- package/lib/browser/component/tab.item.js.map +1 -0
- package/lib/browser/component/tab.module.less +112 -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 +30 -0
- package/lib/browser/component/tab.view.js.map +1 -0
- package/lib/browser/component/terminal.module.less +69 -0
- package/lib/browser/component/terminal.select.d.ts +4 -0
- package/lib/browser/component/terminal.select.d.ts.map +1 -0
- package/lib/browser/component/terminal.select.js +21 -0
- package/lib/browser/component/terminal.select.js.map +1 -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 +68 -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 +51 -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 +7 -0
- package/lib/browser/contribution/index.d.ts.map +1 -0
- package/lib/browser/contribution/index.js +10 -0
- package/lib/browser/contribution/index.js.map +1 -0
- package/lib/browser/contribution/terminal.command.d.ts +20 -0
- package/lib/browser/contribution/terminal.command.d.ts.map +1 -0
- package/lib/browser/contribution/terminal.command.js +215 -0
- package/lib/browser/contribution/terminal.command.js.map +1 -0
- package/lib/browser/contribution/terminal.keybinding.d.ts +5 -0
- package/lib/browser/contribution/terminal.keybinding.d.ts.map +1 -0
- package/lib/browser/contribution/terminal.keybinding.js +55 -0
- package/lib/browser/contribution/terminal.keybinding.js.map +1 -0
- package/lib/browser/contribution/terminal.lifecycle.d.ts +15 -0
- package/lib/browser/contribution/terminal.lifecycle.d.ts.map +1 -0
- package/lib/browser/contribution/terminal.lifecycle.js +47 -0
- package/lib/browser/contribution/terminal.lifecycle.js.map +1 -0
- package/lib/browser/contribution/terminal.menu.d.ts +19 -0
- package/lib/browser/contribution/terminal.menu.d.ts.map +1 -0
- package/lib/browser/contribution/terminal.menu.js +144 -0
- package/lib/browser/contribution/terminal.menu.js.map +1 -0
- package/lib/browser/contribution/terminal.network.d.ts +11 -0
- package/lib/browser/contribution/terminal.network.d.ts.map +1 -0
- package/lib/browser/contribution/terminal.network.js +44 -0
- package/lib/browser/contribution/terminal.network.js.map +1 -0
- package/lib/browser/contribution/terminal.view.d.ts +7 -0
- package/lib/browser/contribution/terminal.view.d.ts.map +1 -0
- package/lib/browser/contribution/terminal.view.js +55 -0
- package/lib/browser/contribution/terminal.view.js.map +1 -0
- package/lib/browser/index.d.ts +10 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +105 -0
- package/lib/browser/index.js.map +1 -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 +18 -0
- package/lib/browser/links/external-link-provider-adapter.d.ts.map +1 -0
- package/lib/browser/links/external-link-provider-adapter.js +56 -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 +129 -0
- package/lib/browser/links/helpers.js.map +1 -0
- package/lib/browser/links/link-manager.d.ts +61 -0
- package/lib/browser/links/link-manager.d.ts.map +1 -0
- package/lib/browser/links/link-manager.js +252 -0
- package/lib/browser/links/link-manager.js.map +1 -0
- package/lib/browser/links/link.d.ts +24 -0
- package/lib/browser/links/link.d.ts.map +1 -0
- package/lib/browser/links/link.js +92 -0
- package/lib/browser/links/link.js.map +1 -0
- package/lib/browser/links/protocol-link-provider.d.ts +11 -0
- package/lib/browser/links/protocol-link-provider.d.ts.map +1 -0
- package/lib/browser/links/protocol-link-provider.js +53 -0
- package/lib/browser/links/protocol-link-provider.js.map +1 -0
- package/lib/browser/links/validated-local-link-provider.d.ts +31 -0
- package/lib/browser/links/validated-local-link-provider.d.ts.map +1 -0
- package/lib/browser/links/validated-local-link-provider.js +137 -0
- package/lib/browser/links/validated-local-link-provider.js.map +1 -0
- package/lib/browser/terminal.addon.d.ts +42 -0
- package/lib/browser/terminal.addon.d.ts.map +1 -0
- package/lib/browser/terminal.addon.js +169 -0
- package/lib/browser/terminal.addon.js.map +1 -0
- package/lib/browser/terminal.api.d.ts +34 -0
- package/lib/browser/terminal.api.d.ts.map +1 -0
- package/lib/browser/terminal.api.js +132 -0
- package/lib/browser/terminal.api.js.map +1 -0
- package/lib/browser/terminal.client.d.ts +114 -0
- package/lib/browser/terminal.client.d.ts.map +1 -0
- package/lib/browser/terminal.client.js +518 -0
- package/lib/browser/terminal.client.js.map +1 -0
- package/lib/browser/terminal.color.d.ts +20 -0
- package/lib/browser/terminal.color.d.ts.map +1 -0
- package/lib/browser/terminal.color.js +172 -0
- package/lib/browser/terminal.color.js.map +1 -0
- package/lib/browser/terminal.context-key.d.ts +10 -0
- package/lib/browser/terminal.context-key.d.ts.map +1 -0
- package/lib/browser/terminal.context-key.js +28 -0
- package/lib/browser/terminal.context-key.js.map +1 -0
- package/lib/browser/terminal.context-menu.d.ts +15 -0
- package/lib/browser/terminal.context-menu.d.ts.map +1 -0
- package/lib/browser/terminal.context-menu.js +75 -0
- package/lib/browser/terminal.context-menu.js.map +1 -0
- package/lib/browser/terminal.controller.d.ts +68 -0
- package/lib/browser/terminal.controller.d.ts.map +1 -0
- package/lib/browser/terminal.controller.js +367 -0
- package/lib/browser/terminal.controller.js.map +1 -0
- package/lib/browser/terminal.environment.service.d.ts +27 -0
- package/lib/browser/terminal.environment.service.d.ts.map +1 -0
- package/lib/browser/terminal.environment.service.js +144 -0
- package/lib/browser/terminal.environment.service.js.map +1 -0
- package/lib/browser/terminal.error.d.ts +10 -0
- package/lib/browser/terminal.error.d.ts.map +1 -0
- package/lib/browser/terminal.error.js +58 -0
- package/lib/browser/terminal.error.js.map +1 -0
- package/lib/browser/terminal.ext.host.proxy.d.ts +58 -0
- package/lib/browser/terminal.ext.host.proxy.d.ts.map +1 -0
- package/lib/browser/terminal.ext.host.proxy.js +104 -0
- package/lib/browser/terminal.ext.host.proxy.js.map +1 -0
- package/lib/browser/terminal.input.d.ts +6 -0
- package/lib/browser/terminal.input.d.ts.map +1 -0
- package/lib/browser/terminal.input.js +32 -0
- package/lib/browser/terminal.input.js.map +1 -0
- package/lib/browser/terminal.network.d.ts +32 -0
- package/lib/browser/terminal.network.d.ts.map +1 -0
- package/lib/browser/terminal.network.js +150 -0
- package/lib/browser/terminal.network.js.map +1 -0
- package/lib/browser/terminal.preference.d.ts +26 -0
- package/lib/browser/terminal.preference.d.ts.map +1 -0
- package/lib/browser/terminal.preference.js +80 -0
- package/lib/browser/terminal.preference.js.map +1 -0
- package/lib/browser/terminal.render.d.ts +13 -0
- package/lib/browser/terminal.render.d.ts.map +1 -0
- package/lib/browser/terminal.render.js +25 -0
- package/lib/browser/terminal.render.js.map +1 -0
- package/lib/browser/terminal.restore.d.ts +10 -0
- package/lib/browser/terminal.restore.d.ts.map +1 -0
- package/lib/browser/terminal.restore.js +41 -0
- package/lib/browser/terminal.restore.js.map +1 -0
- package/lib/browser/terminal.search.d.ts +15 -0
- package/lib/browser/terminal.search.d.ts.map +1 -0
- package/lib/browser/terminal.search.js +53 -0
- package/lib/browser/terminal.search.js.map +1 -0
- package/lib/browser/terminal.service.d.ts +60 -0
- package/lib/browser/terminal.service.d.ts.map +1 -0
- package/lib/browser/terminal.service.js +212 -0
- package/lib/browser/terminal.service.js.map +1 -0
- package/lib/browser/terminal.theme.d.ts +7 -0
- package/lib/browser/terminal.theme.d.ts.map +1 -0
- package/lib/browser/terminal.theme.js +50 -0
- package/lib/browser/terminal.theme.js.map +1 -0
- package/lib/browser/terminal.view.d.ts +99 -0
- package/lib/browser/terminal.view.d.ts.map +1 -0
- package/lib/browser/terminal.view.js +358 -0
- package/lib/browser/terminal.view.js.map +1 -0
- package/lib/common/api.d.ts +20 -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 +163 -0
- package/lib/common/client.d.ts.map +1 -0
- package/lib/common/client.js +5 -0
- package/lib/common/client.js.map +1 -0
- package/lib/common/commands.d.ts +92 -0
- package/lib/common/commands.d.ts.map +1 -0
- package/lib/common/commands.js +97 -0
- package/lib/common/commands.js.map +1 -0
- package/lib/common/controller.d.ts +86 -0
- package/lib/common/controller.d.ts.map +1 -0
- package/lib/common/controller.js +7 -0
- package/lib/common/controller.js.map +1 -0
- package/lib/common/environmentVariable.d.ts +118 -0
- package/lib/common/environmentVariable.d.ts.map +1 -0
- package/lib/common/environmentVariable.js +27 -0
- package/lib/common/environmentVariable.js.map +1 -0
- package/lib/common/environmentVariableCollection.d.ts +10 -0
- package/lib/common/environmentVariableCollection.d.ts.map +1 -0
- package/lib/common/environmentVariableCollection.js +136 -0
- package/lib/common/environmentVariableCollection.js.map +1 -0
- package/lib/common/error.d.ts +30 -0
- package/lib/common/error.d.ts.map +1 -0
- package/lib/common/error.js +5 -0
- package/lib/common/error.js.map +1 -0
- package/lib/common/extension.d.ts +108 -0
- package/lib/common/extension.d.ts.map +1 -0
- package/lib/common/extension.js +52 -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 +21 -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 +273 -0
- package/lib/common/link-computer.js.map +1 -0
- package/lib/common/menu.d.ts +5 -0
- package/lib/common/menu.d.ts.map +1 -0
- package/lib/common/menu.js +9 -0
- package/lib/common/menu.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 +33 -0
- package/lib/common/preference.d.ts.map +1 -0
- package/lib/common/preference.js +18 -0
- package/lib/common/preference.js.map +1 -0
- package/lib/common/pty.d.ts +205 -0
- package/lib/common/pty.d.ts.map +1 -0
- package/lib/common/pty.js +8 -0
- package/lib/common/pty.js.map +1 -0
- package/lib/common/render.d.ts +24 -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 +39 -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 +88 -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 +10 -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 +21 -0
- package/lib/common/utils.js.map +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +5 -0
- package/lib/index.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 +35 -0
- package/lib/node/index.js.map +1 -0
- package/lib/node/pty.d.ts +11 -0
- package/lib/node/pty.d.ts.map +1 -0
- package/lib/node/pty.js +54 -0
- package/lib/node/pty.js.map +1 -0
- package/lib/node/shell.d.ts +3 -0
- package/lib/node/shell.d.ts.map +1 -0
- package/lib/node/shell.js +28 -0
- package/lib/node/shell.js.map +1 -0
- package/lib/node/terminal.service.client.d.ts +34 -0
- package/lib/node/terminal.service.client.d.ts.map +1 -0
- package/lib/node/terminal.service.client.js +111 -0
- package/lib/node/terminal.service.client.js.map +1 -0
- package/lib/node/terminal.service.d.ts +28 -0
- package/lib/node/terminal.service.d.ts.map +1 -0
- package/lib/node/terminal.service.js +136 -0
- package/lib/node/terminal.service.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Event, IDisposable } from '@opensumi/ide-core-common';
|
|
2
|
+
import type vscode from 'vscode';
|
|
3
|
+
export interface IProcessDataEvent {
|
|
4
|
+
data: string;
|
|
5
|
+
sync: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare class TerminalDataBufferer implements IDisposable {
|
|
8
|
+
private readonly _callback;
|
|
9
|
+
private readonly _terminalBufferMap;
|
|
10
|
+
constructor(_callback: (id: string, data: string) => void);
|
|
11
|
+
dispose(): void;
|
|
12
|
+
startBuffering(id: string, event: Event<string | IProcessDataEvent>, throttleBy?: number): IDisposable;
|
|
13
|
+
stopBuffering(id: string): void;
|
|
14
|
+
private _flushBuffer;
|
|
15
|
+
}
|
|
16
|
+
export interface ITerminalDimensions {
|
|
17
|
+
/**
|
|
18
|
+
* The columns of the terminal.
|
|
19
|
+
*/
|
|
20
|
+
readonly cols: number;
|
|
21
|
+
/**
|
|
22
|
+
* The rows of the terminal.
|
|
23
|
+
*/
|
|
24
|
+
readonly rows: number;
|
|
25
|
+
}
|
|
26
|
+
export interface ITerminalDimensionsOverride extends ITerminalDimensions {
|
|
27
|
+
/**
|
|
28
|
+
* indicate that xterm must receive these exact dimensions, even if they overflow the ui!
|
|
29
|
+
*/
|
|
30
|
+
forceExactSize?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface ITerminalDimensionsDto {
|
|
33
|
+
columns: number;
|
|
34
|
+
rows: number;
|
|
35
|
+
}
|
|
36
|
+
export interface ITerminalLinkDto {
|
|
37
|
+
/** The ID of the link to enable activation and disposal. */
|
|
38
|
+
id: number;
|
|
39
|
+
/** The startIndex of the link in the line. */
|
|
40
|
+
startIndex: number;
|
|
41
|
+
/** The length of the link in the line. */
|
|
42
|
+
length: number;
|
|
43
|
+
}
|
|
44
|
+
export interface ITerminalLaunchError {
|
|
45
|
+
message: string;
|
|
46
|
+
code?: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* An interface representing a raw terminal child process, this contains a subset of the
|
|
50
|
+
* child_process.ChildProcess node.js interface.
|
|
51
|
+
*/
|
|
52
|
+
export interface ITerminalChildProcess {
|
|
53
|
+
onProcessData: Event<IProcessDataEvent | string>;
|
|
54
|
+
onProcessExit: Event<number | undefined>;
|
|
55
|
+
onProcessReady: Event<{
|
|
56
|
+
pid: number;
|
|
57
|
+
cwd: string;
|
|
58
|
+
}>;
|
|
59
|
+
onProcessTitleChanged: Event<string>;
|
|
60
|
+
onProcessOverrideDimensions?: Event<ITerminalDimensionsOverride | undefined>;
|
|
61
|
+
onProcessResolvedShellLaunchConfig?: Event<vscode.TerminalOptions>;
|
|
62
|
+
/**
|
|
63
|
+
* Starts the process.
|
|
64
|
+
*
|
|
65
|
+
* @returns undefined when the process was successfully started, otherwise an object containing
|
|
66
|
+
* information on what went wrong.
|
|
67
|
+
*/
|
|
68
|
+
start(): Promise<ITerminalLaunchError | undefined>;
|
|
69
|
+
/**
|
|
70
|
+
* Shutdown the terminal process.
|
|
71
|
+
*
|
|
72
|
+
* @param immediate When true the process will be killed immediately, otherwise the process will
|
|
73
|
+
* be given some time to make sure no additional data comes through.
|
|
74
|
+
*/
|
|
75
|
+
shutdown(immediate: boolean): void;
|
|
76
|
+
input(data: string): void;
|
|
77
|
+
resize(cols: number, rows: number): void;
|
|
78
|
+
getInitialCwd(): Promise<string>;
|
|
79
|
+
getCwd(): Promise<string>;
|
|
80
|
+
getLatency(): Promise<number>;
|
|
81
|
+
}
|
|
82
|
+
export interface ITerminalProcessExtHostProxy extends IDisposable {
|
|
83
|
+
readonly terminalId: string;
|
|
84
|
+
emitData(data: string): void;
|
|
85
|
+
emitTitle(title: string): void;
|
|
86
|
+
emitReady(pid: number, cwd: string): void;
|
|
87
|
+
emitExit(exitCode: number | undefined): void;
|
|
88
|
+
emitOverrideDimensions(dimensions: ITerminalDimensions | undefined): void;
|
|
89
|
+
emitInitialCwd(initialCwd: string): void;
|
|
90
|
+
emitCwd(cwd: string): void;
|
|
91
|
+
emitLatency(latency: number): void;
|
|
92
|
+
onInput: Event<string>;
|
|
93
|
+
onResize: Event<{
|
|
94
|
+
cols: number;
|
|
95
|
+
rows: number;
|
|
96
|
+
}>;
|
|
97
|
+
onShutdown: Event<boolean>;
|
|
98
|
+
onRequestInitialCwd: Event<void>;
|
|
99
|
+
onRequestCwd: Event<void>;
|
|
100
|
+
onRequestLatency: Event<void>;
|
|
101
|
+
}
|
|
102
|
+
export interface IStartExtensionTerminalRequest {
|
|
103
|
+
proxy: ITerminalProcessExtHostProxy;
|
|
104
|
+
cols: number;
|
|
105
|
+
rows: number;
|
|
106
|
+
callback: (error: ITerminalLaunchError | undefined) => void;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=extension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../src/common/extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TerminalDataBufferer = void 0;
|
|
4
|
+
class TerminalDataBufferer {
|
|
5
|
+
constructor(_callback) {
|
|
6
|
+
this._callback = _callback;
|
|
7
|
+
this._terminalBufferMap = new Map();
|
|
8
|
+
}
|
|
9
|
+
dispose() {
|
|
10
|
+
for (const buffer of this._terminalBufferMap.values()) {
|
|
11
|
+
buffer.dispose();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
startBuffering(id, event, throttleBy = 5) {
|
|
15
|
+
let disposable;
|
|
16
|
+
disposable = event((e) => {
|
|
17
|
+
const data = (typeof e === 'string' ? e : e.data);
|
|
18
|
+
let buffer = this._terminalBufferMap.get(id);
|
|
19
|
+
if (buffer) {
|
|
20
|
+
buffer.data.push(data);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const timeoutId = setTimeout(() => this._flushBuffer(id), throttleBy);
|
|
24
|
+
buffer = {
|
|
25
|
+
data: [data],
|
|
26
|
+
timeoutId,
|
|
27
|
+
dispose: () => {
|
|
28
|
+
clearTimeout(timeoutId);
|
|
29
|
+
this._flushBuffer(id);
|
|
30
|
+
disposable.dispose();
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
this._terminalBufferMap.set(id, buffer);
|
|
34
|
+
});
|
|
35
|
+
return disposable;
|
|
36
|
+
}
|
|
37
|
+
stopBuffering(id) {
|
|
38
|
+
const buffer = this._terminalBufferMap.get(id);
|
|
39
|
+
if (buffer) {
|
|
40
|
+
buffer.dispose();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
_flushBuffer(id) {
|
|
44
|
+
const buffer = this._terminalBufferMap.get(id);
|
|
45
|
+
if (buffer) {
|
|
46
|
+
this._terminalBufferMap.delete(id);
|
|
47
|
+
this._callback(id, buffer.data.join(''));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.TerminalDataBufferer = TerminalDataBufferer;
|
|
52
|
+
//# sourceMappingURL=extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../src/common/extension.ts"],"names":[],"mappings":";;;AAaA,MAAa,oBAAoB;IAG/B,YAA6B,SAA6C;QAA7C,cAAS,GAAT,SAAS,CAAoC;QAFzD,uBAAkB,GAAG,IAAI,GAAG,EAA8B,CAAC;IAG5E,CAAC;IAED,OAAO;QACL,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE;YACrD,MAAM,CAAC,OAAO,EAAE,CAAC;SAClB;IACH,CAAC;IAED,cAAc,CAAC,EAAU,EAAE,KAAwC,EAAE,aAAqB,CAAC;QACzF,IAAI,UAAuB,CAAC;QAC5B,UAAU,GAAG,KAAK,CAAC,CAAC,CAA6B,EAAE,EAAE;YACnD,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7C,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEvB,OAAO;aACR;YAED,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;YACtE,MAAM,GAAG;gBACP,IAAI,EAAE,CAAC,IAAI,CAAC;gBACZ,SAAS;gBACT,OAAO,EAAE,GAAG,EAAE;oBACZ,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;oBACtB,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,CAAC;aACF,CAAC;YACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,aAAa,CAAC,EAAU;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,OAAO,EAAE,CAAC;SAClB;IACH,CAAC;IAEO,YAAY,CAAC,EAAU;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1C;IACH,CAAC;CACF;AApDD,oDAoDC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from './controller';
|
|
2
|
+
export * from './resize';
|
|
3
|
+
export * from './restore';
|
|
4
|
+
export * from './error';
|
|
5
|
+
export * from './pty';
|
|
6
|
+
export * from './service';
|
|
7
|
+
export * from './client';
|
|
8
|
+
export * from './api';
|
|
9
|
+
export * from './theme';
|
|
10
|
+
export * from './commands';
|
|
11
|
+
export * from './utils';
|
|
12
|
+
export * from './render';
|
|
13
|
+
export * from './extension';
|
|
14
|
+
export * from './network';
|
|
15
|
+
export * from './link-computer';
|
|
16
|
+
export declare const TerminalContainerId = "terminal";
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAEhC,eAAO,MAAM,mBAAmB,aAAa,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TerminalContainerId = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
(0, tslib_1.__exportStar)(require("./controller"), exports);
|
|
6
|
+
(0, tslib_1.__exportStar)(require("./resize"), exports);
|
|
7
|
+
(0, tslib_1.__exportStar)(require("./restore"), exports);
|
|
8
|
+
(0, tslib_1.__exportStar)(require("./error"), exports);
|
|
9
|
+
(0, tslib_1.__exportStar)(require("./pty"), exports);
|
|
10
|
+
(0, tslib_1.__exportStar)(require("./service"), exports);
|
|
11
|
+
(0, tslib_1.__exportStar)(require("./client"), exports);
|
|
12
|
+
(0, tslib_1.__exportStar)(require("./api"), exports);
|
|
13
|
+
(0, tslib_1.__exportStar)(require("./theme"), exports);
|
|
14
|
+
(0, tslib_1.__exportStar)(require("./commands"), exports);
|
|
15
|
+
(0, tslib_1.__exportStar)(require("./utils"), exports);
|
|
16
|
+
(0, tslib_1.__exportStar)(require("./render"), exports);
|
|
17
|
+
(0, tslib_1.__exportStar)(require("./extension"), exports);
|
|
18
|
+
(0, tslib_1.__exportStar)(require("./network"), exports);
|
|
19
|
+
(0, tslib_1.__exportStar)(require("./link-computer"), exports);
|
|
20
|
+
exports.TerminalContainerId = 'terminal';
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;AAAA,4DAA6B;AAC7B,wDAAyB;AACzB,yDAA0B;AAC1B,uDAAwB;AACxB,qDAAsB;AACtB,yDAA0B;AAC1B,wDAAyB;AACzB,qDAAsB;AACtB,uDAAwB;AACxB,0DAA2B;AAC3B,uDAAwB;AACxB,wDAAyB;AACzB,2DAA4B;AAC5B,yDAA0B;AAC1B,+DAAgC;AAEnB,QAAA,mBAAmB,GAAG,UAAU,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { IRange, URI } from '@opensumi/ide-core-common';
|
|
2
|
+
/**
|
|
3
|
+
* A link inside the editor.
|
|
4
|
+
*/
|
|
5
|
+
export interface ILink {
|
|
6
|
+
range: IRange;
|
|
7
|
+
url?: URI | string;
|
|
8
|
+
tooltip?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ILinkComputerTarget {
|
|
11
|
+
getLineCount(): number;
|
|
12
|
+
getLineContent(lineNumber: number): string;
|
|
13
|
+
}
|
|
14
|
+
export declare const enum State {
|
|
15
|
+
Invalid = 0,
|
|
16
|
+
Start = 1,
|
|
17
|
+
H = 2,
|
|
18
|
+
HT = 3,
|
|
19
|
+
HTT = 4,
|
|
20
|
+
HTTP = 5,
|
|
21
|
+
F = 6,
|
|
22
|
+
FI = 7,
|
|
23
|
+
FIL = 8,
|
|
24
|
+
BeforeColon = 9,
|
|
25
|
+
AfterColon = 10,
|
|
26
|
+
AlmostThere = 11,
|
|
27
|
+
End = 12,
|
|
28
|
+
Accept = 13,
|
|
29
|
+
LastKnownState = 14
|
|
30
|
+
}
|
|
31
|
+
export declare type Edge = [State, number, State];
|
|
32
|
+
export declare class Uint8Matrix {
|
|
33
|
+
private readonly _data;
|
|
34
|
+
readonly rows: number;
|
|
35
|
+
readonly cols: number;
|
|
36
|
+
constructor(rows: number, cols: number, defaultValue: number);
|
|
37
|
+
get(row: number, col: number): number;
|
|
38
|
+
set(row: number, col: number, value: number): void;
|
|
39
|
+
}
|
|
40
|
+
export declare class StateMachine {
|
|
41
|
+
private readonly _states;
|
|
42
|
+
private readonly _maxCharCode;
|
|
43
|
+
constructor(edges: Edge[]);
|
|
44
|
+
nextState(currentState: State, chCode: number): State;
|
|
45
|
+
}
|
|
46
|
+
export declare class LinkComputer {
|
|
47
|
+
private static _createLink;
|
|
48
|
+
static computeLinks(model: ILinkComputerTarget, stateMachine?: StateMachine): ILink[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Returns an array of all links contains in the provided
|
|
52
|
+
* document. *Note* that this operation is computational
|
|
53
|
+
* expensive and should not run in the UI thread.
|
|
54
|
+
*/
|
|
55
|
+
export declare function computeLinks(model: ILinkComputerTarget | null): ILink[];
|
|
56
|
+
//# sourceMappingURL=link-computer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-computer.d.ts","sourceRoot":"","sources":["../../src/common/link-computer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAiC,MAAM,2BAA2B,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,IAAI,MAAM,CAAC;IACvB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C;AAED,0BAAkB,KAAK;IACrB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,CAAC,IAAI;IACL,EAAE,IAAI;IACN,GAAG,IAAI;IACP,IAAI,IAAI;IACR,CAAC,IAAI;IACL,EAAE,IAAI;IACN,GAAG,IAAI;IACP,WAAW,IAAI;IACf,UAAU,KAAK;IACf,WAAW,KAAK;IAChB,GAAG,KAAK;IACR,MAAM,KAAK;IACX,cAAc,KAAK;CACpB;AAED,oBAAY,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAE1C,qBAAa,WAAW;IAEtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAWrD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAIrC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAG1D;AAED,qBAAa,YAAY;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,KAAK,EAAE,IAAI,EAAE;IA6BlB,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK;CAM7D;AAoED,qBAAa,YAAY;IAEvB,OAAO,CAAC,MAAM,CAAC,WAAW;WAwCZ,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,YAAY,GAAE,YAAgC,GAAG,KAAK,EAAE;CA6HhH;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,GAAG,KAAK,EAAE,CAMvE"}
|
|
@@ -0,0 +1,273 @@
|
|
|
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 copued and modified from https://github.com/microsoft/vscode/blob/1.44.0/src/vs/editor/common/modes/linkComputer.ts
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.computeLinks = exports.LinkComputer = exports.StateMachine = exports.Uint8Matrix = void 0;
|
|
9
|
+
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
10
|
+
class Uint8Matrix {
|
|
11
|
+
constructor(rows, cols, defaultValue) {
|
|
12
|
+
const data = new Uint8Array(rows * cols);
|
|
13
|
+
for (let i = 0, len = rows * cols; i < len; i++) {
|
|
14
|
+
data[i] = defaultValue;
|
|
15
|
+
}
|
|
16
|
+
this._data = data;
|
|
17
|
+
this.rows = rows;
|
|
18
|
+
this.cols = cols;
|
|
19
|
+
}
|
|
20
|
+
get(row, col) {
|
|
21
|
+
return this._data[row * this.cols + col];
|
|
22
|
+
}
|
|
23
|
+
set(row, col, value) {
|
|
24
|
+
this._data[row * this.cols + col] = value;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.Uint8Matrix = Uint8Matrix;
|
|
28
|
+
class StateMachine {
|
|
29
|
+
constructor(edges) {
|
|
30
|
+
let maxCharCode = 0;
|
|
31
|
+
let maxState = 0 /* Invalid */;
|
|
32
|
+
for (let i = 0, len = edges.length; i < len; i++) {
|
|
33
|
+
const [from, chCode, to] = edges[i];
|
|
34
|
+
if (chCode > maxCharCode) {
|
|
35
|
+
maxCharCode = chCode;
|
|
36
|
+
}
|
|
37
|
+
if (from > maxState) {
|
|
38
|
+
maxState = from;
|
|
39
|
+
}
|
|
40
|
+
if (to > maxState) {
|
|
41
|
+
maxState = to;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
maxCharCode++;
|
|
45
|
+
maxState++;
|
|
46
|
+
const states = new Uint8Matrix(maxState, maxCharCode, 0 /* Invalid */);
|
|
47
|
+
for (let i = 0, len = edges.length; i < len; i++) {
|
|
48
|
+
const [from, chCode, to] = edges[i];
|
|
49
|
+
states.set(from, chCode, to);
|
|
50
|
+
}
|
|
51
|
+
this._states = states;
|
|
52
|
+
this._maxCharCode = maxCharCode;
|
|
53
|
+
}
|
|
54
|
+
nextState(currentState, chCode) {
|
|
55
|
+
if (chCode < 0 || chCode >= this._maxCharCode) {
|
|
56
|
+
return 0 /* Invalid */;
|
|
57
|
+
}
|
|
58
|
+
return this._states.get(currentState, chCode);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.StateMachine = StateMachine;
|
|
62
|
+
// State machine for http:// or https:// or file://
|
|
63
|
+
let _stateMachine = null;
|
|
64
|
+
function getStateMachine() {
|
|
65
|
+
if (_stateMachine === null) {
|
|
66
|
+
_stateMachine = new StateMachine([
|
|
67
|
+
[1 /* Start */, 104 /* h */, 2 /* H */],
|
|
68
|
+
[1 /* Start */, 72 /* H */, 2 /* H */],
|
|
69
|
+
[1 /* Start */, 102 /* f */, 6 /* F */],
|
|
70
|
+
[1 /* Start */, 70 /* F */, 6 /* F */],
|
|
71
|
+
[2 /* H */, 116 /* t */, 3 /* HT */],
|
|
72
|
+
[2 /* H */, 84 /* T */, 3 /* HT */],
|
|
73
|
+
[3 /* HT */, 116 /* t */, 4 /* HTT */],
|
|
74
|
+
[3 /* HT */, 84 /* T */, 4 /* HTT */],
|
|
75
|
+
[4 /* HTT */, 112 /* p */, 5 /* HTTP */],
|
|
76
|
+
[4 /* HTT */, 80 /* P */, 5 /* HTTP */],
|
|
77
|
+
[5 /* HTTP */, 115 /* s */, 9 /* BeforeColon */],
|
|
78
|
+
[5 /* HTTP */, 83 /* S */, 9 /* BeforeColon */],
|
|
79
|
+
[5 /* HTTP */, 58 /* Colon */, 10 /* AfterColon */],
|
|
80
|
+
[6 /* F */, 105 /* i */, 7 /* FI */],
|
|
81
|
+
[6 /* F */, 73 /* I */, 7 /* FI */],
|
|
82
|
+
[7 /* FI */, 108 /* l */, 8 /* FIL */],
|
|
83
|
+
[7 /* FI */, 76 /* L */, 8 /* FIL */],
|
|
84
|
+
[8 /* FIL */, 101 /* e */, 9 /* BeforeColon */],
|
|
85
|
+
[8 /* FIL */, 69 /* E */, 9 /* BeforeColon */],
|
|
86
|
+
[9 /* BeforeColon */, 58 /* Colon */, 10 /* AfterColon */],
|
|
87
|
+
[10 /* AfterColon */, 47 /* Slash */, 11 /* AlmostThere */],
|
|
88
|
+
[11 /* AlmostThere */, 47 /* Slash */, 12 /* End */],
|
|
89
|
+
]);
|
|
90
|
+
}
|
|
91
|
+
return _stateMachine;
|
|
92
|
+
}
|
|
93
|
+
let _classifier = null;
|
|
94
|
+
function getClassifier() {
|
|
95
|
+
if (_classifier === null) {
|
|
96
|
+
_classifier = new ide_core_common_1.CharacterClassifier(0 /* None */);
|
|
97
|
+
const FORCE_TERMINATION_CHARACTERS = ' \t<>\'\"、。。、,.:;‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…';
|
|
98
|
+
for (let i = 0; i < FORCE_TERMINATION_CHARACTERS.length; i++) {
|
|
99
|
+
_classifier.set(FORCE_TERMINATION_CHARACTERS.charCodeAt(i), 1 /* ForceTermination */);
|
|
100
|
+
}
|
|
101
|
+
const CANNOT_END_WITH_CHARACTERS = '.,;';
|
|
102
|
+
for (let i = 0; i < CANNOT_END_WITH_CHARACTERS.length; i++) {
|
|
103
|
+
_classifier.set(CANNOT_END_WITH_CHARACTERS.charCodeAt(i), 2 /* CannotEndIn */);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return _classifier;
|
|
107
|
+
}
|
|
108
|
+
class LinkComputer {
|
|
109
|
+
static _createLink(classifier, line, lineNumber, linkBeginIndex, linkEndIndex) {
|
|
110
|
+
// Do not allow to end link in certain characters...
|
|
111
|
+
let lastIncludedCharIndex = linkEndIndex - 1;
|
|
112
|
+
do {
|
|
113
|
+
const chCode = line.charCodeAt(lastIncludedCharIndex);
|
|
114
|
+
const chClass = classifier.get(chCode);
|
|
115
|
+
if (chClass !== 2 /* CannotEndIn */) {
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
lastIncludedCharIndex--;
|
|
119
|
+
} while (lastIncludedCharIndex > linkBeginIndex);
|
|
120
|
+
// Handle links enclosed in parens, square brackets and curlys.
|
|
121
|
+
if (linkBeginIndex > 0) {
|
|
122
|
+
const charCodeBeforeLink = line.charCodeAt(linkBeginIndex - 1);
|
|
123
|
+
const lastCharCodeInLink = line.charCodeAt(lastIncludedCharIndex);
|
|
124
|
+
if ((charCodeBeforeLink === 40 /* OpenParen */ && lastCharCodeInLink === 41 /* CloseParen */)
|
|
125
|
+
|| (charCodeBeforeLink === 91 /* OpenSquareBracket */ && lastCharCodeInLink === 93 /* CloseSquareBracket */)
|
|
126
|
+
|| (charCodeBeforeLink === 123 /* OpenCurlyBrace */ && lastCharCodeInLink === 125 /* CloseCurlyBrace */)) {
|
|
127
|
+
// Do not end in ) if ( is before the link start
|
|
128
|
+
// Do not end in ] if [ is before the link start
|
|
129
|
+
// Do not end in } if { is before the link start
|
|
130
|
+
lastIncludedCharIndex--;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
range: {
|
|
135
|
+
startLineNumber: lineNumber,
|
|
136
|
+
startColumn: linkBeginIndex + 1,
|
|
137
|
+
endLineNumber: lineNumber,
|
|
138
|
+
endColumn: lastIncludedCharIndex + 2,
|
|
139
|
+
},
|
|
140
|
+
url: line.substring(linkBeginIndex, lastIncludedCharIndex + 1),
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
static computeLinks(model, stateMachine = getStateMachine()) {
|
|
144
|
+
const classifier = getClassifier();
|
|
145
|
+
const result = [];
|
|
146
|
+
for (let i = 1, lineCount = model.getLineCount(); i <= lineCount; i++) {
|
|
147
|
+
const line = model.getLineContent(i);
|
|
148
|
+
const len = line.length;
|
|
149
|
+
let j = 0;
|
|
150
|
+
let linkBeginIndex = 0;
|
|
151
|
+
let linkBeginChCode = 0;
|
|
152
|
+
let state = 1 /* Start */;
|
|
153
|
+
let hasOpenParens = false;
|
|
154
|
+
let hasOpenSquareBracket = false;
|
|
155
|
+
let inSquareBrackets = false;
|
|
156
|
+
let hasOpenCurlyBracket = false;
|
|
157
|
+
while (j < len) {
|
|
158
|
+
let resetStateMachine = false;
|
|
159
|
+
const chCode = line.charCodeAt(j);
|
|
160
|
+
if (state === 13 /* Accept */) {
|
|
161
|
+
let chClass;
|
|
162
|
+
switch (chCode) {
|
|
163
|
+
case 40 /* OpenParen */:
|
|
164
|
+
hasOpenParens = true;
|
|
165
|
+
chClass = 0 /* None */;
|
|
166
|
+
break;
|
|
167
|
+
case 41 /* CloseParen */:
|
|
168
|
+
chClass = (hasOpenParens ? 0 /* None */ : 1 /* ForceTermination */);
|
|
169
|
+
break;
|
|
170
|
+
case 91 /* OpenSquareBracket */:
|
|
171
|
+
inSquareBrackets = true;
|
|
172
|
+
hasOpenSquareBracket = true;
|
|
173
|
+
chClass = 0 /* None */;
|
|
174
|
+
break;
|
|
175
|
+
case 93 /* CloseSquareBracket */:
|
|
176
|
+
inSquareBrackets = false;
|
|
177
|
+
chClass = (hasOpenSquareBracket ? 0 /* None */ : 1 /* ForceTermination */);
|
|
178
|
+
break;
|
|
179
|
+
case 123 /* OpenCurlyBrace */:
|
|
180
|
+
hasOpenCurlyBracket = true;
|
|
181
|
+
chClass = 0 /* None */;
|
|
182
|
+
break;
|
|
183
|
+
case 125 /* CloseCurlyBrace */:
|
|
184
|
+
chClass = (hasOpenCurlyBracket ? 0 /* None */ : 1 /* ForceTermination */);
|
|
185
|
+
break;
|
|
186
|
+
/* The following three rules make it that ' or " or ` are allowed inside links if the link began with a different one */
|
|
187
|
+
case 39 /* SingleQuote */:
|
|
188
|
+
chClass = (linkBeginChCode === 34 /* DoubleQuote */ || linkBeginChCode === 96 /* BackTick */) ? 0 /* None */ : 1 /* ForceTermination */;
|
|
189
|
+
break;
|
|
190
|
+
case 34 /* DoubleQuote */:
|
|
191
|
+
chClass = (linkBeginChCode === 39 /* SingleQuote */ || linkBeginChCode === 96 /* BackTick */) ? 0 /* None */ : 1 /* ForceTermination */;
|
|
192
|
+
break;
|
|
193
|
+
case 96 /* BackTick */:
|
|
194
|
+
chClass = (linkBeginChCode === 39 /* SingleQuote */ || linkBeginChCode === 34 /* DoubleQuote */) ? 0 /* None */ : 1 /* ForceTermination */;
|
|
195
|
+
break;
|
|
196
|
+
case 42 /* Asterisk */:
|
|
197
|
+
// `*` terminates a link if the link began with `*`
|
|
198
|
+
chClass = (linkBeginChCode === 42 /* Asterisk */) ? 1 /* ForceTermination */ : 0 /* None */;
|
|
199
|
+
break;
|
|
200
|
+
case 124 /* Pipe */:
|
|
201
|
+
// `|` terminates a link if the link began with `|`
|
|
202
|
+
chClass = (linkBeginChCode === 124 /* Pipe */) ? 1 /* ForceTermination */ : 0 /* None */;
|
|
203
|
+
break;
|
|
204
|
+
case 32 /* Space */:
|
|
205
|
+
// ` ` allow space in between [ and ]
|
|
206
|
+
chClass = (inSquareBrackets ? 0 /* None */ : 1 /* ForceTermination */);
|
|
207
|
+
break;
|
|
208
|
+
default:
|
|
209
|
+
chClass = classifier.get(chCode);
|
|
210
|
+
}
|
|
211
|
+
// Check if character terminates link
|
|
212
|
+
if (chClass === 1 /* ForceTermination */) {
|
|
213
|
+
result.push(LinkComputer._createLink(classifier, line, i, linkBeginIndex, j));
|
|
214
|
+
resetStateMachine = true;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
else if (state === 12 /* End */) {
|
|
218
|
+
let chClass;
|
|
219
|
+
if (chCode === 91 /* OpenSquareBracket */) {
|
|
220
|
+
// Allow for the authority part to contain ipv6 addresses which contain [ and ]
|
|
221
|
+
hasOpenSquareBracket = true;
|
|
222
|
+
chClass = 0 /* None */;
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
chClass = classifier.get(chCode);
|
|
226
|
+
}
|
|
227
|
+
// Check if character terminates link
|
|
228
|
+
if (chClass === 1 /* ForceTermination */) {
|
|
229
|
+
resetStateMachine = true;
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
state = 13 /* Accept */;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
state = stateMachine.nextState(state, chCode);
|
|
237
|
+
if (state === 0 /* Invalid */) {
|
|
238
|
+
resetStateMachine = true;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
if (resetStateMachine) {
|
|
242
|
+
state = 1 /* Start */;
|
|
243
|
+
hasOpenParens = false;
|
|
244
|
+
hasOpenSquareBracket = false;
|
|
245
|
+
hasOpenCurlyBracket = false;
|
|
246
|
+
// Record where the link started
|
|
247
|
+
linkBeginIndex = j + 1;
|
|
248
|
+
linkBeginChCode = chCode;
|
|
249
|
+
}
|
|
250
|
+
j++;
|
|
251
|
+
}
|
|
252
|
+
if (state === 13 /* Accept */) {
|
|
253
|
+
result.push(LinkComputer._createLink(classifier, line, i, linkBeginIndex, len));
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
return result;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
exports.LinkComputer = LinkComputer;
|
|
260
|
+
/**
|
|
261
|
+
* Returns an array of all links contains in the provided
|
|
262
|
+
* document. *Note* that this operation is computational
|
|
263
|
+
* expensive and should not run in the UI thread.
|
|
264
|
+
*/
|
|
265
|
+
function computeLinks(model) {
|
|
266
|
+
if (!model || typeof model.getLineCount !== 'function' || typeof model.getLineContent !== 'function') {
|
|
267
|
+
// Unknown caller!
|
|
268
|
+
return [];
|
|
269
|
+
}
|
|
270
|
+
return LinkComputer.computeLinks(model);
|
|
271
|
+
}
|
|
272
|
+
exports.computeLinks = computeLinks;
|
|
273
|
+
//# sourceMappingURL=link-computer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-computer.js","sourceRoot":"","sources":["../../src/common/link-computer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/common/menu.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM;IAChB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MenuId = void 0;
|
|
4
|
+
var MenuId;
|
|
5
|
+
(function (MenuId) {
|
|
6
|
+
MenuId["TermTab"] = "TermTab";
|
|
7
|
+
MenuId["TermPanel"] = "TermPanel";
|
|
8
|
+
})(MenuId = exports.MenuId || (exports.MenuId = {}));
|
|
9
|
+
//# sourceMappingURL=menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/common/menu.ts"],"names":[],"mappings":";;;AAAA,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,6BAAmB,CAAA;IACnB,iCAAuB,CAAA;AACzB,CAAC,EAHW,MAAM,GAAN,cAAM,KAAN,cAAM,QAGjB"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export declare const ITerminalNetwork: unique symbol;
|
|
2
|
+
export declare enum TerminalNetworkStatus {
|
|
3
|
+
DISCONNECTED = 0,
|
|
4
|
+
CONNECTED = 1
|
|
5
|
+
}
|
|
6
|
+
export interface ITerminalNetwork {
|
|
7
|
+
bindErrors(): void;
|
|
8
|
+
/**
|
|
9
|
+
* 当前网络状态
|
|
10
|
+
*/
|
|
11
|
+
status: TerminalNetworkStatus;
|
|
12
|
+
/**
|
|
13
|
+
* 更新网络状态
|
|
14
|
+
*/
|
|
15
|
+
setStatus(status: TerminalNetworkStatus): void;
|
|
16
|
+
/**
|
|
17
|
+
* 触发一次重连
|
|
18
|
+
*/
|
|
19
|
+
reconnect(): void;
|
|
20
|
+
/**
|
|
21
|
+
* 重连 sessionId 指定的 client
|
|
22
|
+
*/
|
|
23
|
+
reconnectClient(sessionId: string): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* 安排重连任务,具体的触发时机由底层决定。
|
|
26
|
+
* 此方法可以多次调用,不会频繁触发重连。
|
|
27
|
+
*/
|
|
28
|
+
scheduleReconnection(): void;
|
|
29
|
+
/**
|
|
30
|
+
* 是否准备重试
|
|
31
|
+
*/
|
|
32
|
+
shouldReconnect(sessionId: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* 获取当前的重试信息
|
|
35
|
+
*/
|
|
36
|
+
getReconnectInfo(sessionId: string): ITerminalReconnectInfo;
|
|
37
|
+
}
|
|
38
|
+
export interface ITerminalReconnectInfo {
|
|
39
|
+
/**
|
|
40
|
+
* 重试次数
|
|
41
|
+
*/
|
|
42
|
+
times: number;
|
|
43
|
+
/**
|
|
44
|
+
* 下一次重试的时间
|
|
45
|
+
*/
|
|
46
|
+
nextRetry: number;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=network.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/common/network.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D,oBAAY,qBAAqB;IAC/B,YAAY,IAAI;IAChB,SAAS,IAAI;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,IAAI,IAAI,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAE/C;;OAEG;IACH,SAAS,IAAI,IAAI,CAAC;IAElB;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;OAGG;IACH,oBAAoB,IAAI,IAAI,CAAC;IAE7B;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5C;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,sBAAsB,CAAC;CAC7D;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB"}
|