@opensumi/ide-terminal-next 3.6.5-next-1736131247.0 → 3.6.5-next-1736135639.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.
@@ -5,16 +5,10 @@ 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
- /**
9
- * A regex that matches non-Windows paths, such as `/foo`, `~/foo`, `./foo`, `../foo` and
10
- * `foo/bar`.
11
- */
8
+ /** A regex that matches paths in the form /foo, ~/foo, ./foo, ../foo, foo/bar */
12
9
  export declare const unixLocalLinkClause: string;
13
- export declare const winDrivePrefix = "(?:\\\\\\\\\\?\\\\|file:\\/\\/\\/)?[a-zA-Z]:";
14
- /**
15
- * A regex that matches Windows paths, such as `\\?\c:\foo`, `c:\foo`, `~\foo`, `.\foo`, `..\foo`
16
- * and `foo\bar`.
17
- */
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 */
18
12
  export declare const winLocalLinkClause: string;
19
13
  /** As xterm reads from DOM, space in that case is nonbreaking char ASCII code - 160,
20
14
  replacing space with nonBreakningSpace or space ASCII code - 32. */
@@ -39,7 +33,7 @@ export declare class TerminalValidatedLocalLinkProvider extends TerminalBaseLink
39
33
  isDirectory: boolean;
40
34
  } | undefined) => void) => void);
41
35
  protected _provideLinks(y: number): Promise<TerminalLink[]>;
42
- private detectedLocalLinks;
36
+ private detectLocalLink;
43
37
  protected get _localLinkRegex(): RegExp;
44
38
  private _handleLocalFolderLink;
45
39
  private _isDirectoryInsideWorkspace;
@@ -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,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;AAe1E;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAUvB,CAAC;AAEV,eAAO,MAAM,cAAc,iDAAiD,CAAC;AAE7E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAUtB,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;YA4EnD,kBAAkB;IAoDhC,SAAS,KAAK,eAAe,IAAI,MAAM,CAItC;YAEa,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;YA0EnD,eAAe;IA0D7B,SAAS,KAAK,eAAe,IAAI,MAAM,CAItC;YAEa,sBAAsB;YAatB,2BAA2B;CAS1C"}
@@ -15,47 +15,34 @@ const workspace_interface_1 = require("@opensumi/ide-workspace/lib/common/worksp
15
15
  const base_1 = require("./base");
16
16
  const helpers_1 = require("./helpers");
17
17
  const link_1 = require("./link");
18
- var RegexPathConstants;
19
- (function (RegexPathConstants) {
20
- RegexPathConstants["PathPrefix"] = "(?:\\.\\.?|\\~|file://)";
21
- RegexPathConstants["PathSeparatorClause"] = "\\/";
22
- // '":; are allowed in paths but they are often separators so ignore them
23
- // Also disallow \\ to prevent a catastropic backtracking case #24795
24
- RegexPathConstants["ExcludedPathCharactersClause"] = "[^\\0<>\\?\\s!`&*()'\":;\\\\]";
25
- RegexPathConstants["ExcludedStartPathCharactersClause"] = "[^\\0<>\\?\\s!`&*()\\[\\]'\":;\\\\]";
26
- RegexPathConstants["WinOtherPathPrefix"] = "\\.\\.?|\\~";
27
- RegexPathConstants["WinPathSeparatorClause"] = "(?:\\\\|\\/)";
28
- RegexPathConstants["WinExcludedPathCharactersClause"] = "[^\\0<>\\?\\|\\/\\s!`&*()'\":;]";
29
- RegexPathConstants["WinExcludedStartPathCharactersClause"] = "[^\\0<>\\?\\|\\/\\s!`&*()\\[\\]'\":;]";
30
- })(RegexPathConstants || (RegexPathConstants = {}));
31
- /**
32
- * A regex that matches non-Windows paths, such as `/foo`, `~/foo`, `./foo`, `../foo` and
33
- * `foo/bar`.
34
- */
35
- exports.unixLocalLinkClause = '(?:(?:' +
36
- RegexPathConstants.PathPrefix +
37
- '|(?:' +
38
- RegexPathConstants.ExcludedStartPathCharactersClause +
39
- RegexPathConstants.ExcludedPathCharactersClause +
40
- '*))?(?:' +
41
- RegexPathConstants.PathSeparatorClause +
42
- '(?:' +
43
- RegexPathConstants.ExcludedPathCharactersClause +
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 +
44
32
  ')+)+)';
45
- exports.winDrivePrefix = '(?:\\\\\\\\\\?\\\\|file:\\/\\/\\/)?[a-zA-Z]:';
46
- /**
47
- * A regex that matches Windows paths, such as `\\?\c:\foo`, `c:\foo`, `~\foo`, `.\foo`, `..\foo`
48
- * and `foo\bar`.
49
- */
50
- exports.winLocalLinkClause = '(?:(?:' +
51
- `(?:${exports.winDrivePrefix}|${RegexPathConstants.WinOtherPathPrefix})` +
52
- '|(?:' +
53
- RegexPathConstants.WinExcludedStartPathCharactersClause +
54
- RegexPathConstants.WinExcludedPathCharactersClause +
55
- '*))?(?:' +
56
- RegexPathConstants.WinPathSeparatorClause +
57
- '(?:' +
58
- RegexPathConstants.WinExcludedPathCharactersClause +
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 +
59
46
  ')+)+)';
60
47
  /** As xterm reads from DOM, space in that case is nonbreaking char ASCII code - 160,
61
48
  replacing space with nonBreakningSpace or space ASCII code - 32. */
@@ -108,7 +95,6 @@ let TerminalValidatedLocalLinkProvider = class TerminalValidatedLocalLinkProvide
108
95
  let match;
109
96
  let stringIndex = -1;
110
97
  while ((match = rex.exec(text)) !== null) {
111
- // const link = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];
112
98
  let link = match[0];
113
99
  if (!link) {
114
100
  // something matched but does not comply with the given matchIndex
@@ -136,20 +122,20 @@ let TerminalValidatedLocalLinkProvider = class TerminalValidatedLocalLinkProvide
136
122
  link = link.substring(2);
137
123
  stringIndex += 2;
138
124
  }
139
- const validatedLinks = await this.detectedLocalLinks(link, lines, startLine, stringIndex);
125
+ const validatedLinks = await this.detectLocalLink(link, lines, startLine, stringIndex, 1);
140
126
  if (validatedLinks.length > 0) {
141
127
  result.push(...validatedLinks);
142
128
  }
143
129
  }
144
130
  if (result.length === 0) {
145
- const validatedLinks = await this.detectedLocalLinks(text, lines, startLine, stringIndex);
131
+ const validatedLinks = await this.detectLocalLink(text, lines, startLine, stringIndex, 2);
146
132
  if (validatedLinks.length > 0) {
147
133
  result.push(...validatedLinks);
148
134
  }
149
135
  }
150
136
  return result;
151
137
  }
