@opensumi/ide-terminal-next 3.8.3-next-1747817292.0 → 3.8.3-next-1747818383.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.
@@ -74,7 +74,6 @@ export declare class TerminalLinkManager extends Disposable {
74
74
  private _getUserHomeDirOnce;
75
75
  protected _preprocessPath(link: string): Promise<string | null>;
76
76
  private _resolvePath;
77
- private _extractLineInfoFromMatch;
78
77
  /**
79
78
  * Returns line and column number of URl if that is present.
80
79
  *
@@ -89,7 +88,6 @@ export declare class TerminalLinkManager extends Disposable {
89
88
  extractLinkUrl(link: string): string | null;
90
89
  }
91
90
  export interface LineColumnInfo {
92
- filePath: string;
93
91
  lineNumber: number;
94
92
  columnNumber: number;
95
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"link-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/links/link-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/links/link-manager.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ const ide_core_common_1 = require("@opensumi/ide-core-common");
9
9
  const common_1 = require("@opensumi/ide-editor/lib/common");
10
10
  const ide_file_service_1 = require("@opensumi/ide-file-service");
11
11
  const common_2 = require("../../common");
12
- const terminal_link_1 = require("../../common/terminal-link");
13
12
  const terminal_client_1 = require("../terminal.client");
14
13
  const external_link_provider_adapter_1 = require("./external-link-provider-adapter");
15
14
  const protocol_link_provider_1 = require("./protocol-link-provider");
@@ -124,23 +123,24 @@ let TerminalLinkManager = class TerminalLinkManager extends ide_core_common_1.Di
124
123
  };
125
124
  }
126
125
  get _localLinkRegex() {
127
- const baseLocalLinkClause = this._client.os === ide_core_common_1.OperatingSystem.Windows ? terminal_link_1.winLocalLinkClause : terminal_link_1.unixLocalLinkClause;
126
+ const baseLocalLinkClause = this._client.os === ide_core_common_1.OperatingSystem.Windows ? validated_local_link_provider_1.winLocalLinkClause : validated_local_link_provider_1.unixLocalLinkClause;
128
127
  // Append line and column number regex
129
- return new RegExp(`${baseLocalLinkClause}(${(0, terminal_link_1.getLineAndColumnClause)()})`);
128
+ return new RegExp(`${baseLocalLinkClause}(${validated_local_link_provider_1.lineAndColumnClause})`);
130
129
  }
131
130
  async _handleLocalLink(link) {
132
- const lineColumnInfo = this.extractLineColumnInfo(link);
133
- const resolvedLink = await this._resolvePath(lineColumnInfo.filePath);
131
+ // TODO: This gets resolved again but doesn't need to as it's already validated
132
+ const resolvedLink = await this._resolvePath(link);
134
133
  if (!resolvedLink) {
135
134
  return;
136
135
  }
136
+ const lineColumnInfo = this.extractLineColumnInfo(link);
137
137
  const range = {
138
138
  startLineNumber: lineColumnInfo.lineNumber,
139
139
  endLineNumber: lineColumnInfo.lineNumber,
140
140
  startColumn: lineColumnInfo.columnNumber,
141
141
  endColumn: lineColumnInfo.columnNumber,
142
142
  };
143
- await this._editorService.open(resolvedLink.uri, { range, focus: true });
143
+ await this._editorService.open(resolvedLink.uri, { range });
144
144
  }
145
145
  _handleHypertextLink(url) {
146
146
  this._openerService.open(url);
@@ -222,7 +222,7 @@ let TerminalLinkManager = class TerminalLinkManager extends ide_core_common_1.Di
222
222
  const cwd = await this.getTerminalCwd();
223
223
  // Resolve workspace path . | .. | <relative_path> -> <path>/. | <path>/.. | <path>/<relative_path>
224
224
  if (this._client.os === ide_core_common_1.OperatingSystem.Windows) {
225
- if (!link.match('^' + terminal_link_1.winDrivePrefix) && !link.startsWith('\\\\?\\')) {
225
+ if (!link.match('^' + validated_local_link_provider_1.winDrivePrefix) && !link.startsWith('\\\\?\\')) {
226
226
  if (!cwd) {
227
227
  // Abort if no workspace is open
228
228
  return null;
@@ -263,31 +263,35 @@ let TerminalLinkManager = class TerminalLinkManager extends ide_core_common_1.Di
263
263
  return undefined;
264
264
  }
265
265
  }
266
- _extractLineInfoFromMatch(match) {
267
- return (0, terminal_link_1.extractLineInfoFromMatch)(match);
268
- }
269
266
  /**
270
267
  * Returns line and column number of URl if that is present.
271
268
  *
272
269
  * @param link Url link which may contain line and column number.
273
270
  */
274
271
  extractLineColumnInfo(link) {
275
- var _a, _b, _c;
276
272
  const matches = this._localLinkRegex.exec(link);
277
273
  const lineColumnInfo = {
278
274
  lineNumber: 1,
279
275
  columnNumber: 1,
280
- filePath: link,
281
276
  };
282
277
  if (!matches) {
283
278
  return lineColumnInfo;
284
279
  }
285
- const lineInfo = this._extractLineInfoFromMatch(matches);
286
- return {
287
- filePath: (_a = lineInfo.filePath) !== null && _a !== void 0 ? _a : link,
288
- lineNumber: (_b = lineInfo.line) !== null && _b !== void 0 ? _b : 1,
289
- columnNumber: (_c = lineInfo.column) !== null && _c !== void 0 ? _c : 1,
290
- };
280
+ const lineAndColumnMatchIndex = this._client.os === ide_core_common_1.OperatingSystem.Windows ? validated_local_link_provider_1.winLineAndColumnMatchIndex : validated_local_link_provider_1.unixLineAndColumnMatchIndex;
281
+ for (let i = 0; i < validated_local_link_provider_1.lineAndColumnClause.length; i++) {
282
+ const lineMatchIndex = lineAndColumnMatchIndex + validated_local_link_provider_1.lineAndColumnClauseGroupCount * i;
283
+ const rowNumber = matches[lineMatchIndex];
284
+ if (rowNumber) {
285
+ lineColumnInfo['lineNumber'] = parseInt(rowNumber, 10);
286
+ // Check if column number exists
287
+ const columnNumber = matches[lineMatchIndex + 2];
288
+ if (columnNumber) {
289
+ lineColumnInfo['columnNumber'] = parseInt(columnNumber, 10);
290
+ }
291
+ break;
292
+ }
293
+ }
294
+ return lineColumnInfo;
291
295
  }
292
296
  /**
293
297
  * Returns url from link as link may contain line and column information.
@@ -1 +1 @@
1
- {"version":3,"file":"link-manager.js","sourceRoot":"","sources":["../../../src/browser/links/link-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link-manager.js","sourceRoot":"","sources":["../../../src/browser/links/link-manager.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,6 @@ export declare class TerminalLink extends Disposable implements ILink {
12
12
  private readonly _tooltipCallback;
13
13
  private readonly _isHighConfidenceLink;
14
14
  readonly label: string | undefined;
15
- private readonly _lineInfo?;
16
15
  decorations: ILinkDecorations;
17
16
  private readonly preferenceService;
18
17
  private _tooltipScheduler;
@@ -20,19 +19,7 @@ export declare class TerminalLink extends Disposable implements ILink {
20
19
  private _tooltipDisposable;
21
20
  private readonly _onInvalidated;
22
21
  get onInvalidated(): Event<void>;
23
- constructor(_xterm: Terminal, range: IBufferRange, text: string, _viewportY: number, _activateCallback: (event: MouseEvent | undefined, uri: string, lineInfo?: {
24
- filePath?: string;
25
- line?: number;
26
- column?: number;
27
- endLine?: number;
28
- endColumn?: number;
29
- }) => void, _tooltipCallback: (link: TerminalLink, viewportRange: IViewportRange, modifierDownCallback?: () => void, modifierUpCallback?: () => void) => IDisposable | undefined, _isHighConfidenceLink: boolean, label: string | undefined, _lineInfo?: {
30
- filePath?: string;
31
- line?: number;
32
- column?: number;
33
- endLine?: number;
34
- endColumn?: number;
35
- } | undefined);
22
+ constructor(_xterm: Terminal, range: IBufferRange, text: string, _viewportY: number, _activateCallback: (event: MouseEvent | undefined, uri: string) => void, _tooltipCallback: (link: TerminalLink, viewportRange: IViewportRange, modifierDownCallback?: () => void, modifierUpCallback?: () => void) => IDisposable | undefined, _isHighConfidenceLink: boolean, label: string | undefined);
36
23
  dispose(): void;
37
24
  activate(event: MouseEvent | undefined, text: string): void;
38
25
  hover(event: MouseEvent, text: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/browser/links/link.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EAGV,KAAK,EACL,WAAW,EAIZ,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAKpG,eAAO,MAAM,eAAe,QAAuD,CAAC;AACpF,eAAO,MAAM,yBAAyB,QAA+D,CAAC;AACtG,eAAO,MAAM,6BAA6B,QAA+D,CAAC;AAE1G,qBACa,YAAa,SAAQ,UAAW,YAAW,KAAK;IAgBzD,OAAO,CAAC,QAAQ,CAAC,MAAM;aACP,KAAK,EAAE,YAAY;aACnB,IAAI,EAAE,MAAM;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAWlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAMjC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAtC7B,WAAW,EAAE,gBAAgB,CAAC;IAG9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAEtD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,kBAAkB,CAA0B;IAEpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,IAAW,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,CAEtC;gBAGkB,MAAM,EAAE,QAAQ,EACjB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,CAClC,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,KACE,IAAI,EACQ,gBAAgB,EAAE,CACjC,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,cAAc,EAC7B,oBAAoB,CAAC,EAAE,MAAM,IAAI,EACjC,kBAAkB,CAAC,EAAE,MAAM,IAAI,KAC5B,WAAW,GAAG,SAAS,EACX,qBAAqB,EAAE,OAAO,EACtC,KAAK,EAAE,MAAM,GAAG,SAAS,EACjB,SAAS,CAAC,EAAE;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,YAAA;IASH,OAAO,IAAI,IAAI;IAUf,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3D,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAoE5C,KAAK,IAAI,IAAI;IASb,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,eAAe;CAGxB"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/browser/links/link.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EAGV,KAAK,EACL,WAAW,EAIZ,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAKpG,eAAO,MAAM,eAAe,QAAuD,CAAC;AACpF,eAAO,MAAM,yBAAyB,QAA+D,CAAC;AACtG,eAAO,MAAM,6BAA6B,QAA+D,CAAC;AAE1G,qBACa,YAAa,SAAQ,UAAW,YAAW,KAAK;IAgBzD,OAAO,CAAC,QAAQ,CAAC,MAAM;aACP,KAAK,EAAE,YAAY;aACnB,IAAI,EAAE,MAAM;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAMjC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IA3BpC,WAAW,EAAE,gBAAgB,CAAC;IAG9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAEtD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,kBAAkB,CAA0B;IAEpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,IAAW,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,CAEtC;gBAGkB,MAAM,EAAE,QAAQ,EACjB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,EACvE,gBAAgB,EAAE,CACjC,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,cAAc,EAC7B,oBAAoB,CAAC,EAAE,MAAM,IAAI,EACjC,kBAAkB,CAAC,EAAE,MAAM,IAAI,KAC5B,WAAW,GAAG,SAAS,EACX,qBAAqB,EAAE,OAAO,EACtC,KAAK,EAAE,MAAM,GAAG,SAAS;IASpC,OAAO,IAAI,IAAI;IAUf,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3D,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAoE5C,KAAK,IAAI,IAAI;IASb,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,eAAe;CAGxB"}
@@ -15,7 +15,7 @@ let TerminalLink = class TerminalLink extends ide_core_common_1.Disposable {
15
15
  get onInvalidated() {
16
16
  return this._onInvalidated.event;
17
17
  }
18
- constructor(_xterm, range, text, _viewportY, _activateCallback, _tooltipCallback, _isHighConfidenceLink, label, _lineInfo) {
18
+ constructor(_xterm, range, text, _viewportY, _activateCallback, _tooltipCallback, _isHighConfidenceLink, label) {
19
19
  super();
20
20
  this._xterm = _xterm;
21
21
  this.range = range;
@@ -25,7 +25,6 @@ let TerminalLink = class TerminalLink extends ide_core_common_1.Disposable {
25
25
  this._tooltipCallback = _tooltipCallback;
26
26
  this._isHighConfidenceLink = _isHighConfidenceLink;
27
27
  this.label = label;
28
- this._lineInfo = _lineInfo;
29
28
  this._onInvalidated = new ide_core_common_1.Emitter();
30
29
  this.decorations = {
31
30
  pointerCursor: false,
@@ -43,7 +42,7 @@ let TerminalLink = class TerminalLink extends ide_core_common_1.Disposable {
43
42
  this._tooltipDisposable = undefined;
44
43
  }
45
44
  activate(event, text) {
46
- this._activateCallback(event, text, this._lineInfo);
45
+ this._activateCallback(event, text);
47
46
  }
48
47
  hover(event, text) {
49
48
  // Listen for modifier before handing it off to the hover to handle so it gets disposed correctly
@@ -132,6 +131,6 @@ tslib_1.__decorate([
132
131
  ], TerminalLink.prototype, "preferenceService", void 0);
133
132
  exports.TerminalLink = TerminalLink = tslib_1.__decorate([
134
133
  (0, di_1.Injectable)({ multiple: true }),
135
- tslib_1.__metadata("design:paramtypes", [Function, Object, String, Number, Function, Function, Boolean, Object, Object])
134
+ tslib_1.__metadata("design:paramtypes", [Function, Object, String, Number, Function, Function, Boolean, Object])
136
135
  ], TerminalLink);
137
136
  //# sourceMappingURL=link.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/browser/links/link.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,iEAAsF;AACtF,+DASmC;AAEnC,uCAAyD;AAIzD,wEAAwE;AACxE,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEnB,QAAA,eAAe,GAAG,IAAA,0BAAQ,EAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AACvE,QAAA,yBAAyB,GAAG,IAAA,0BAAQ,EAAC,sBAAsB,EAAE,0BAA0B,CAAC,CAAC;AACzF,QAAA,6BAA6B,GAAG,IAAA,0BAAQ,EAAC,qBAAqB,EAAE,2BAA2B,CAAC,CAAC;AAGnG,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAU;IAW1C,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;IACnC,CAAC;IAED,YACmB,MAAgB,EACjB,KAAmB,EACnB,IAAY,EACX,UAAkB,EAClB,iBAUR,EACQ,gBAKW,EACX,qBAA8B,EACtC,KAAyB,EACjB,SAMhB;QAED,KAAK,EAAE,CAAC;QA/BS,WAAM,GAAN,MAAM,CAAU;QACjB,UAAK,GAAL,KAAK,CAAc;QACnB,SAAI,GAAJ,IAAI,CAAQ;QACX,eAAU,GAAV,UAAU,CAAQ;QAClB,sBAAiB,GAAjB,iBAAiB,CAUzB;QACQ,qBAAgB,GAAhB,gBAAgB,CAKL;QACX,0BAAqB,GAArB,qBAAqB,CAAS;QACtC,UAAK,GAAL,KAAK,CAAoB;QACjB,cAAS,GAAT,SAAS,CAMzB;QAnCc,mBAAc,GAAG,IAAI,yBAAO,EAAQ,CAAC;QAsCpD,IAAI,CAAC,WAAW,GAAG;YACjB,aAAa,EAAE,KAAK;YACpB,SAAS,EAAE,IAAI,CAAC,qBAAqB;SACtC,CAAC;IACJ,CAAC;IAED,OAAO;;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,MAAA,IAAI,CAAC,eAAe,0CAAE,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,MAAA,IAAI,CAAC,iBAAiB,0CAAE,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,MAAA,IAAI,CAAC,kBAAkB,0CAAE,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,KAA6B,EAAE,IAAY;QAClD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,KAAiB,EAAE,IAAY;QACnC,iGAAiG;QACjG,IAAI,CAAC,eAAe,GAAG,IAAI,sCAAoB,EAAE,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAA,wCAAqB,EAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YAC/C,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAA,wCAAqB,EAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YAC7C,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,oEAAoE;QACpE,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE;YACzB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5D,IAAI,cAAc,IAAI,CAAC,CAAC,KAAK,IAAI,cAAc,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;gBACzD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,2FAA2F;QAC3F,wEAAwE;QACxE,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,kCAAgB,CAAC,GAAG,EAAE;;gBACjD,IAAI,CAAC,kBAAkB,GAAG,MAAA,IAAI,CAAC,gBAAgB,qDAC7C,IAAI,EACJ,IAAA,sCAA4B,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EACzD,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,SAAS,EACxE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,SAAS,CAC1E,CAAC;gBACF,6CAA6C;gBAC7C,MAAA,IAAI,CAAC,iBAAiB,0CAAE,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACrC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAS,oBAAoB,CAAC,IAAI,mBAAmB,CAAC,CAAC;YACpF,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAClD,IAAI,CAAC,eAAe,CAAC,IAAI,CACvB,IAAA,wCAAqB,EAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;;YACjD,qBAAqB;YACrB,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;YAED,kDAAkD;YAClD,IACE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC;gBAC1D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAC1D,CAAC;gBACD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;gBACnB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;gBACnB,MAAA,IAAI,CAAC,iBAAiB,0CAAE,QAAQ,EAAE,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK;;QACH,MAAA,IAAI,CAAC,eAAe,0CAAE,OAAO,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,MAAA,IAAI,CAAC,iBAAiB,0CAAE,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,MAAA,IAAI,CAAC,kBAAkB,0CAAE,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;IACtC,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,KAAK,CAAC;QACzC,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,KAAK,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAC1D,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAiC;QACvD,OAAO,uBAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAC/C,CAAC;CACF,CAAA;AAtKY,oCAAY;AAIN;IADhB,IAAA,cAAS,EAAC,oCAAiB,CAAC;;uDACyB;uBAJ3C,YAAY;IADxB,IAAA,eAAU,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;GAClB,YAAY,CAsKxB"}
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../../src/browser/links/link.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,17 @@ import { TerminalLink } from './link';
5
5
  import { XtermLinkMatcherHandler } from './link-manager';
6
6
  import type { TerminalClient } from '../terminal.client';
7
7
  import type { IViewportRange, Terminal } from '@xterm/xterm';
8
+ /** A regex that matches paths in the form /foo, ~/foo, ./foo, ../foo, foo/bar */
9
+ export declare const unixLocalLinkClause: string;
10
+ export declare const winDrivePrefix = "(?:\\\\\\\\\\?\\\\)?[a-zA-Z]:";
11
+ /** A regex that matches paths in the form \\?\c:\foo c:\foo, ~\foo, .\foo, ..\foo, foo\bar */
12
+ export declare const winLocalLinkClause: string;
13
+ /** As xterm reads from DOM, space in that case is nonbreaking char ASCII code - 160,
14
+ replacing space with nonBreakningSpace or space ASCII code - 32. */
15
+ export declare const lineAndColumnClause: string;
16
+ export declare const winLineAndColumnMatchIndex = 12;
17
+ export declare const unixLineAndColumnMatchIndex = 11;
18
+ export declare const lineAndColumnClauseGroupCount = 6;
8
19
  export declare class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider {
9
20
  private readonly _xterm;
10
21
  private readonly _client;
@@ -22,9 +33,8 @@ export declare class TerminalValidatedLocalLinkProvider extends TerminalBaseLink
22
33
  isDirectory: boolean;
23
34
  } | undefined) => void) => void);
