@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.
Files changed (63) hide show
  1. package/lib/browser/component/resize.view.d.ts.map +1 -1
  2. package/lib/browser/component/resize.view.js +2 -2
  3. package/lib/browser/component/resize.view.js.map +1 -1
  4. package/lib/browser/component/tab.item.d.ts.map +1 -1
  5. package/lib/browser/component/tab.item.js +23 -1
  6. package/lib/browser/component/tab.item.js.map +1 -1
  7. package/lib/browser/component/tab.view.d.ts.map +1 -1
  8. package/lib/browser/component/tab.view.js +10 -1
  9. package/lib/browser/component/tab.view.js.map +1 -1
  10. package/lib/browser/component/terminal.module.less +6 -0
  11. package/lib/browser/component/terminal.widget.d.ts.map +1 -1
  12. package/lib/browser/component/terminal.widget.js +9 -3
  13. package/lib/browser/component/terminal.widget.js.map +1 -1
  14. package/lib/browser/contribution/terminal.view.d.ts.map +1 -1
  15. package/lib/browser/contribution/terminal.view.js +2 -0
  16. package/lib/browser/contribution/terminal.view.js.map +1 -1
  17. package/lib/browser/links/link-manager.d.ts.map +1 -1
  18. package/lib/browser/links/link-manager.js +10 -7
  19. package/lib/browser/links/link-manager.js.map +1 -1
  20. package/lib/browser/links/validated-local-link-provider.d.ts +1 -0
  21. package/lib/browser/links/validated-local-link-provider.d.ts.map +1 -1
  22. package/lib/browser/links/validated-local-link-provider.js +55 -42
  23. package/lib/browser/links/validated-local-link-provider.js.map +1 -1
  24. package/lib/browser/links/word-link-provider.d.ts +29 -0
  25. package/lib/browser/links/word-link-provider.d.ts.map +1 -0
  26. package/lib/browser/links/word-link-provider.js +153 -0
  27. package/lib/browser/links/word-link-provider.js.map +1 -0
  28. package/lib/browser/terminal.controller.d.ts +1 -2
  29. package/lib/browser/terminal.controller.d.ts.map +1 -1
  30. package/lib/browser/terminal.controller.js +6 -6
  31. package/lib/browser/terminal.controller.js.map +1 -1
  32. package/lib/browser/terminal.hover.manager.d.ts.map +1 -1
  33. package/lib/browser/terminal.hover.manager.js +4 -2
  34. package/lib/browser/terminal.hover.manager.js.map +1 -1
  35. package/lib/browser/terminal.view.d.ts +6 -5
  36. package/lib/browser/terminal.view.d.ts.map +1 -1
  37. package/lib/browser/terminal.view.js +13 -0
  38. package/lib/browser/terminal.view.js.map +1 -1
  39. package/lib/common/controller.d.ts +1 -0
  40. package/lib/common/controller.d.ts.map +1 -1
  41. package/lib/common/controller.js.map +1 -1
  42. package/lib/common/pty.d.ts +1 -1
  43. package/lib/common/pty.d.ts.map +1 -1
  44. package/lib/common/render.d.ts +3 -0
  45. package/lib/common/render.d.ts.map +1 -1
  46. package/lib/common/render.js.map +1 -1
  47. package/package.json +18 -18
  48. package/src/browser/component/resize.view.tsx +2 -1
  49. package/src/browser/component/tab.item.tsx +38 -0
  50. package/src/browser/component/tab.view.tsx +12 -0
  51. package/src/browser/component/terminal.module.less +6 -0
  52. package/src/browser/component/terminal.widget.tsx +8 -3
  53. package/src/browser/contribution/terminal.view.ts +2 -0
  54. package/src/browser/links/link-manager.ts +11 -8
  55. package/src/browser/links/validated-local-link-provider.ts +68 -48
  56. package/src/browser/links/word-link-provider.ts +175 -0
  57. package/src/browser/terminal.controller.ts +7 -8
  58. package/src/browser/terminal.hover.manager.ts +4 -4
  59. package/src/browser/terminal.view.ts +17 -0
  60. package/src/common/controller.ts +2 -0
  61. package/src/common/pty.ts +1 -1
  62. package/src/common/render.ts +3 -0
  63. package/src/common/xterm-private.d.ts +7 -4
@@ -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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"}
@@ -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;CAClB;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"}
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"}
@@ -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;AAiBY,QAAA,uBAAuB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC"}
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.1",
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.1",
21
- "@opensumi/ide-core-common": "3.7.1",
22
- "@opensumi/ide-core-node": "3.7.1",
23
- "@opensumi/ide-file-service": "3.7.1",
24
- "@opensumi/ide-utils": "3.7.1",
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.1",
35
- "@opensumi/ide-core-browser": "3.7.1",
36
- "@opensumi/ide-dev-tool": "3.7.1",
37
- "@opensumi/ide-editor": "3.7.1",
38
- "@opensumi/ide-main-layout": "3.7.1",
39
- "@opensumi/ide-monaco": "3.7.1",
40
- "@opensumi/ide-overlay": "3.7.1",
41
- "@opensumi/ide-status-bar": "3.7.1",
42
- "@opensumi/ide-theme": "3.7.1",
43
- "@opensumi/ide-variable": "3.7.1",
44
- "@opensumi/ide-workspace": "3.7.1",
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": "222d1329fb66dfc168696348c2512e1c3bbaf622"
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 = content.current;
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.terminalContent}
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.actualCellWidth,
169
- height: core._renderService.dimensions.actualCellHeight,
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(linkUrl);
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
- // Convert the link text's string index into a wrapped buffer range
174
- const bufferRange = convertLinkRangeToBuffer(
175
- lines,
176
- this._xterm.cols,
177
- {
178
- startColumn: stringIndex + 1,
179
- startLineNumber: 1,
180
- endColumn: stringIndex + link.length + 1,
181
- endLineNumber: 1,
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
+ }