@opensumi/ide-terminal-next 3.7.1 → 3.7.2-next-1739848467.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/lib/browser/component/resize.view.d.ts.map +1 -1
- package/lib/browser/component/resize.view.js +2 -2
- package/lib/browser/component/resize.view.js.map +1 -1
- package/lib/browser/component/tab.item.d.ts.map +1 -1
- package/lib/browser/component/tab.item.js +23 -1
- package/lib/browser/component/tab.item.js.map +1 -1
- package/lib/browser/component/tab.view.d.ts.map +1 -1
- package/lib/browser/component/tab.view.js +10 -1
- package/lib/browser/component/tab.view.js.map +1 -1
- package/lib/browser/component/terminal.module.less +6 -0
- package/lib/browser/component/terminal.widget.d.ts.map +1 -1
- package/lib/browser/component/terminal.widget.js +9 -3
- package/lib/browser/component/terminal.widget.js.map +1 -1
- package/lib/browser/contribution/terminal.view.d.ts.map +1 -1
- package/lib/browser/contribution/terminal.view.js +2 -0
- package/lib/browser/contribution/terminal.view.js.map +1 -1
- package/lib/browser/links/link-manager.d.ts.map +1 -1
- package/lib/browser/links/link-manager.js +10 -7
- package/lib/browser/links/link-manager.js.map +1 -1
- package/lib/browser/links/validated-local-link-provider.d.ts +1 -0
- package/lib/browser/links/validated-local-link-provider.d.ts.map +1 -1
- package/lib/browser/links/validated-local-link-provider.js +55 -42
- package/lib/browser/links/validated-local-link-provider.js.map +1 -1
- 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.controller.d.ts +1 -2
- package/lib/browser/terminal.controller.d.ts.map +1 -1
- package/lib/browser/terminal.controller.js +6 -6
- package/lib/browser/terminal.controller.js.map +1 -1
- package/lib/browser/terminal.hover.manager.d.ts.map +1 -1
- package/lib/browser/terminal.hover.manager.js +4 -2
- package/lib/browser/terminal.hover.manager.js.map +1 -1
- package/lib/browser/terminal.view.d.ts +6 -5
- package/lib/browser/terminal.view.d.ts.map +1 -1
- package/lib/browser/terminal.view.js +13 -0
- package/lib/browser/terminal.view.js.map +1 -1
- package/lib/common/controller.d.ts +1 -0
- package/lib/common/controller.d.ts.map +1 -1
- package/lib/common/controller.js.map +1 -1
- package/lib/common/pty.d.ts +1 -1
- package/lib/common/pty.d.ts.map +1 -1
- package/lib/common/render.d.ts +3 -0
- package/lib/common/render.d.ts.map +1 -1
- package/lib/common/render.js.map +1 -1
- package/package.json +18 -18
- package/src/browser/component/resize.view.tsx +2 -1
- package/src/browser/component/tab.item.tsx +38 -0
- package/src/browser/component/tab.view.tsx +12 -0
- package/src/browser/component/terminal.module.less +6 -0
- package/src/browser/component/terminal.widget.tsx +8 -3
- package/src/browser/contribution/terminal.view.ts +2 -0
- package/src/browser/links/link-manager.ts +11 -8
- package/src/browser/links/validated-local-link-provider.ts +68 -48
- package/src/browser/links/word-link-provider.ts +175 -0
- package/src/browser/terminal.controller.ts +7 -8
- package/src/browser/terminal.hover.manager.ts +4 -4
- package/src/browser/terminal.view.ts +17 -0
- package/src/common/controller.ts +2 -0
- package/src/common/pty.ts +1 -1
- package/src/common/render.ts +3 -0
- package/src/common/xterm-private.d.ts +7 -4
package/lib/common/pty.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../src/common/pty.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pty.d.ts","sourceRoot":"","sources":["../../src/common/pty.ts"],"names":[],"mappings":"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"}
|
package/lib/common/render.d.ts
CHANGED
|
@@ -15,8 +15,11 @@ export interface ItemProps {
|
|
|
15
15
|
onDropdown?: (event: React.MouseEvent<HTMLElement>) => void;
|
|
16
16
|
onContextMenu?: (event: React.MouseEvent<HTMLElement>) => void;
|
|
17
17
|
getKeybinding?: (command: string) => string;
|
|
18
|
+
onDrop?: (event: React.DragEvent) => void;
|
|
19
|
+
onDragStart?: (event: React.DragEvent) => void;
|
|
18
20
|
provider: ITerminalRenderProvider;
|
|
19
21
|
theme: ThemeType;
|
|
22
|
+
draggable?: boolean;
|
|
20
23
|
}
|
|
21
24
|
export declare const ITerminalRenderProvider: unique symbol;
|
|
22
25
|
export interface ITerminalRenderProvider {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/common/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,GAAG,IAAA;CACJ;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/common/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,GAAG,IAAA;CACJ;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/D,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAC/C,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,uBAAuB,eAAmC,CAAC;AACxE,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACnD,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;CACnD"}
|
package/lib/common/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/common/render.ts"],"names":[],"mappings":";;;AAIA,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uCAAQ,CAAA;IACR,qCAAG,CAAA;AACL,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/common/render.ts"],"names":[],"mappings":";;;AAIA,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uCAAQ,CAAA;IACR,qCAAG,CAAA;AACL,CAAC,EAHW,QAAQ,wBAAR,QAAQ,QAGnB;AAoBY,QAAA,uBAAuB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-terminal-next",
|
|
3
|
-
"version": "3.7.
|
|
3
|
+
"version": "3.7.2-next-1739848467.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
"url": "git@github.com:opensumi/core.git"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@opensumi/ide-connection": "3.7.
|
|
21
|
-
"@opensumi/ide-core-common": "3.7.
|
|
22
|
-
"@opensumi/ide-core-node": "3.7.
|
|
23
|
-
"@opensumi/ide-file-service": "3.7.
|
|
24
|
-
"@opensumi/ide-utils": "3.7.
|
|
20
|
+
"@opensumi/ide-connection": "3.7.2-next-1739848467.0",
|
|
21
|
+
"@opensumi/ide-core-common": "3.7.2-next-1739848467.0",
|
|
22
|
+
"@opensumi/ide-core-node": "3.7.2-next-1739848467.0",
|
|
23
|
+
"@opensumi/ide-file-service": "3.7.2-next-1739848467.0",
|
|
24
|
+
"@opensumi/ide-utils": "3.7.2-next-1739848467.0",
|
|
25
25
|
"@xterm/addon-canvas": "0.7.0",
|
|
26
26
|
"@xterm/addon-fit": "0.10.0",
|
|
27
27
|
"@xterm/addon-search": "0.15.0",
|
|
@@ -31,19 +31,19 @@
|
|
|
31
31
|
"os-locale": "^4.0.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@opensumi/ide-components": "3.7.
|
|
35
|
-
"@opensumi/ide-core-browser": "3.7.
|
|
36
|
-
"@opensumi/ide-dev-tool": "3.7.
|
|
37
|
-
"@opensumi/ide-editor": "3.7.
|
|
38
|
-
"@opensumi/ide-main-layout": "3.7.
|
|
39
|
-
"@opensumi/ide-monaco": "3.7.
|
|
40
|
-
"@opensumi/ide-overlay": "3.7.
|
|
41
|
-
"@opensumi/ide-status-bar": "3.7.
|
|
42
|
-
"@opensumi/ide-theme": "3.7.
|
|
43
|
-
"@opensumi/ide-variable": "3.7.
|
|
44
|
-
"@opensumi/ide-workspace": "3.7.
|
|
34
|
+
"@opensumi/ide-components": "3.7.2-next-1739848467.0",
|
|
35
|
+
"@opensumi/ide-core-browser": "3.7.2-next-1739848467.0",
|
|
36
|
+
"@opensumi/ide-dev-tool": "3.7.2-next-1739848467.0",
|
|
37
|
+
"@opensumi/ide-editor": "3.7.2-next-1739848467.0",
|
|
38
|
+
"@opensumi/ide-main-layout": "3.7.2-next-1739848467.0",
|
|
39
|
+
"@opensumi/ide-monaco": "3.7.2-next-1739848467.0",
|
|
40
|
+
"@opensumi/ide-overlay": "3.7.2-next-1739848467.0",
|
|
41
|
+
"@opensumi/ide-status-bar": "3.7.2-next-1739848467.0",
|
|
42
|
+
"@opensumi/ide-theme": "3.7.2-next-1739848467.0",
|
|
43
|
+
"@opensumi/ide-variable": "3.7.2-next-1739848467.0",
|
|
44
|
+
"@opensumi/ide-workspace": "3.7.2-next-1739848467.0",
|
|
45
45
|
"@types/http-proxy": "^1.17.2",
|
|
46
46
|
"http-proxy": "^1.18.0"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "305bfb1bdf3000e2296de450972eb24f5ebbba89"
|
|
49
49
|
}
|
|
@@ -24,7 +24,6 @@ export interface IResizeViewProps {
|
|
|
24
24
|
|
|
25
25
|
const ResizeItem = ({ index, widget, wholeWidth, setEvent, self, left, right, last }) => {
|
|
26
26
|
const shadowDynamic = useAutorun(widget.shadowDynamic);
|
|
27
|
-
|
|
28
27
|
return (
|
|
29
28
|
<div key={`resize-item-${index}`} style={{ width: `${shadowDynamic}%` }} className={styles.resizeHandler}>
|
|
30
29
|
<ResizeDelegate
|
|
@@ -88,6 +87,7 @@ export default (props: IResizeViewProps) => {
|
|
|
88
87
|
|
|
89
88
|
return (
|
|
90
89
|
<ResizeItem
|
|
90
|
+
key={index}
|
|
91
91
|
index={index}
|
|
92
92
|
widget={widget}
|
|
93
93
|
wholeWidth={wholeWidth}
|
|
@@ -104,6 +104,7 @@ export default (props: IResizeViewProps) => {
|
|
|
104
104
|
{widgets &&
|
|
105
105
|
widgets.map((widget) => (
|
|
106
106
|
<ResizePanelItem
|
|
107
|
+
key={widget.id}
|
|
107
108
|
widget={widget}
|
|
108
109
|
dynamic={shadow ? widget.dynamic : widget.shadowDynamic}
|
|
109
110
|
draw={props.draw}
|
|
@@ -72,8 +72,46 @@ export const renderInfoItem = (props: ItemProps) => {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
+
const handleDragStart = useCallback(
|
|
76
|
+
(e: React.DragEvent<HTMLDivElement>) => {
|
|
77
|
+
props.onDragStart?.(e);
|
|
78
|
+
},
|
|
79
|
+
[props.onDragStart],
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
const handleDragOver = useCallback(
|
|
83
|
+
(e: React.DragEvent<HTMLDivElement>) => {
|
|
84
|
+
e.preventDefault();
|
|
85
|
+
if (ref.current) {
|
|
86
|
+
ref.current.classList.add('on-drag-over');
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
[ref],
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
const handleDragLeave = useCallback(() => {
|
|
93
|
+
if (ref.current) {
|
|
94
|
+
ref.current.classList.remove('on-drag-over');
|
|
95
|
+
}
|
|
96
|
+
}, [ref]);
|
|
97
|
+
|
|
98
|
+
const handleDrop = useCallback(
|
|
99
|
+
(e: React.DragEvent<HTMLDivElement>) => {
|
|
100
|
+
if (ref.current) {
|
|
101
|
+
ref.current.classList.remove('on-drag-over');
|
|
102
|
+
}
|
|
103
|
+
props.onDrop?.(e);
|
|
104
|
+
},
|
|
105
|
+
[ref, props.onDrop],
|
|
106
|
+
);
|
|
107
|
+
|
|
75
108
|
return (
|
|
76
109
|
<div
|
|
110
|
+
draggable={props.draggable}
|
|
111
|
+
onDragStart={handleDragStart}
|
|
112
|
+
onDragOver={handleDragOver}
|
|
113
|
+
onDragLeave={handleDragLeave}
|
|
114
|
+
onDrop={handleDrop}
|
|
77
115
|
ref={ref}
|
|
78
116
|
className={cls({
|
|
79
117
|
[styles_item_container]: true,
|
|
@@ -46,6 +46,18 @@ export default () => {
|
|
|
46
46
|
<div className={styles_tab_contents}>
|
|
47
47
|
{groups.filter(Boolean).map((group, index) => (
|
|
48
48
|
<TabItem
|
|
49
|
+
draggable={true}
|
|
50
|
+
onDragStart={(e) => {
|
|
51
|
+
e.dataTransfer.setData('groupIndex', String(index));
|
|
52
|
+
}}
|
|
53
|
+
onDrop={(e: React.DragEvent) => {
|
|
54
|
+
e.preventDefault();
|
|
55
|
+
if (e.dataTransfer.getData('groupIndex')) {
|
|
56
|
+
const i = e.dataTransfer.getData('groupIndex');
|
|
57
|
+
view.swapGroup(Number(i), index);
|
|
58
|
+
view.selectGroup(index);
|
|
59
|
+
}
|
|
60
|
+
}}
|
|
49
61
|
key={group.id}
|
|
50
62
|
group={group}
|
|
51
63
|
selected={currentGroup && currentGroup.id === group.id}
|
|
@@ -39,6 +39,11 @@
|
|
|
39
39
|
width: 100%;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
.terminalContentWrapper {
|
|
43
|
+
height: 100%;
|
|
44
|
+
width: 100%;
|
|
45
|
+
}
|
|
46
|
+
|
|
42
47
|
.terminalSearch {
|
|
43
48
|
display: flex;
|
|
44
49
|
justify-content: center;
|
|
@@ -62,6 +67,7 @@
|
|
|
62
67
|
border-color: var(--focusBorder);
|
|
63
68
|
}
|
|
64
69
|
}
|
|
70
|
+
|
|
65
71
|
.closeBtn {
|
|
66
72
|
padding: 0px 6px;
|
|
67
73
|
cursor: pointer;
|
|
@@ -68,8 +68,13 @@ export default ({ widget, error, show }: IProps) => {
|
|
|
68
68
|
const view = useInjectable<ITerminalGroupViewService>(ITerminalGroupViewService);
|
|
69
69
|
|
|
70
70
|
React.useEffect(() => {
|
|
71
|
-
if (content.current) {
|
|
72
|
-
widget.element
|
|
71
|
+
if (content.current && widget.element) {
|
|
72
|
+
content.current.appendChild(widget.element);
|
|
73
|
+
} else if (content.current && !widget.element) {
|
|
74
|
+
const ele = document.createElement('div');
|
|
75
|
+
content.current.appendChild(ele);
|
|
76
|
+
ele.className = styles.terminalContent;
|
|
77
|
+
widget.element = ele;
|
|
73
78
|
}
|
|
74
79
|
}, []);
|
|
75
80
|
|
|
@@ -91,7 +96,7 @@ export default ({ widget, error, show }: IProps) => {
|
|
|
91
96
|
<div
|
|
92
97
|
data-term-id={widget.id}
|
|
93
98
|
style={{ display: error ? 'none' : 'block' }}
|
|
94
|
-
className={styles.
|
|
99
|
+
className={styles.terminalContentWrapper}
|
|
95
100
|
onFocus={onFocus}
|
|
96
101
|
ref={content}
|
|
97
102
|
></div>
|
|
@@ -56,6 +56,8 @@ export class TerminalRenderContribution implements ComponentContribution, TabBar
|
|
|
56
56
|
activateKeyBinding: 'ctrl+`',
|
|
57
57
|
containerId: TerminalRenderContribution.viewId,
|
|
58
58
|
titleComponent: TerminalTabs,
|
|
59
|
+
draggable: true,
|
|
60
|
+
hideLocationTab: ['right'],
|
|
59
61
|
},
|
|
60
62
|
);
|
|
61
63
|
}
|
|
@@ -41,6 +41,7 @@ import {
|
|
|
41
41
|
winLineAndColumnMatchIndex,
|
|
42
42
|
winLocalLinkClause,
|
|
43
43
|
} from './validated-local-link-provider';
|
|
44
|
+
import { TerminalWordLinkProvider } from './word-link-provider';
|
|
44
45
|
|
|
45
46
|
const { posix, win32 } = path;
|
|
46
47
|
|
|
@@ -136,6 +137,13 @@ export class TerminalLinkManager extends Disposable {
|
|
|
136
137
|
]);
|
|
137
138
|
this._standardLinkProviders.push(validatedProvider);
|
|
138
139
|
|
|
140
|
+
const wordLinkProvider = this.injector.get(TerminalWordLinkProvider, [
|
|
141
|
+
this._xterm,
|
|
142
|
+
async (link, cb) => cb(await this._resolvePath(link)),
|
|
143
|
+
wrappedTextLinkActivateCallback,
|
|
144
|
+
]);
|
|
145
|
+
this._standardLinkProviders.push(wordLinkProvider);
|
|
146
|
+
|
|
139
147
|
this._registerStandardLinkProviders();
|
|
140
148
|
}
|
|
141
149
|
|
|
@@ -165,8 +173,8 @@ export class TerminalLinkManager extends Disposable {
|
|
|
165
173
|
) {
|
|
166
174
|
const core = (this._xterm as any)._core as XTermCore;
|
|
167
175
|
const cellDimensions = {
|
|
168
|
-
width: core._renderService.dimensions.
|
|
169
|
-
height: core._renderService.dimensions.
|
|
176
|
+
width: core._renderService.dimensions.css.cell.width,
|
|
177
|
+
height: core._renderService.dimensions.css.cell.height,
|
|
170
178
|
};
|
|
171
179
|
const terminalDimensions = {
|
|
172
180
|
width: this._xterm.cols,
|
|
@@ -375,13 +383,8 @@ export class TerminalLinkManager extends Disposable {
|
|
|
375
383
|
return undefined;
|
|
376
384
|
}
|
|
377
385
|
|
|
378
|
-
const linkUrl = this.extractLinkUrl(preprocessedLink);
|
|
379
|
-
if (!linkUrl) {
|
|
380
|
-
return undefined;
|
|
381
|
-
}
|
|
382
|
-
|
|
383
386
|
try {
|
|
384
|
-
const uri = URI.file(
|
|
387
|
+
const uri = URI.file(preprocessedLink);
|
|
385
388
|
const stat = await this._fileService.getFileStat(uri.toString());
|
|
386
389
|
if (stat) {
|
|
387
390
|
return { uri, isDirectory: stat.isDirectory };
|
|
@@ -138,7 +138,6 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
|
|
|
138
138
|
let match;
|
|
139
139
|
let stringIndex = -1;
|
|
140
140
|
while ((match = rex.exec(text)) !== null) {
|
|
141
|
-
// const link = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];
|
|
142
141
|
let link = match[0];
|
|
143
142
|
if (!link) {
|
|
144
143
|
// something matched but does not comply with the given matchIndex
|
|
@@ -169,60 +168,81 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
|
|
|
169
168
|
link = link.substring(2);
|
|
170
169
|
stringIndex += 2;
|
|
171
170
|
}
|
|
171
|
+
const validatedLinks = await this.detectLocalLink(link, lines, startLine, stringIndex, 1);
|
|
172
172
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
},
|
|
183
|
-
startLine,
|
|
184
|
-
);
|
|
185
|
-
|
|
186
|
-
const validatedLink = await new Promise<TerminalLink | undefined>((r) => {
|
|
187
|
-
this._validationCallback(link, async (result) => {
|
|
188
|
-
if (result) {
|
|
189
|
-
const label = result.isDirectory
|
|
190
|
-
? (await this._isDirectoryInsideWorkspace(result.uri))
|
|
191
|
-
? FOLDER_IN_WORKSPACE_LABEL
|
|
192
|
-
: FOLDER_NOT_IN_WORKSPACE_LABEL
|
|
193
|
-
: OPEN_FILE_LABEL;
|
|
194
|
-
const activateCallback = this._wrapLinkHandler((event: MouseEvent | undefined, text: string) => {
|
|
195
|
-
if (result.isDirectory) {
|
|
196
|
-
this._handleLocalFolderLink(result.uri);
|
|
197
|
-
} else {
|
|
198
|
-
this._activateFileCallback(event, text);
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
r(
|
|
202
|
-
this.injector.get(TerminalLink, [
|
|
203
|
-
this._xterm,
|
|
204
|
-
bufferRange,
|
|
205
|
-
link,
|
|
206
|
-
this._xterm.buffer.active.viewportY,
|
|
207
|
-
activateCallback,
|
|
208
|
-
this._tooltipCallback,
|
|
209
|
-
true,
|
|
210
|
-
label,
|
|
211
|
-
]),
|
|
212
|
-
);
|
|
213
|
-
} else {
|
|
214
|
-
r(undefined);
|
|
215
|
-
}
|
|
216
|
-
});
|
|
217
|
-
});
|
|
218
|
-
if (validatedLink) {
|
|
219
|
-
result.push(validatedLink);
|
|
173
|
+
if (validatedLinks.length > 0) {
|
|
174
|
+
result.push(...validatedLinks);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
if (result.length === 0) {
|
|
179
|
+
const validatedLinks = await this.detectLocalLink(text, lines, startLine, stringIndex, 2);
|
|
180
|
+
if (validatedLinks.length > 0) {
|
|
181
|
+
result.push(...validatedLinks);
|
|
220
182
|
}
|
|
221
183
|
}
|
|
222
184
|
|
|
223
185
|
return result;
|
|
224
186
|
}
|
|
225
187
|
|
|
188
|
+
private async detectLocalLink(
|
|
189
|
+
text: string,
|
|
190
|
+
bufferLines: IBufferLine[],
|
|
191
|
+
startLine: number,
|
|
192
|
+
stringIndex: number,
|
|
193
|
+
offset,
|
|
194
|
+
) {
|
|
195
|
+
const result: TerminalLink[] = [];
|
|
196
|
+
const validatedLink = await new Promise<TerminalLink | undefined>((r) => {
|
|
197
|
+
this._validationCallback(text, async (result) => {
|
|
198
|
+
if (result) {
|
|
199
|
+
const label = result.isDirectory
|
|
200
|
+
? (await this._isDirectoryInsideWorkspace(result.uri))
|
|
201
|
+
? FOLDER_IN_WORKSPACE_LABEL
|
|
202
|
+
: FOLDER_NOT_IN_WORKSPACE_LABEL
|
|
203
|
+
: OPEN_FILE_LABEL;
|
|
204
|
+
const activateCallback = this._wrapLinkHandler((event: MouseEvent | undefined, text: string) => {
|
|
205
|
+
if (result.isDirectory) {
|
|
206
|
+
this._handleLocalFolderLink(result.uri);
|
|
207
|
+
} else {
|
|
208
|
+
this._activateFileCallback(event, text);
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
// Convert the link text's string index into a wrapped buffer range
|
|
212
|
+
const bufferRange = convertLinkRangeToBuffer(
|
|
213
|
+
bufferLines,
|
|
214
|
+
this._xterm.cols,
|
|
215
|
+
{
|
|
216
|
+
startColumn: stringIndex + 1,
|
|
217
|
+
startLineNumber: 1,
|
|
218
|
+
endColumn: stringIndex + text.length + offset,
|
|
219
|
+
endLineNumber: 1,
|
|
220
|
+
},
|
|
221
|
+
startLine,
|
|
222
|
+
);
|
|
223
|
+
r(
|
|
224
|
+
this.injector.get(TerminalLink, [
|
|
225
|
+
this._xterm,
|
|
226
|
+
bufferRange,
|
|
227
|
+
text,
|
|
228
|
+
this._xterm.buffer.active.viewportY,
|
|
229
|
+
activateCallback,
|
|
230
|
+
this._tooltipCallback,
|
|
231
|
+
true,
|
|
232
|
+
label,
|
|
233
|
+
]),
|
|
234
|
+
);
|
|
235
|
+
} else {
|
|
236
|
+
r(undefined);
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
});
|
|
240
|
+
if (validatedLink) {
|
|
241
|
+
result.push(validatedLink);
|
|
242
|
+
}
|
|
243
|
+
return result;
|
|
244
|
+
}
|
|
245
|
+
|
|
226
246
|
protected get _localLinkRegex(): RegExp {
|
|
227
247
|
const baseLocalLinkClause = this._client.os === OperatingSystem.Windows ? winLocalLinkClause : unixLocalLinkClause;
|
|
228
248
|
// Append line and column number regex
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { IBufferLine, Terminal } from '@xterm/xterm';
|
|
2
|
+
|
|
3
|
+
import { Autowired, INJECTOR_TOKEN, Injectable, Injector } from '@opensumi/di';
|
|
4
|
+
import { PrefixQuickOpenService } from '@opensumi/ide-core-browser/lib/quick-open';
|
|
5
|
+
import { AppConfig } from '@opensumi/ide-core-browser/lib/react-providers/config-provider';
|
|
6
|
+
import { IWindowService } from '@opensumi/ide-core-browser/lib/window';
|
|
7
|
+
import { URI } from '@opensumi/ide-core-common';
|
|
8
|
+
import { CommandService } from '@opensumi/ide-core-common/lib/command';
|
|
9
|
+
import { IWorkspaceService } from '@opensumi/ide-workspace/lib/common/workspace.interface';
|
|
10
|
+
|
|
11
|
+
import { escapeRegExpCharacters } from '../terminal.typeAhead.addon';
|
|
12
|
+
|
|
13
|
+
import { TerminalBaseLinkProvider } from './base';
|
|
14
|
+
import { convertLinkRangeToBuffer, getXtermLineContent } from './helpers';
|
|
15
|
+
import { TerminalLink } from './link';
|
|
16
|
+
|
|
17
|
+
export const USUAL_WORD_SEPARATORS = ' ()[]{}\',"`─‘’“”|';
|
|
18
|
+
|
|
19
|
+
interface Word {
|
|
20
|
+
startIndex: number;
|
|
21
|
+
endIndex: number;
|
|
22
|
+
text: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@Injectable({ multiple: true })
|
|
26
|
+
export class TerminalWordLinkProvider extends TerminalBaseLinkProvider {
|
|
27
|
+
private _separatorRegex!: RegExp;
|
|
28
|
+
|
|
29
|
+
@Autowired(AppConfig)
|
|
30
|
+
private readonly appConfig: AppConfig;
|
|
31
|
+
|
|
32
|
+
@Autowired(CommandService)
|
|
33
|
+
private readonly commandService: CommandService;
|
|
34
|
+
|
|
35
|
+
@Autowired(IWindowService)
|
|
36
|
+
protected readonly windowService: IWindowService;
|
|
37
|
+
|
|
38
|
+
@Autowired(INJECTOR_TOKEN)
|
|
39
|
+
private readonly injector: Injector;
|
|
40
|
+
|
|
41
|
+
@Autowired(IWorkspaceService)
|
|
42
|
+
private readonly workspaceService: IWorkspaceService;
|
|
43
|
+
|
|
44
|
+
@Autowired(PrefixQuickOpenService)
|
|
45
|
+
protected readonly quickOpenService: PrefixQuickOpenService;
|
|
46
|
+
|
|
47
|
+
constructor(
|
|
48
|
+
private readonly _xterm: Terminal,
|
|
49
|
+
private readonly _validationCallback: (
|
|
50
|
+
link: string,
|
|
51
|
+
callback: (result: { uri: URI; isDirectory: boolean } | undefined) => void,
|
|
52
|
+
) => void,
|
|
53
|
+
private readonly _activateFileCallback: (event: MouseEvent | undefined, link: string) => void,
|
|
54
|
+
) {
|
|
55
|
+
super();
|
|
56
|
+
this._refreshSeparatorCodes();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
private _refreshSeparatorCodes(): void {
|
|
60
|
+
let powerlineSymbols = '';
|
|
61
|
+
for (let i = 0xe0b0; i <= 0xe0bf; i++) {
|
|
62
|
+
powerlineSymbols += String.fromCharCode(i);
|
|
63
|
+
}
|
|
64
|
+
this._separatorRegex = new RegExp(`[${escapeRegExpCharacters(USUAL_WORD_SEPARATORS)}${powerlineSymbols}]`, 'g');
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
protected _provideLinks(bufferLineNumber: number): Promise<TerminalLink[]> | TerminalLink[] {
|
|
68
|
+
const links: TerminalLink[] = [];
|
|
69
|
+
const startLine = bufferLineNumber - 1;
|
|
70
|
+
const endLine = startLine;
|
|
71
|
+
|
|
72
|
+
const lines: IBufferLine[] = [this._xterm.buffer.active.getLine(startLine)!];
|
|
73
|
+
|
|
74
|
+
const text = getXtermLineContent(this._xterm.buffer.active, startLine, endLine, this._xterm.cols);
|
|
75
|
+
if (text === '' || text.length > 1024) {
|
|
76
|
+
return [];
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Parse out all words from the wrapped line
|
|
80
|
+
const words: Word[] = this._parseWords(text);
|
|
81
|
+
|
|
82
|
+
// Map the words to ITerminalLink objects
|
|
83
|
+
for (const word of words) {
|
|
84
|
+
if (word.text === '') {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (word.text.length > 0 && word.text.charAt(word.text.length - 1) === ':') {
|
|
89
|
+
word.text = word.text.slice(0, -1);
|
|
90
|
+
word.endIndex--;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const bufferRange = convertLinkRangeToBuffer(
|
|
94
|
+
lines,
|
|
95
|
+
this._xterm.cols,
|
|
96
|
+
{
|
|
97
|
+
startColumn: word.startIndex + 1,
|
|
98
|
+
startLineNumber: 1,
|
|
99
|
+
endColumn: word.endIndex + 1,
|
|
100
|
+
endLineNumber: 1,
|
|
101
|
+
},
|
|
102
|
+
startLine,
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
// Search links
|
|
106
|
+
const activateHandler = (event: MouseEvent | undefined, text: string) => {
|
|
107
|
+
this._validationCallback(text, async (result) => {
|
|
108
|
+
if (result) {
|
|
109
|
+
if (result.isDirectory) {
|
|
110
|
+
this._handleLocalFolderLink(result.uri);
|
|
111
|
+
} else {
|
|
112
|
+
this._activateFileCallback(event, text);
|
|
113
|
+
}
|
|
114
|
+
} else {
|
|
115
|
+
this.quickOpenService.open(text);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
links.push(
|
|
121
|
+
this.injector.get(TerminalLink, [
|
|
122
|
+
this._xterm,
|
|
123
|
+
bufferRange,
|
|
124
|
+
word.text,
|
|
125
|
+
this._xterm.buffer.active.viewportY,
|
|
126
|
+
activateHandler,
|
|
127
|
+
undefined,
|
|
128
|
+
true,
|
|
129
|
+
word.text,
|
|
130
|
+
]),
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return links;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
private async _handleLocalFolderLink(uri: URI): Promise<void> {
|
|
138
|
+
// If the folder is within one of the window's workspaces, focus it in the explorer
|
|
139
|
+
if (await this._isDirectoryInsideWorkspace(uri)) {
|
|
140
|
+
await this.commandService.executeCommand('revealInExplorer', uri);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Open a new window for the folder
|
|
145
|
+
if (this.appConfig.isElectronRenderer) {
|
|
146
|
+
this.windowService.openWorkspace(uri, { newWindow: true });
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
private _parseWords(text: string): Word[] {
|
|
151
|
+
const words: Word[] = [];
|
|
152
|
+
const splitWords = text.split(this._separatorRegex);
|
|
153
|
+
let runningIndex = 0;
|
|
154
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
155
|
+
for (let i = 0; i < splitWords.length; i++) {
|
|
156
|
+
words.push({
|
|
157
|
+
text: splitWords[i],
|
|
158
|
+
startIndex: runningIndex,
|
|
159
|
+
endIndex: runningIndex + splitWords[i].length,
|
|
160
|
+
});
|
|
161
|
+
runningIndex += splitWords[i].length + 1;
|
|
162
|
+
}
|
|
163
|
+
return words;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
private async _isDirectoryInsideWorkspace(uri: URI) {
|
|
167
|
+
const folders = await this.workspaceService.roots;
|
|
168
|
+
for (const folder of folders) {
|
|
169
|
+
if (URI.parse(folder.uri).isEqualOrParent(uri)) {
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
}
|