24
35
  protected _provideLinks(y: number): Promise<TerminalLink[]>;
25
- private _extractLineInfoFromMatch;
26
- protected get _localLinkRegex(): RegExp;
27
36
  private detectLocalLink;
37
+ protected get _localLinkRegex(): RegExp;
28
38
  private _handleLocalFolderLink;
29
39
  private _isDirectoryInsideWorkspace;
30
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validated-local-link-provider.d.ts","sourceRoot":"","sources":["../../../src/browser/links/validated-local-link-provider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAA2B,WAAW,EAAmB,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAYvG,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAA6E,YAAY,EAAE,MAAM,QAAQ,CAAC;AACjH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAe,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE1E,qBACa,kCAAmC,SAAQ,wBAAwB;IAiB5E,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAGjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAMjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IA3BtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAGpC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IAGjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAGhD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAGnB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,cAAc,EACvB,qBAAqB,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,EAC5E,gBAAgB,EAAE,CACjC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,KAC3D,uBAAuB,EACX,gBAAgB,EAAE,CACjC,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,cAAc,EAC7B,oBAAoB,CAAC,EAAE,MAAM,IAAI,EACjC,kBAAkB,CAAC,EAAE,MAAM,IAAI,KAC5B,WAAW,EACC,mBAAmB,EAAE,CACpC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,KAAK,IAAI,KACvE,IAAI;cAKK,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAqEjE,OAAO,CAAC,yBAAyB;IAIjC,SAAS,KAAK,eAAe,IAAI,MAAM,CAItC;YAEa,eAAe;YA4Ef,sBAAsB;YAatB,2BAA2B;CAS1C"}
1
+ {"version":3,"file":"validated-local-link-provider.d.ts","sourceRoot":"","sources":["../../../src/browser/links/validated-local-link-provider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAkB,WAAW,EAAmB,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAG9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAA6E,YAAY,EAAE,MAAM,QAAQ,CAAC;AACjH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAe,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAO1E,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,QASvB,CAAC;AAEV,eAAO,MAAM,cAAc,kCAAkC,CAAC;AAI9D,8FAA8F;AAC9F,eAAO,MAAM,kBAAkB,QAStB,CAAC;AAEV;mEACmE;AACnE,eAAO,MAAM,mBAAmB,QASE,CAAC;AAGnC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAG9C,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAI/C,qBACa,kCAAmC,SAAQ,wBAAwB;IAiB5E,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAGjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAMjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IA3BtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAGpC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;IAGjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAGhD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAGrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAGnB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,cAAc,EACvB,qBAAqB,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,EAC5E,gBAAgB,EAAE,CACjC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,KAC3D,uBAAuB,EACX,gBAAgB,EAAE,CACjC,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,cAAc,EAC7B,oBAAoB,CAAC,EAAE,MAAM,IAAI,EACjC,kBAAkB,CAAC,EAAE,MAAM,IAAI,KAC5B,WAAW,EACC,mBAAmB,EAAE,CACpC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,KAAK,IAAI,KACvE,IAAI;cAKK,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YAmEnD,eAAe;IAgE7B,SAAS,KAAK,eAAe,IAAI,MAAM,CAItC;YAEa,sBAAsB;YAatB,2BAA2B;CAS1C"}
@@ -5,17 +5,63 @@
5
5
  *--------------------------------------------------------------------------------------------*/
6
6
  // Some code copied and modified from https://github.com/microsoft/vscode/blob/1.63.2/src/vs/workbench/contrib/terminal/browser/links/terminalValidatedLocalLinkProvider.ts
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.TerminalValidatedLocalLinkProvider = void 0;
8
+ exports.TerminalValidatedLocalLinkProvider = exports.lineAndColumnClauseGroupCount = exports.unixLineAndColumnMatchIndex = exports.winLineAndColumnMatchIndex = exports.lineAndColumnClause = exports.winLocalLinkClause = exports.winDrivePrefix = exports.unixLocalLinkClause = void 0;
9
9
  const tslib_1 = require("tslib");
10
10
  const di_1 = require("@opensumi/di");
11
11
  const config_provider_1 = require("@opensumi/ide-core-browser/lib/react-providers/config-provider");
12
12
  const window_1 = require("@opensumi/ide-core-browser/lib/window");
13
13
  const ide_core_common_1 = require("@opensumi/ide-core-common");
14
14
  const workspace_interface_1 = require("@opensumi/ide-workspace/lib/common/workspace.interface");
15
- const terminal_link_1 = require("../../common/terminal-link");
16
15
  const base_1 = require("./base");
17
16
  const helpers_1 = require("./helpers");
18
17
  const link_1 = require("./link");
18
+ const pathPrefix = '(\\.\\.?|\\~)';
19
+ const pathSeparatorClause = '\\/';
20
+ // '":; are allowed in paths but they are often separators so ignore them
21
+ // Also disallow \\ to prevent a catastropic backtracking case #24795
22
+ const excludedPathCharactersClause = '[^\\0\\s!`&*()\\[\\]\'":;\\\\]';
23
+ /** A regex that matches paths in the form /foo, ~/foo, ./foo, ../foo, foo/bar */
24
+ exports.unixLocalLinkClause = '((' +
25
+ pathPrefix +
26
+ '|(' +
27
+ excludedPathCharactersClause +
28
+ ')+)?(' +
29
+ pathSeparatorClause +
30
+ '(' +
31
+ excludedPathCharactersClause +
32
+ ')+)+)';
33
+ exports.winDrivePrefix = '(?:\\\\\\\\\\?\\\\)?[a-zA-Z]:';
34
+ const winPathPrefix = '(' + exports.winDrivePrefix + '|\\.\\.?|\\~)';
35
+ const winPathSeparatorClause = '(\\\\|\\/)';
36
+ const winExcludedPathCharactersClause = '[^\\0<>\\?\\|\\/\\s!`&*()\\[\\]\'":;]';
37
+ /** A regex that matches paths in the form \\?\c:\foo c:\foo, ~\foo, .\foo, ..\foo, foo\bar */
38
+ exports.winLocalLinkClause = '((' +
39
+ winPathPrefix +
40
+ '|(' +
41
+ winExcludedPathCharactersClause +
42
+ ')+)?(' +
43
+ winPathSeparatorClause +
44
+ '(' +
45
+ winExcludedPathCharactersClause +
46
+ ')+)+)';
47
+ /** As xterm reads from DOM, space in that case is nonbreaking char ASCII code - 160,
48
+ replacing space with nonBreakningSpace or space ASCII code - 32. */
49
+ exports.lineAndColumnClause = [
50
+ '((\\S*)[\'"], line ((\\d+)( column (\\d+))?))', // "(file path)", line 45 [see #40468]
51
+ '((\\S*)[\'"],((\\d+)(:(\\d+))?))', // "(file path)",45 [see #78205]
52
+ '((\\S*) on line ((\\d+)(, column (\\d+))?))', // (file path) on line 8, column 13
53
+ '((\\S*):line ((\\d+)(, column (\\d+))?))', // (file path):line 8, column 13
54
+ '(([^\\s\\(\\)]*)(\\s?[\\(\\[](\\d+)(,\\s?(\\d+))?)[\\)\\]])', // (file path)(45), (file path) (45), (file path)(45,18), (file path) (45,18), (file path)(45, 18), (file path) (45, 18), also with []
55
+ '(([^:\\s\\(\\)<>\'"\\[\\]]*)(:(\\d+))?(:(\\d+))?)', // (file path):336, (file path):336:9
56
+ ]
57
+ .join('|')
58
+ .replace(/ /g, `[${'\u00A0'} ]`);
59
+ // Changing any regex may effect this value, hence changes this as well if required.
60
+ exports.winLineAndColumnMatchIndex = 12;
61
+ exports.unixLineAndColumnMatchIndex = 11;
62
+ // Each line and column clause have 6 groups (ie no. of expressions in round brackets)
63
+ exports.lineAndColumnClauseGroupCount = 6;
64
+ const MAX_LENGTH = 2000;
19
65
  let TerminalValidatedLocalLinkProvider = class TerminalValidatedLocalLinkProvider extends base_1.TerminalBaseLinkProvider {
20
66
  constructor(_xterm, _client, _activateFileCallback, _wrapLinkHandler, _tooltipCallback, _validationCallback) {
21
67
  super();
@@ -41,7 +87,7 @@ let TerminalValidatedLocalLinkProvider = class TerminalValidatedLocalLinkProvide
41
87
  endLine++;
42
88
  }
43
89
  const text = (0, helpers_1.getXtermLineContent)(this._xterm.buffer.active, startLine, endLine, this._xterm.cols);
44
- if (text.length > terminal_link_1.MAX_LENGTH) {
90
+ if (text.length > MAX_LENGTH) {
45
91
  return [];
46
92
  }
47
93
  // clone regex to do a global search on text
@@ -76,32 +122,17 @@ let TerminalValidatedLocalLinkProvider = class TerminalValidatedLocalLinkProvide
76
122
  link = link.substring(2);
77
123
  stringIndex += 2;
78
124
  }
79
- // 从匹配结果中提取行号信息
80
- const lineInfo = this._extractLineInfoFromMatch(match);
81
- const validatedLinks = await this.detectLocalLink(link, lines, startLine, stringIndex, 1, lineInfo);
125
+ const validatedLinks = await this.detectLocalLink(link, lines, startLine, stringIndex, 1);
82
126
  if (validatedLinks.length > 0) {
83
127
  result.push(...validatedLinks);
84
128
  }
85
129
  }
86
130
  return result;
87
131
  }