152
- async detectedLocalLinks(text, bufferLines, startLine, stringIndex) {
138
+ async detectLocalLink(text, bufferLines, startLine, stringIndex, offset) {
153
139
  const result = [];
154
140
  const validatedLink = await new Promise((r) => {
155
141
  this._validationCallback(text, async (result) => {
@@ -171,7 +157,7 @@ let TerminalValidatedLocalLinkProvider = class TerminalValidatedLocalLinkProvide
171
157
  const bufferRange = (0, helpers_1.convertLinkRangeToBuffer)(bufferLines, this._xterm.cols, {
172
158
  startColumn: stringIndex + 1,
173
159
  startLineNumber: 1,
174
- endColumn: stringIndex + text.length + 2,
160
+ endColumn: stringIndex + text.length + offset,
175
161
  endLineNumber: 1,
176
162
  }, startLine);
177
163
  r(this.injector.get(link_1.TerminalLink, [
@@ -198,7 +184,7 @@ let TerminalValidatedLocalLinkProvider = class TerminalValidatedLocalLinkProvide
198
184
  get _localLinkRegex() {
199
185
  const baseLocalLinkClause = this._client.os === ide_core_common_1.OperatingSystem.Windows ? exports.winLocalLinkClause : exports.unixLocalLinkClause;
200
186
  // Append line and column number regex
201
- return new RegExp(baseLocalLinkClause);
187
+ return new RegExp(`${baseLocalLinkClause}(${exports.lineAndColumnClause})`);
202
188
  }
203
189
  async _handleLocalFolderLink(uri) {
204
190
  // If the folder is within one of the window's workspaces, focus it in the explorer
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-terminal-next",
3
- "version": "3.6.5-next-1736131247.0",
3
+ "version": "3.6.5-next-1736135639.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.6.5-next-1736131247.0",
21
- "@opensumi/ide-core-common": "3.6.5-next-1736131247.0",
22
- "@opensumi/ide-core-node": "3.6.5-next-1736131247.0",
23
- "@opensumi/ide-file-service": "3.6.5-next-1736131247.0",
24
- "@opensumi/ide-utils": "3.6.5-next-1736131247.0",
20
+ "@opensumi/ide-connection": "3.6.5-next-1736135639.0",
21
+ "@opensumi/ide-core-common": "3.6.5-next-1736135639.0",
22
+ "@opensumi/ide-core-node": "3.6.5-next-1736135639.0",
23
+ "@opensumi/ide-file-service": "3.6.5-next-1736135639.0",
24
+ "@opensumi/ide-utils": "3.6.5-next-1736135639.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.6.5-next-1736131247.0",
35
- "@opensumi/ide-core-browser": "3.6.5-next-1736131247.0",
36
- "@opensumi/ide-dev-tool": "3.6.5-next-1736131247.0",
37
- "@opensumi/ide-editor": "3.6.5-next-1736131247.0",
38
- "@opensumi/ide-main-layout": "3.6.5-next-1736131247.0",
39
- "@opensumi/ide-monaco": "3.6.5-next-1736131247.0",
40
- "@opensumi/ide-overlay": "3.6.5-next-1736131247.0",
41
- "@opensumi/ide-status-bar": "3.6.5-next-1736131247.0",
42
- "@opensumi/ide-theme": "3.6.5-next-1736131247.0",
43
- "@opensumi/ide-variable": "3.6.5-next-1736131247.0",
44
- "@opensumi/ide-workspace": "3.6.5-next-1736131247.0",
34
+ "@opensumi/ide-components": "3.6.5-next-1736135639.0",
35
+ "@opensumi/ide-core-browser": "3.6.5-next-1736135639.0",
36
+ "@opensumi/ide-dev-tool": "3.6.5-next-1736135639.0",
37
+ "@opensumi/ide-editor": "3.6.5-next-1736135639.0",
38
+ "@opensumi/ide-main-layout": "3.6.5-next-1736135639.0",
39
+ "@opensumi/ide-monaco": "3.6.5-next-1736135639.0",
40
+ "@opensumi/ide-overlay": "3.6.5-next-1736135639.0",
41
+ "@opensumi/ide-status-bar": "3.6.5-next-1736135639.0",
42
+ "@opensumi/ide-theme": "3.6.5-next-1736135639.0",
43
+ "@opensumi/ide-variable": "3.6.5-next-1736135639.0",
44
+ "@opensumi/ide-workspace": "3.6.5-next-1736135639.0",
45
45
  "@types/http-proxy": "^1.17.2",
46
46
  "http-proxy": "^1.18.0"
47
47
  },
48
- "gitHead": "6feb19bf13581adc0adbbd2549f530c7cc0e1146"
48
+ "gitHead": "3c6e14d0e393604ac7e744384cf2c81295e1e3cc"
49
49
  }
@@ -18,51 +18,37 @@ import { XtermLinkMatcherHandler } from './link-manager';
18
18
  import type { TerminalClient } from '../terminal.client';
19
19
  import type { IBufferLine, IViewportRange, Terminal } from '@xterm/xterm';
20
20
 
21
- enum RegexPathConstants {
22
- PathPrefix = '(?:\\.\\.?|\\~|file://)',
23
- PathSeparatorClause = '\\/',
24
- // '":; are allowed in paths but they are often separators so ignore them
25
- // Also disallow \\ to prevent a catastropic backtracking case #24795
26
- ExcludedPathCharactersClause = '[^\\0<>\\?\\s!`&*()\'":;\\\\]',
27
- ExcludedStartPathCharactersClause = '[^\\0<>\\?\\s!`&*()\\[\\]\'":;\\\\]',
28
-
29
- WinOtherPathPrefix = '\\.\\.?|\\~',
30
- WinPathSeparatorClause = '(?:\\\\|\\/)',
31
- WinExcludedPathCharactersClause = '[^\\0<>\\?\\|\\/\\s!`&*()\'":;]',
32
- WinExcludedStartPathCharactersClause = '[^\\0<>\\?\\|\\/\\s!`&*()\\[\\]\'":;]',
33
- }
34
- /**
35
- * A regex that matches non-Windows paths, such as `/foo`, `~/foo`, `./foo`, `../foo` and
36
- * `foo/bar`.
37
- */
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 */
38
27
  export const unixLocalLinkClause =
39
- '(?:(?:' +
40
- RegexPathConstants.PathPrefix +
41
- '|(?:' +
42
- RegexPathConstants.ExcludedStartPathCharactersClause +
43
- RegexPathConstants.ExcludedPathCharactersClause +
44
- '*))?(?:' +
45
- RegexPathConstants.PathSeparatorClause +
46
- '(?:' +
47
- RegexPathConstants.ExcludedPathCharactersClause +
28
+ '((' +
29
+ pathPrefix +
30
+ '|(' +
31
+ excludedPathCharactersClause +
32
+ ')+)?(' +
33
+ pathSeparatorClause +
34
+ '(' +
35
+ excludedPathCharactersClause +
48
36
  ')+)+)';
49
37
 
50
- export const winDrivePrefix = '(?:\\\\\\\\\\?\\\\|file:\\/\\/\\/)?[a-zA-Z]:';
51
-
52
- /**
53
- * A regex that matches Windows paths, such as `\\?\c:\foo`, `c:\foo`, `~\foo`, `.\foo`, `..\foo`
54
- * and `foo\bar`.
55
- */
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 */
56
43
  export const winLocalLinkClause =
57
- '(?:(?:' +
58
- `(?:${winDrivePrefix}|${RegexPathConstants.WinOtherPathPrefix})` +
59
- '|(?:' +
60
- RegexPathConstants.WinExcludedStartPathCharactersClause +
61
- RegexPathConstants.WinExcludedPathCharactersClause +
62
- '*))?(?:' +
63
- RegexPathConstants.WinPathSeparatorClause +
64
- '(?:' +
65
- RegexPathConstants.WinExcludedPathCharactersClause +
44
+ '((' +
45
+ winPathPrefix +
46
+ '|(' +
47
+ winExcludedPathCharactersClause +
48
+ ')+)?(' +
49
+ winPathSeparatorClause +
50
+ '(' +
51
+ winExcludedPathCharactersClause +
66
52
  ')+)+)';
67
53
 
68
54
  /** As xterm reads from DOM, space in that case is nonbreaking char ASCII code - 160,
@@ -152,7 +138,6 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
152
138
  let match;
153
139
  let stringIndex = -1;
154
140
  while ((match = rex.exec(text)) !== null) {
155
- // const link = match[typeof matcher.matchIndex !== 'number' ? 0 : matcher.matchIndex];
156
141
  let link = match[0];
157
142
  if (!link) {
158
143
  // something matched but does not comply with the given matchIndex
@@ -183,8 +168,7 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
183
168
  link = link.substring(2);
184
169
  stringIndex += 2;
185
170
  }
186
-
187
- const validatedLinks = await this.detectedLocalLinks(link, lines, startLine, stringIndex);
171
+ const validatedLinks = await this.detectLocalLink(link, lines, startLine, stringIndex, 1);
188
172
 
189
173
  if (validatedLinks.length > 0) {
190
174
  result.push(...validatedLinks);
@@ -192,7 +176,7 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
192
176
  }
193
177
 
194
178
  if (result.length === 0) {
195
- const validatedLinks = await this.detectedLocalLinks(text, lines, startLine, stringIndex);
179
+ const validatedLinks = await this.detectLocalLink(text, lines, startLine, stringIndex, 2);
196
180
  if (validatedLinks.length > 0) {
197
181
  result.push(...validatedLinks);
198
182
  }
@@ -201,7 +185,13 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
201
185
  return result;
202
186
  }
203
187
 
204
- private async detectedLocalLinks(text: string, bufferLines: IBufferLine[], startLine: number, stringIndex: number) {
188
+ private async detectLocalLink(
189
+ text: string,
190
+ bufferLines: IBufferLine[],
191
+ startLine: number,
192
+ stringIndex: number,
193
+ offset,
194
+ ) {
205
195
  const result: TerminalLink[] = [];
206
196
  const validatedLink = await new Promise<TerminalLink | undefined>((r) => {
207
197
  this._validationCallback(text, async (result) => {
@@ -225,7 +215,7 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
225
215
  {
226
216
  startColumn: stringIndex + 1,
227
217
  startLineNumber: 1,
228
- endColumn: stringIndex + text.length + 2,
218
+ endColumn: stringIndex + text.length + offset,
229
219
  endLineNumber: 1,
230
220
  },
231
221
  startLine,
@@ -256,7 +246,7 @@ export class TerminalValidatedLocalLinkProvider extends TerminalBaseLinkProvider
256
246
  protected get _localLinkRegex(): RegExp {
257
247
  const baseLocalLinkClause = this._client.os === OperatingSystem.Windows ? winLocalLinkClause : unixLocalLinkClause;
258
248
  // Append line and column number regex
259
- return new RegExp(baseLocalLinkClause);
249
+ return new RegExp(`${baseLocalLinkClause}(${lineAndColumnClause})`);
260
250
  }
261
251
 
262
252
  private async _handleLocalFolderLink(uri: URI): Promise<void> {