88
- _extractLineInfoFromMatch(match) {
89
- return (0, terminal_link_1.extractLineInfoFromMatch)(match);
90
- }
91
- get _localLinkRegex() {
92
- const baseLocalLinkClause = this._client.os === ide_core_common_1.OperatingSystem.Windows ? terminal_link_1.winLocalLinkClause : terminal_link_1.unixLocalLinkClause;
93
- // Append line and column number regex
94
- return new RegExp(`(${baseLocalLinkClause})(${(0, terminal_link_1.getLineAndColumnClause)()})?`);
95
- }
96
- async detectLocalLink(text, bufferLines, startLine, stringIndex, offset, lineInfo) {
132
+ async detectLocalLink(text, bufferLines, startLine, stringIndex, offset) {
97
133
  const result = [];
98
134
  const validatedLink = await new Promise((r) => {
99
- var _a;
100
- // 使用匹配到的文件路径
101
- const filePath = ((_a = text.match(this._localLinkRegex)) === null || _a === void 0 ? void 0 : _a[1]) || text;
102
- // 如果是 file:/// 协议,转换为本地路径
103
- const localPath = filePath.startsWith('file://') ? ide_core_common_1.FileUri.fsPath(ide_core_common_1.URI.parse(filePath)) : filePath;
104
- this._validationCallback(localPath, async (result) => {
135
+ this._validationCallback(text, async (result) => {
105
136
  if (result) {
106
137
  const label = result.isDirectory
107
138
  ? (await this._isDirectoryInsideWorkspace(result.uri))
@@ -133,7 +164,6 @@ let TerminalValidatedLocalLinkProvider = class TerminalValidatedLocalLinkProvide
133
164
  tooltipCallback,
134
165
  true,
135
166
  label,
136
- lineInfo,
137
167
  ]));
138
168
  }
139
169
  else {
@@ -146,6 +176,11 @@ let TerminalValidatedLocalLinkProvider = class TerminalValidatedLocalLinkProvide
146
176
  }
147
177
  return result;
148
178
  }
179
+ get _localLinkRegex() {
180
+ const baseLocalLinkClause = this._client.os === ide_core_common_1.OperatingSystem.Windows ? exports.winLocalLinkClause : exports.unixLocalLinkClause;
181
+ // Append line and column number regex
182
+ return new RegExp(`${baseLocalLinkClause}(${exports.lineAndColumnClause})`);
183
+ }
149
184
  async _handleLocalFolderLink(uri) {
150
185
  // If the folder is within one of the window's workspaces, focus it in the explorer
151
186
  if (await this._isDirectoryInsideWorkspace(uri)) {
@@ -1 +1 @@
1
- {"version":3,"file":"validated-local-link-provider.js","sourceRoot":"","sources":["../../../src/browser/links/validated-local-link-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validated-local-link-provider.js","sourceRoot":"","sources":["../../../src/browser/links/validated-local-link-provider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG,2KAA2K;;;;AAE3K,qCAA+E;AAC/E,oGAA2F;AAC3F,kEAAuE;AACvE,+DAA8F;AAC9F,gGAA2F;AAE3F,iCAAkD;AAClD,uCAA0E;AAC1E,iCAAiH;AAMjH,MAAM,UAAU,GAAG,eAAe,CAAC;AACnC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,yEAAyE;AACzE,qEAAqE;AACrE,MAAM,4BAA4B,GAAG,gCAAgC,CAAC;AACtE,iFAAiF;AACpE,QAAA,mBAAmB,GAC9B,IAAI;IACJ,UAAU;IACV,IAAI;IACJ,4BAA4B;IAC5B,OAAO;IACP,mBAAmB;IACnB,GAAG;IACH,4BAA4B;IAC5B,OAAO,CAAC;AAEG,QAAA,cAAc,GAAG,+BAA+B,CAAC;AAC9D,MAAM,aAAa,GAAG,GAAG,GAAG,sBAAc,GAAG,eAAe,CAAC;AAC7D,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAC5C,MAAM,+BAA+B,GAAG,uCAAuC,CAAC;AAChF,8FAA8F;AACjF,QAAA,kBAAkB,GAC7B,IAAI;IACJ,aAAa;IACb,IAAI;IACJ,+BAA+B;IAC/B,OAAO;IACP,sBAAsB;IACtB,GAAG;IACH,+BAA+B;IAC/B,OAAO,CAAC;AAEV;mEACmE;AACtD,QAAA,mBAAmB,GAAG;IACjC,+CAA+C,EAAE,sCAAsC;IACvF,kCAAkC,EAAE,gCAAgC;IACpE,6CAA6C,EAAE,mCAAmC;IAClF,0CAA0C,EAAE,gCAAgC;IAC5E,6DAA6D,EAAE,sIAAsI;IACrM,mDAAmD,EAAE,qCAAqC;CAC3F;KACE,IAAI,CAAC,GAAG,CAAC;KACT,OAAO,CAAC,IAAI,EAAE,IAAI,QAAQ,IAAI,CAAC,CAAC;AAEnC,oFAAoF;AACvE,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAChC,QAAA,2BAA2B,GAAG,EAAE,CAAC;AAE9C,sFAAsF;AACzE,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAE/C,MAAM,UAAU,GAAG,IAAI,CAAC;AAGjB,IAAM,kCAAkC,GAAxC,MAAM,kCAAmC,SAAQ,+BAAwB;IAgB9E,YACmB,MAAgB,EAChB,OAAuB,EACvB,qBAA4E,EAC5E,gBAEW,EACX,gBAKD,EACC,mBAGR;QAET,KAAK,EAAE,CAAC;QAjBS,WAAM,GAAN,MAAM,CAAU;QAChB,YAAO,GAAP,OAAO,CAAgB;QACvB,0BAAqB,GAArB,qBAAqB,CAAuD;QAC5E,qBAAgB,GAAhB,gBAAgB,CAEL;QACX,qBAAgB,GAAhB,gBAAgB,CAKjB;QACC,wBAAmB,GAAnB,mBAAmB,CAG3B;IAGX,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,CAAS;;QACrC,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,OAAO,GAAG,SAAS,CAAC;QAExB,MAAM,KAAK,GAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAE,CAAC,CAAC;QAE7E,OAAO,SAAS,IAAI,CAAC,KAAI,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,0CAAE,SAAS,CAAA,EAAE,CAAC;YACjF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAE,CAAC,CAAC;YACjE,SAAS,EAAE,CAAC;QACd,CAAC;QAED,OAAO,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,KAAI,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,0CAAE,SAAS,CAAA,EAAE,CAAC;YAC/G,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAE,CAAC,CAAC;YAC5D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,6BAAmB,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClG,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,4CAA4C;QAC5C,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC;QACV,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;QACrB,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,kEAAkE;gBAClE,6EAA6E;gBAC7E,0FAA0F;gBAC1F,MAAM;YACR,CAAC;YAED,6EAA6E;YAC7E,+EAA+E;YAC/E,mCAAmC;YACnC,qEAAqE;YACrE,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;YAClD,GAAG,CAAC,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1C,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACpB,iDAAiD;gBACjD,MAAM;YACR,CAAC;YAED,yEAAyE;YACzE;YACE,gBAAgB;YAChB,gBAAgB;YAChB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,WAAW,KAAK,CAAC,CAAC;gBAC/E,iCAAiC;gBACjC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EACnF,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACzB,WAAW,IAAI,CAAC,CAAC;YACnB,CAAC;YACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YAE1F,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,IAAY,EACZ,WAA0B,EAC1B,SAAiB,EACjB,WAAmB,EACnB,MAAM;QAEN,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,MAAM,IAAI,OAAO,CAA2B,CAAC,CAAC,EAAE,EAAE;YACtE,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC9C,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW;wBAC9B,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BACpD,CAAC,CAAC,gCAAyB;4BAC3B,CAAC,CAAC,oCAA6B;wBACjC,CAAC,CAAC,sBAAe,CAAC;oBACpB,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,KAA6B,EAAE,IAAY,EAAE,EAAE;wBAC7F,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;4BACvB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC1C,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,mEAAmE;oBACnE,MAAM,WAAW,GAAG,IAAA,kCAAwB,EAC1C,WAAW,EACX,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB;wBACE,WAAW,EAAE,WAAW,GAAG,CAAC;wBAC5B,eAAe,EAAE,CAAC;wBAClB,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM;wBAC7C,aAAa,EAAE,CAAC;qBACjB,EACD,SAAS,CACV,CAAC;oBACF,MAAM,eAAe,GAAG,CACtB,IAAkB,EAClB,aAA6B,EAC7B,oBAAiC,EACjC,kBAA+B,EAC/B,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;oBAC1F,CAAC,CACC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAY,EAAE;wBAC9B,IAAI,CAAC,MAAM;wBACX,WAAW;wBACX,IAAI;wBACJ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS;wBACnC,gBAAgB;wBAChB,eAAe;wBACf,IAAI;wBACJ,KAAK;qBACN,CAAC,CACH,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,CAAC,CAAC,SAAS,CAAC,CAAC;gBACf,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAc,eAAe;QAC3B,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,iCAAe,CAAC,OAAO,CAAC,CAAC,CAAC,0BAAkB,CAAC,CAAC,CAAC,2BAAmB,CAAC;QACnH,sCAAsC;QACtC,OAAO,IAAI,MAAM,CAAC,GAAG,mBAAmB,IAAI,2BAAmB,GAAG,CAAC,CAAC;IACtE,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,GAAQ;QAC3C,mFAAmF;QACnF,IAAI,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,mCAAmC;QACnC,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,GAAQ;QAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAClD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,qBAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AApMY,gFAAkC;AAE5B;IADhB,IAAA,cAAS,EAAC,mBAAc,CAAC;sCACC,aAAQ;oEAAC;AAGjB;IADlB,IAAA,cAAS,EAAC,uBAAc,CAAC;;yEACuB;AAGhC;IADhB,IAAA,cAAS,EAAC,gCAAc,CAAC;;0EACsB;AAG/B;IADhB,IAAA,cAAS,EAAC,uCAAiB,CAAC;;4EACwB;AAGpC;IADhB,IAAA,cAAS,EAAC,2BAAS,CAAC;;qEACiB;6CAd3B,kCAAkC;IAD9C,IAAA,eAAU,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;GAClB,kCAAkC,CAoM9C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-terminal-next",
3
- "version": "3.8.3-next-1747817292.0",
3
+ "version": "3.8.3-next-1747818383.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.8.3-next-1747817292.0",
21
- "@opensumi/ide-core-common": "3.8.3-next-1747817292.0",
22
- "@opensumi/ide-core-node": "3.8.3-next-1747817292.0",
23
- "@opensumi/ide-file-service": "3.8.3-next-1747817292.0",
24
- "@opensumi/ide-utils": "3.8.3-next-1747817292.0",
20
+ "@opensumi/ide-connection": "3.8.3-next-1747818383.0",
21
+ "@opensumi/ide-core-common": "3.8.3-next-1747818383.0",
22
+ "@opensumi/ide-core-node": "3.8.3-next-1747818383.0",
23
+ "@opensumi/ide-file-service": "3.8.3-next-1747818383.0",
24
+ "@opensumi/ide-utils": "3.8.3-next-1747818383.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.8.3-next-1747817292.0",
35
- "@opensumi/ide-core-browser": "3.8.3-next-1747817292.0",
36
- "@opensumi/ide-dev-tool": "3.8.3-next-1747817292.0",
37
- "@opensumi/ide-editor": "3.8.3-next-1747817292.0",
38
- "@opensumi/ide-main-layout": "3.8.3-next-1747817292.0",
39
- "@opensumi/ide-monaco": "3.8.3-next-1747817292.0",
40
- "@opensumi/ide-overlay": "3.8.3-next-1747817292.0",
41
- "@opensumi/ide-status-bar": "3.8.3-next-1747817292.0",
42
- "@opensumi/ide-theme": "3.8.3-next-1747817292.0",
43
- "@opensumi/ide-variable": "3.8.3-next-1747817292.0",
44
- "@opensumi/ide-workspace": "3.8.3-next-1747817292.0",
34
+ "@opensumi/ide-components": "3.8.3-next-1747818383.0",
35
+ "@opensumi/ide-core-browser": "3.8.3-next-1747818383.0",
36
+ "@opensumi/ide-dev-tool": "3.8.3-next-1747818383.0",
37
+ "@opensumi/ide-editor": "3.8.3-next-1747818383.0",
38
+ "@opensumi/ide-main-layout": "3.8.3-next-1747818383.0",
39
+ "@opensumi/ide-monaco": "3.8.3-next-1747818383.0",
40
+ "@opensumi/ide-overlay": "3.8.3-next-1747818383.0",
41
+ "@opensumi/ide-status-bar": "3.8.3-next-1747818383.0",
42
+ "@opensumi/ide-theme": "3.8.3-next-1747818383.0",
43
+ "@opensumi/ide-variable": "3.8.3-next-1747818383.0",
44
+ "@opensumi/ide-workspace": "3.8.3-next-1747818383.0",
45
45
  "@types/http-proxy": "^1.17.2",
46
46
  "http-proxy": "^1.18.0"
47
47
  },
48
- "gitHead": "73dccf2665c047932cb06ecbc29b72b637f700ff"
48
+ "gitHead": "5eaa172d18dc527bce2fb31fbf7d901aebc2c70a"
49
49
  }
@@ -25,21 +25,22 @@ import {
25
25
  ITerminalHoverManagerService,
26
26
  ITerminalService,
27
27
  } from '../../common';
28
- import {
29
- ILinkInfo,
30
- extractLineInfoFromMatch,
31
- getLineAndColumnClause,
32
- unixLocalLinkClause,
33
- winDrivePrefix,
34
- winLocalLinkClause,
35
- } from '../../common/terminal-link';
36
28
  import { XTermCore } from '../../common/xterm-private';
37
29
  import { TerminalClient } from '../terminal.client';
38
30
 
39
31
  import { TerminalExternalLinkProviderAdapter } from './external-link-provider-adapter';
40
32
  import { TerminalLink } from './link';
41
33
  import { TerminalProtocolLinkProvider } from './protocol-link-provider';
42
- import { TerminalValidatedLocalLinkProvider } from './validated-local-link-provider';
34
+ import {
35
+ TerminalValidatedLocalLinkProvider,
36
+ lineAndColumnClause,
37
+ lineAndColumnClauseGroupCount,
38
+ unixLineAndColumnMatchIndex,
39
+ unixLocalLinkClause,
40
+ winDrivePrefix,
41
+ winLineAndColumnMatchIndex,
42
+ winLocalLinkClause,
43
+ } from './validated-local-link-provider';
43
44
  import { TerminalWordLinkProvider } from './word-link-provider';
44
45
 
45
46
  const { posix, win32 } = path;
@@ -248,22 +249,23 @@ export class TerminalLinkManager extends Disposable {
248
249
  protected get _localLinkRegex(): RegExp {
249
250
  const baseLocalLinkClause = this._client.os === OperatingSystem.Windows ? winLocalLinkClause : unixLocalLinkClause;
250
251
  // Append line and column number regex
251
- return new RegExp(`${baseLocalLinkClause}(${getLineAndColumnClause()})`);
252
+ return new RegExp(`${baseLocalLinkClause}(${lineAndColumnClause})`);
252
253
  }
253
254
 
254
255
  private async _handleLocalLink(link: string): Promise<void> {
255
- const lineColumnInfo: LineColumnInfo = this.extractLineColumnInfo(link);
256
- const resolvedLink = await this._resolvePath(lineColumnInfo.filePath);
256
+ // TODO: This gets resolved again but doesn't need to as it's already validated
257
+ const resolvedLink = await this._resolvePath(link);
257
258
  if (!resolvedLink) {
258
259
  return;
259
260
  }
261
+ const lineColumnInfo: LineColumnInfo = this.extractLineColumnInfo(link);
260
262
  const range: ITextEditorSelection = {
261
263
  startLineNumber: lineColumnInfo.lineNumber,
262
264
  endLineNumber: lineColumnInfo.lineNumber,
263
265
  startColumn: lineColumnInfo.columnNumber,
264
266
  endColumn: lineColumnInfo.columnNumber,
265
267
  };
266
- await this._editorService.open(resolvedLink.uri, { range, focus: true });
268
+ await this._editorService.open(resolvedLink.uri, { range });
267
269
  }
268
270
 
269
271
  private _handleHypertextLink(url: string): void {
@@ -397,31 +399,39 @@ export class TerminalLinkManager extends Disposable {
397
399
  }
398
400
  }
399
401
 
400
- private _extractLineInfoFromMatch(match: RegExpExecArray): ILinkInfo {
401
- return extractLineInfoFromMatch(match);
402
- }
403
-
404
402
  /**
405
403
  * Returns line and column number of URl if that is present.
406
404
  *
407
405
  * @param link Url link which may contain line and column number.
408
406
  */
409
407
  public extractLineColumnInfo(link: string): LineColumnInfo {
410
- const matches: RegExpExecArray | null = this._localLinkRegex.exec(link);
408
+ const matches: string[] | null = this._localLinkRegex.exec(link);
411
409
  const lineColumnInfo: LineColumnInfo = {
412
410
  lineNumber: 1,
413
411
  columnNumber: 1,
414
- filePath: link,
415
412
  };
413
+
416
414
  if (!matches) {
417
415
  return lineColumnInfo;
418
416
  }
419
- const lineInfo = this._extractLineInfoFromMatch(matches);
420
- return {
421
- filePath: lineInfo.filePath ?? link,
422
- lineNumber: lineInfo.line ?? 1,
423
- columnNumber: lineInfo.column ?? 1,
424
- };
417
+
418
+ const lineAndColumnMatchIndex =
419
+ this._client.os === OperatingSystem.Windows ? winLineAndColumnMatchIndex : unixLineAndColumnMatchIndex;
420
+ for (let i = 0; i < lineAndColumnClause.length; i++) {
421
+ const lineMatchIndex = lineAndColumnMatchIndex + lineAndColumnClauseGroupCount * i;
422
+ const rowNumber = matches[lineMatchIndex];
423
+ if (rowNumber) {
424
+ lineColumnInfo['lineNumber'] = parseInt(rowNumber, 10);
425
+ // Check if column number exists
426
+ const columnNumber = matches[lineMatchIndex + 2];
427
+ if (columnNumber) {
428
+ lineColumnInfo['columnNumber'] = parseInt(columnNumber, 10);
429
+ }
430
+ break;
431
+ }
432
+ }
433
+
434
+ return lineColumnInfo;
425
435
  }
426
436
 
427
437
  /**
@@ -439,7 +449,6 @@ export class TerminalLinkManager extends Disposable {
439
449
  }
440
450
 
441
451
  export interface LineColumnInfo {
442
- filePath: string;
443
452
  lineNumber: number;
444
453
  columnNumber: number;
445
454
  }
@@ -43,17 +43,7 @@ export class TerminalLink extends Disposable implements ILink {
43
43
  public readonly range: IBufferRange,
44
44
  public readonly text: string,
45
45
  private readonly _viewportY: number,
46
- private readonly _activateCallback: (
47
- event: MouseEvent | undefined,
48
- uri: string,
49
- lineInfo?: {
50
- filePath?: string;
51
- line?: number;
52
- column?: number;
53
- endLine?: number;
54
- endColumn?: number;
55
- },
56
- ) => void,
46
+ private readonly _activateCallback: (event: MouseEvent | undefined, uri: string) => void,
57
47
  private readonly _tooltipCallback: (
58
48
  link: TerminalLink,
59
49
  viewportRange: IViewportRange,
@@ -62,13 +52,6 @@ export class TerminalLink extends Disposable implements ILink {
62
52
  ) => IDisposable | undefined,
63
53
  private readonly _isHighConfidenceLink: boolean,
64
54
  readonly label: string | undefined,
65
- private readonly _lineInfo?: {
66
- filePath?: string;
67
- line?: number;
68
- column?: number;
69
- endLine?: number;
70
- endColumn?: number;
71
- },
72
55
  ) {
73
56
  super();
74
57
  this.decorations = {
@@ -88,7 +71,7 @@ export class TerminalLink extends Disposable implements ILink {
88
71
  }
89
72
 
90
73
  activate(event: MouseEvent | undefined, text: string): void {
91
- this._activateCallback(event, text, this._lineInfo);
74
+ this._activateCallback(event, text);
92
75
  }
93
76
 
94
77
  hover(event: MouseEvent, text: string): void {
@@ -7,18 +7,9 @@
7
7
  import { Autowired, INJECTOR_TOKEN, Injectable, Injector } from '@opensumi/di';
8
8
  import { AppConfig } from '@opensumi/ide-core-browser/lib/react-providers/config-provider';
9
9
  import { IWindowService } from '@opensumi/ide-core-browser/lib/window';
10
- import { CommandService, FileUri, IDisposable, OperatingSystem, URI } from '@opensumi/ide-core-common';
10
+ import { CommandService, IDisposable, OperatingSystem, URI } from '@opensumi/ide-core-common';
11
11
  import { IWorkspaceService } from '@opensumi/ide-workspace/lib/common/workspace.interface';
12
12
 
13
- import {
14
- ILinkInfo,
15
- MAX_LENGTH,
16
- extractLineInfoFromMatch,
17
- getLineAndColumnClause,
18
- unixLocalLinkClause,
19
- winLocalLinkClause,
20
- } from '../../common/terminal-link';
21
-
22
13
  import { TerminalBaseLinkProvider } from './base';
23
14
  import { convertLinkRangeToBuffer, getXtermLineContent } from './helpers';
24
15
  import { FOLDER_IN_WORKSPACE_LABEL, FOLDER_NOT_IN_WORKSPACE_LABEL, OPEN_FILE_LABEL, TerminalLink } from './link';
@@ -27,6 +18,61 @@ import { XtermLinkMatcherHandler } from './link-manager';
27
18
  import type { TerminalClient } from '../terminal.client';
28
19
  import type { IBufferLine, IViewportRange, Terminal } from '@xterm/xterm';
29
20
 
21
+ const pathPrefix = '(\\.\\.?|\\~)';
22
+ const pathSeparatorClause = '\\/';
23
+ // '":; are allowed in paths but they are often separators so ignore them
24
+ // Also disallow \\ to prevent a catastropic backtracking case #24795
25
+ const excludedPathCharactersClause = '[^\\0\\s!`&*()\\[\\]\'":;\\\\]';
26
+ /** A regex that matches paths in the form /foo, ~/foo, ./foo, ../foo, foo/bar */
27
+ export const unixLocalLinkClause =
28
+ '((' +
29
+ pathPrefix +
30
+ '|(' +
31
+ excludedPathCharactersClause +
32
+ ')+)?(' +
33
+ pathSeparatorClause +
34
+ '(' +
35
+ excludedPathCharactersClause +
36
+ ')+)+)';
37
+
38
+ export const winDrivePrefix = '(?:\\\\\\\\\\?\\\\)?[a-zA-Z]:';
39
+ const winPathPrefix = '(' + winDrivePrefix + '|\\.\\.?|\\~)';
40
+ const winPathSeparatorClause = '(\\\\|\\/)';
41
+ const winExcludedPathCharactersClause = '[^\\0<>\\?\\|\\/\\s!`&*()\\[\\]\'":;]';
42
+ /** A regex that matches paths in the form \\?\c:\foo c:\foo, ~\foo, .\foo, ..\foo, foo\bar */
43
+ export const winLocalLinkClause =
44
+ '((' +
45
+ winPathPrefix +
46
+ '|(' +
47
+ winExcludedPathCharactersClause +
48
+ ')+)?(' +
49
+ winPathSeparatorClause +
50
+ '(' +
51
+ winExcludedPathCharactersClause +
52
+ ')+)+)';
53
+
54
+ /** As xterm reads from DOM, space in that case is nonbreaking char ASCII code - 160,
55
+ replacing space with nonBreakningSpace or space ASCII code - 32. */
56
+ export const lineAndColumnClause = [
57
+ '((\\S*)[\'"], line ((\\d+)( column (\\d+))?))', // "(file path)", line 45 [see #40468]
58
+ '((\\S*)[\'"],((\\d+)(:(\\d+))?))', // "(file path)",45 [see #78205]
59
+ '((\\S*) on line ((\\d+)(, column (\\d+))?))', // (file path) on line 8, column 13
60
+ '((\\S*):line ((\\d+)(, column (\\d+))?))', // (file path):line 8, column 13
61
+ '(([^\\s\\(\\)]*)(\\s?[\\(\\[](\\d+)(,\\s?(\\d+))?)[\\)\\]])', // (file path)(45), (file path) (45), (file path)(45,18), (file path) (45,18), (file path)(45, 18), (file path) (45, 18), also with []
62
+ '(([^:\\s\\(\\)<>\'"\\[\\]]*)(:(\\d+))?(:(\\d+))?)', // (file path):336, (file path):336:9
63
+ ]
64
+ .join('|')
65
+ .replace(/ /g, `[${'\u00A0'} ]`);
66
+
67
+ // Changing any regex may effect this value, hence changes this as well if required.
68
+ export const winLineAndColumnMatchIndex = 12;
69
+ export const unixLineAndColumnMatchIndex = 11;
70
+
71
+ // Each line and column clause have 6 groups (ie no. of expressions in round brackets)
72
+ export const lineAndColumnClauseGroupCount = 6;
73
+
74
+ const MAX_LENGTH = 2000;
75
+
30
76
  @Injectable({ multiple: true })
31
77
  export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider {
32
78
  @Autowired(INJECTOR_TOKEN)
@@ -122,9 +168,7 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
122
168
  link = link.substring(2);
123
169
  stringIndex += 2;
124
170
  }
125
- // 从匹配结果中提取行号信息
126
- const lineInfo = this._extractLineInfoFromMatch(match);
127
- const validatedLinks = await this.detectLocalLink(link, lines, startLine, stringIndex, 1, lineInfo);
171
+ const validatedLinks = await this.detectLocalLink(link, lines, startLine, stringIndex, 1);
128
172
 
129
173
  if (validatedLinks.length > 0) {
130
174
  result.push(...validatedLinks);
@@ -134,33 +178,16 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
134
178
  return result;
135
179
  }
136
180
 
137
- private _extractLineInfoFromMatch(match: RegExpExecArray): ILinkInfo {
138
- return extractLineInfoFromMatch(match);
139
- }
140
-
141
- protected get _localLinkRegex(): RegExp {
142
- const baseLocalLinkClause = this._client.os === OperatingSystem.Windows ? winLocalLinkClause : unixLocalLinkClause;
143
- // Append line and column number regex
144
- return new RegExp(`(${baseLocalLinkClause})(${getLineAndColumnClause()})?`);
145
- }
146
-
147
181
  private async detectLocalLink(
148
182
  text: string,
149
183
  bufferLines: IBufferLine[],
150
184
  startLine: number,
151
185
  stringIndex: number,
152
186
  offset,
153
- lineInfo?: ILinkInfo,
154
187
  ) {
155
188
  const result: TerminalLink[] = [];
156
-
157
189
  const validatedLink = await new Promise<TerminalLink | undefined>((r) => {
158
- // 使用匹配到的文件路径
159
- const filePath = text.match(this._localLinkRegex)?.[1] || text;
160
- // 如果是 file:/// 协议,转换为本地路径
161
- const localPath = filePath.startsWith('file://') ? FileUri.fsPath(URI.parse(filePath)) : filePath;
162
-
163
- this._validationCallback(localPath, async (result) => {
190
+ this._validationCallback(text, async (result) => {
164
191
  if (result) {
165
192
  const label = result.isDirectory
166
193
  ? (await this._isDirectoryInsideWorkspace(result.uri))
@@ -174,7 +201,6 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
174
201
  this._activateFileCallback(event, text);
175
202
  }
176
203
  });
177
-
178
204
  // Convert the link text's string index into a wrapped buffer range
179
205
  const bufferRange = convertLinkRangeToBuffer(
180
206
  bufferLines,
@@ -187,14 +213,12 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
187
213
  },
188
214
  startLine,
189
215
  );
190
-
191
216
  const tooltipCallback = (
192
217
  link: TerminalLink,
193
218
  viewportRange: IViewportRange,
194
219
  modifierDownCallback?: () => void,
195
220
  modifierUpCallback?: () => void,
196
221
  ) => this._tooltipCallback(link, viewportRange, modifierDownCallback, modifierUpCallback);
197
-
198
222
  r(
199
223
  this.injector.get(TerminalLink, [
200
224
  this._xterm,
@@ -205,7 +229,6 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
205
229
  tooltipCallback,
206
230
  true,
207
231
  label,
208
- lineInfo,
209
232
  ]),
210
233
  );
211
234
  } else {
@@ -213,13 +236,18 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
213
236
  }
214
237
  });
215
238
  });
216
-
217
239
  if (validatedLink) {
218
240
  result.push(validatedLink);
219
241
  }
220
242
  return result;
221
243
  }
222
244
 
245
+ protected get _localLinkRegex(): RegExp {
246
+ const baseLocalLinkClause = this._client.os === OperatingSystem.Windows ? winLocalLinkClause : unixLocalLinkClause;
247
+ // Append line and column number regex
248
+ return new RegExp(`${baseLocalLinkClause}(${lineAndColumnClause})`);
249
+ }
250
+
223
251
  private async _handleLocalFolderLink(uri: URI): Promise<void> {
224
252
  // If the folder is within one of the window's workspaces, focus it in the explorer
225
253
  if (await this._isDirectoryInsideWorkspace(uri)) {
@@ -1,28 +0,0 @@
1
- export declare const pathPrefix = "(\\.\\.?|\\~)";
2
- export declare const pathSeparatorClause = "\\/";
3
- export declare const excludedPathCharactersClause = "[^\\0\\s!`&*()\\[\\]'\":;\\\\]";
4
- export declare const winDrivePrefix = "(?:\\\\\\\\\\?\\\\)?[a-zA-Z]:";
5
- export declare const winPathPrefix: string;
6
- export declare const winPathSeparatorClause = "(\\\\|\\/)";
7
- export declare const winExcludedPathCharactersClause = "[^\\0<>\\?\\|\\/\\s!`&*()\\[\\]'\":;]";
8
- export declare const unixLocalLinkClause: string;
9
- export declare const winLocalLinkClause: string;
10
- /** As xterm reads from DOM, space in that case is nonbreaking char ASCII code - 160,
11
- replacing space with nonBreakningSpace or space ASCII code - 32. */
12
- export declare function getLineAndColumnClause(): string;
13
- export declare const winLineAndColumnMatchIndex = 12;
14
- export declare const unixLineAndColumnMatchIndex = 11;
15
- export declare const lineAndColumnClauseGroupCount = 6;
16
- export interface ILinkInfo {
17
- filePath?: string;
18
- line?: number;
19
- column?: number;
20
- endLine?: number;
21
- endColumn?: number;
22
- }
23
- export declare const MAX_LENGTH = 2000;
24
- /**
25
- * 从正则匹配结果中提取行号信息
26
- */
27
- export declare function extractLineInfoFromMatch(match: RegExpExecArray): ILinkInfo;
28
- //# sourceMappingURL=terminal-link.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-link.d.ts","sourceRoot":"","sources":["../../src/common/terminal-link.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,UAAU,kBAAkB,CAAC;AAC1C,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AACzC,eAAO,MAAM,4BAA4B,mCAAmC,CAAC;AAC7E,eAAO,MAAM,cAAc,kCAAkC,CAAC;AAC9D,eAAO,MAAM,aAAa,QAAyC,CAAC;AACpE,eAAO,MAAM,sBAAsB,eAAe,CAAC;AACnD,eAAO,MAAM,+BAA+B,0CAA0C,CAAC;AAGvF,eAAO,MAAM,mBAAmB,QASvB,CAAC;AAEV,eAAO,MAAM,kBAAkB,QAStB,CAAC;AAKV;mEACmE;AACnE,wBAAgB,sBAAsB,IAAI,MAAM,CA0D/C;AAGD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAC7C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAG9C,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAG/C,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,eAAO,MAAM,UAAU,OAAO,CAAC;AAE/B;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAkC1E"}
@@ -1,164 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.MAX_LENGTH = exports.lineAndColumnClauseGroupCount = exports.unixLineAndColumnMatchIndex = exports.winLineAndColumnMatchIndex = exports.winLocalLinkClause = exports.unixLocalLinkClause = exports.winExcludedPathCharactersClause = exports.winPathSeparatorClause = exports.winPathPrefix = exports.winDrivePrefix = exports.excludedPathCharactersClause = exports.pathSeparatorClause = exports.pathPrefix = void 0;
8
- exports.getLineAndColumnClause = getLineAndColumnClause;
9
- exports.extractLineInfoFromMatch = extractLineInfoFromMatch;
10
- // 行号和列号的正则生成函数
11
- class LinkMatchCounters {
12
- constructor() {
13
- this.ri = 0;
14
- this.ci = 0;
15
- this.rei = 0;
16
- this.cei = 0;
17
- }
18
- r() {
19
- return `(?<row${this.ri++}>\\d+)`;
20
- }
21
- c() {
22
- return `(?<col${this.ci++}>\\d+)`;
23
- }
24
- re() {
25
- return `(?<rowEnd${this.rei++}>\\d+)`;
26
- }
27
- ce() {
28
- return `(?<colEnd${this.cei++}>\\d+)`;
29
- }
30
- }
31
- // 路径相关的正则表达式
32
- exports.pathPrefix = '(\\.\\.?|\\~)';
33
- exports.pathSeparatorClause = '\\/';
34
- exports.excludedPathCharactersClause = '[^\\0\\s!`&*()\\[\\]\'":;\\\\]';
35
- exports.winDrivePrefix = '(?:\\\\\\\\\\?\\\\)?[a-zA-Z]:';
36
- exports.winPathPrefix = '(' + exports.winDrivePrefix + '|\\.\\.?|\\~)';
37
- exports.winPathSeparatorClause = '(\\\\|\\/)';
38
- exports.winExcludedPathCharactersClause = '[^\\0<>\\?\\|\\/\\s!`&*()\\[\\]\'":;]';
39
- // Unix 和 Windows 的本地链接正则表达式
40
- exports.unixLocalLinkClause = '((' +
41
- exports.pathPrefix +
42
- '|(' +
43
- exports.excludedPathCharactersClause +
44
- ')+)?(' +
45
- exports.pathSeparatorClause +
46
- '(' +
47
- exports.excludedPathCharactersClause +
48
- ')+)+)';
49
- exports.winLocalLinkClause = '((' +
50
- exports.winPathPrefix +
51
- '|(' +
52
- exports.winExcludedPathCharactersClause +
53
- ')+)?(' +
54
- exports.winPathSeparatorClause +
55
- '(' +
56
- exports.winExcludedPathCharactersClause +
57
- ')+)+)';
58
- // 行号和列号的匹配正则表达式
59
- const eolSuffix = '';
60
- /** As xterm reads from DOM, space in that case is nonbreaking char ASCII code - 160,
61
- replacing space with nonBreakningSpace or space ASCII code - 32. */
62
- function getLineAndColumnClause() {
63
- const counters = new LinkMatchCounters();
64
- return [
65
- // foo:339
66
- // foo:339:12
67
- // foo:339:12-789
68
- // foo:339:12-341.789
69
- // foo:339.12
70
- // foo 339
71
- // foo 339:12 [#140780]
72
- // foo 339.12
73
- // foo#339
74
- // foo#339:12 [#190288]
75
- // foo#339.12
76
- // foo, 339 [#217927]
77
- // "foo",339
78
- // "foo",339:12
79
- // "foo",339.12
80
- // "foo",339.12-789
81
- // "foo",339.12-341.789
82
- `(?::|#| |['"],|, )${counters.r()}([:.]${counters.c()}(?:-(?:${counters.re()}\\.)?${counters.ce()})?)?` + eolSuffix,
83
- // The quotes below are optional [#171652]
84
- // "foo", line 339 [#40468]
85
- // "foo", line 339, col 12
86
- // "foo", line 339, column 12
87
- // "foo":line 339
88
- // "foo":line 339, col 12
89
- // "foo":line 339, column 12
90
- // "foo": line 339
91
- // "foo": line 339, col 12
92
- // "foo": line 339, column 12
93
- // "foo" on line 339
94
- // "foo" on line 339, col 12
95
- // "foo" on line 339, column 12
96
- // "foo" line 339 column 12
97
- // "foo", line 339, character 12 [#171880]
98
- // "foo", line 339, characters 12-789 [#171880]
99
- // "foo", lines 339-341 [#171880]
100
- // "foo", lines 339-341, characters 12-789 [#178287]
101
- `['"]?(?:,? |: ?| on )lines? ${counters.r()}(?:-${counters.re()})?(?:,? (?:col(?:umn)?|characters?) ${counters.c()}(?:-${counters.ce()})?)?` +
102
- eolSuffix,
103
- // () and [] are interchangeable
104
- // foo(339)
105
- // foo(339,12)
106
- // foo(339, 12)
107
- // foo (339)
108
- // foo (339,12)
109
- // foo (339, 12)
110
- // foo: (339)
111
- // foo: (339,12)
112
- // foo: (339, 12)
113
- // foo(339:12) [#229842]
114
- // foo (339:12) [#229842]
115
- `:? ?[\\[\\(]${counters.r()}(?:(?:, ?|:)${counters.c()})?[\\]\\)]` + eolSuffix,
116
- ]
117
- .join('|')
118
- .replace(/ /g, `[${'\u00A0'} ]`);
119
- }
120
- // 行号和列号匹配的索引
121
- exports.winLineAndColumnMatchIndex = 12;
122
- exports.unixLineAndColumnMatchIndex = 11;
123
- // 行号和列号子句的组数
124
- exports.lineAndColumnClauseGroupCount = 6;
125
- // 最大长度限制
126
- exports.MAX_LENGTH = 2000;
127
- /**
128
- * 从正则匹配结果中提取行号信息
129
- */
130
- function extractLineInfoFromMatch(match) {
131
- const result = {};
132
- // 提取文件路径(第一个捕获组)
133
- if (match[1]) {
134
- result.filePath = match[1];
135
- }
136
- // 提取命名捕获组中的行号信息
137
- if (match.groups) {
138
- for (const [key, value] of Object.entries(match.groups)) {
139
- if (!value) {
140
- continue;
141
- }
142
- if (key.startsWith('row')) {
143
- const index = key.replace('row', '');
144
- if (index === 'End') {
145
- result.endLine = parseInt(value, 10);
146
- }
147
- else {
148
- result.line = parseInt(value, 10);
149
- }
150
- }
151
- else if (key.startsWith('col')) {
152
- const index = key.replace('col', '');
153
- if (index === 'End') {
154
- result.endColumn = parseInt(value, 10);
155
- }
156
- else {
157
- result.column = parseInt(value, 10);
158
- }
159
- }
160
- }
161
- }
162
- return result;
163
- }
164
- //# sourceMappingURL=terminal-link.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-link.js","sourceRoot":"","sources":["../../src/common/terminal-link.ts"],"names":[],"mappings":"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"}
@@ -1,183 +0,0 @@
1
- /* ---------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
4
- *--------------------------------------------------------------------------------------------*/
5
-
6
- // 行号和列号的正则生成函数
7
- class LinkMatchCounters {
8
- private ri = 0;
9
- private ci = 0;
10
- private rei = 0;
11
- private cei = 0;
12
-
13
- r(): string {
14
- return `(?<row${this.ri++}>\\d+)`;
15
- }
16
-
17
- c(): string {
18
- return `(?<col${this.ci++}>\\d+)`;
19
- }
20
-
21
- re(): string {
22
- return `(?<rowEnd${this.rei++}>\\d+)`;
23
- }
24
-
25
- ce(): string {
26
- return `(?<colEnd${this.cei++}>\\d+)`;
27
- }
28
- }
29
-
30
- // 路径相关的正则表达式
31
- export const pathPrefix = '(\\.\\.?|\\~)';
32
- export const pathSeparatorClause = '\\/';
33
- export const excludedPathCharactersClause = '[^\\0\\s!`&*()\\[\\]\'":;\\\\]';
34
- export const winDrivePrefix = '(?:\\\\\\\\\\?\\\\)?[a-zA-Z]:';
35
- export const winPathPrefix = '(' + winDrivePrefix + '|\\.\\.?|\\~)';
36
- export const winPathSeparatorClause = '(\\\\|\\/)';
37
- export const winExcludedPathCharactersClause = '[^\\0<>\\?\\|\\/\\s!`&*()\\[\\]\'":;]';
38
-
39
- // Unix 和 Windows 的本地链接正则表达式
40
- export const unixLocalLinkClause =
41
- '((' +
42
- pathPrefix +
43
- '|(' +
44
- excludedPathCharactersClause +
45
- ')+)?(' +
46
- pathSeparatorClause +
47
- '(' +
48
- excludedPathCharactersClause +
49
- ')+)+)';
50
-
51
- export const winLocalLinkClause =
52
- '((' +
53
- winPathPrefix +
54
- '|(' +
55
- winExcludedPathCharactersClause +
56
- ')+)?(' +
57
- winPathSeparatorClause +
58
- '(' +
59
- winExcludedPathCharactersClause +
60
- ')+)+)';
61
-
62
- // 行号和列号的匹配正则表达式
63
- const eolSuffix = '';
64
-
65
- /** As xterm reads from DOM, space in that case is nonbreaking char ASCII code - 160,
66
- replacing space with nonBreakningSpace or space ASCII code - 32. */
67
- export function getLineAndColumnClause(): string {
68
- const counters = new LinkMatchCounters();
69
-
70
- return [
71
- // foo:339
72
- // foo:339:12
73
- // foo:339:12-789
74
- // foo:339:12-341.789
75
- // foo:339.12
76
- // foo 339
77
- // foo 339:12 [#140780]
78
- // foo 339.12
79
- // foo#339
80
- // foo#339:12 [#190288]
81
- // foo#339.12
82
- // foo, 339 [#217927]
83
- // "foo",339
84
- // "foo",339:12
85
- // "foo",339.12
86
- // "foo",339.12-789
87
- // "foo",339.12-341.789
88
- `(?::|#| |['"],|, )${counters.r()}([:.]${counters.c()}(?:-(?:${counters.re()}\\.)?${counters.ce()})?)?` + eolSuffix,
89
- // The quotes below are optional [#171652]
90
- // "foo", line 339 [#40468]
91
- // "foo", line 339, col 12
92
- // "foo", line 339, column 12
93
- // "foo":line 339
94
- // "foo":line 339, col 12
95
- // "foo":line 339, column 12
96
- // "foo": line 339
97
- // "foo": line 339, col 12
98
- // "foo": line 339, column 12
99
- // "foo" on line 339
100
- // "foo" on line 339, col 12
101
- // "foo" on line 339, column 12
102
- // "foo" line 339 column 12
103
- // "foo", line 339, character 12 [#171880]
104
- // "foo", line 339, characters 12-789 [#171880]
105
- // "foo", lines 339-341 [#171880]
106
- // "foo", lines 339-341, characters 12-789 [#178287]
107
- `['"]?(?:,? |: ?| on )lines? ${counters.r()}(?:-${counters.re()})?(?:,? (?:col(?:umn)?|characters?) ${counters.c()}(?:-${counters.ce()})?)?` +
108
- eolSuffix,
109
- // () and [] are interchangeable
110
- // foo(339)
111
- // foo(339,12)
112
- // foo(339, 12)
113
- // foo (339)
114
- // foo (339,12)
115
- // foo (339, 12)
116
- // foo: (339)
117
- // foo: (339,12)
118
- // foo: (339, 12)
119
- // foo(339:12) [#229842]
120
- // foo (339:12) [#229842]
121
- `:? ?[\\[\\(]${counters.r()}(?:(?:, ?|:)${counters.c()})?[\\]\\)]` + eolSuffix,
122
- ]
123
- .join('|')
124
- .replace(/ /g, `[${'\u00A0'} ]`);
125
- }
126
-
127
- // 行号和列号匹配的索引
128
- export const winLineAndColumnMatchIndex = 12;
129
- export const unixLineAndColumnMatchIndex = 11;
130
-
131
- // 行号和列号子句的组数
132
- export const lineAndColumnClauseGroupCount = 6;
133
-
134
- // 链接信息接口
135
- export interface ILinkInfo {
136
- filePath?: string;
137
- line?: number;
138
- column?: number;
139
- endLine?: number;
140
- endColumn?: number;
141
- }
142
-
143
- // 最大长度限制
144
- export const MAX_LENGTH = 2000;
145
-
146
- /**
147
- * 从正则匹配结果中提取行号信息
148
- */
149
- export function extractLineInfoFromMatch(match: RegExpExecArray): ILinkInfo {
150
- const result: any = {};
151
-
152
- // 提取文件路径(第一个捕获组)
153
- if (match[1]) {
154
- result.filePath = match[1];
155
- }
156
-
157
- // 提取命名捕获组中的行号信息
158
- if (match.groups) {
159
- for (const [key, value] of Object.entries(match.groups)) {
160
- if (!value) {
161
- continue;
162
- }
163
-
164
- if (key.startsWith('row')) {
165
- const index = key.replace('row', '');
166
- if (index === 'End') {
167
- result.endLine = parseInt(value, 10);
168
- } else {
169
- result.line = parseInt(value, 10);
170
- }
171
- } else if (key.startsWith('col')) {
172
- const index = key.replace('col', '');
173
- if (index === 'End') {
174
- result.endColumn = parseInt(value, 10);
175
- } else {
176
- result.column = parseInt(value, 10);
177
- }
178
- }
179
- }
180
- }
181
-
182
- return result;
183
- }