@theia/plugin-ext 1.27.0-next.9 → 1.27.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 (273) hide show
  1. package/lib/common/connection.d.ts +3 -3
  2. package/lib/common/connection.d.ts.map +1 -1
  3. package/lib/common/connection.js +0 -1
  4. package/lib/common/connection.js.map +1 -1
  5. package/lib/common/plugin-api-rpc.d.ts +18 -8
  6. package/lib/common/plugin-api-rpc.d.ts.map +1 -1
  7. package/lib/common/plugin-api-rpc.js.map +1 -1
  8. package/lib/common/plugin-identifiers.d.ts +41 -0
  9. package/lib/common/plugin-identifiers.d.ts.map +1 -0
  10. package/lib/common/plugin-identifiers.js +81 -0
  11. package/lib/common/plugin-identifiers.js.map +1 -0
  12. package/lib/common/plugin-protocol.d.ts +50 -11
  13. package/lib/common/plugin-protocol.d.ts.map +1 -1
  14. package/lib/common/plugin-protocol.js +3 -1
  15. package/lib/common/plugin-protocol.js.map +1 -1
  16. package/lib/hosted/browser/hosted-plugin.d.ts +2 -2
  17. package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
  18. package/lib/hosted/browser/hosted-plugin.js +26 -18
  19. package/lib/hosted/browser/hosted-plugin.js.map +1 -1
  20. package/lib/hosted/browser/worker/debug-stub.d.ts +1 -1
  21. package/lib/hosted/browser/worker/debug-stub.d.ts.map +1 -1
  22. package/lib/hosted/browser/worker/debug-stub.js +2 -2
  23. package/lib/hosted/browser/worker/debug-stub.js.map +1 -1
  24. package/lib/hosted/browser/worker/plugin-manifest-loader.d.ts.map +1 -1
  25. package/lib/hosted/browser/worker/plugin-manifest-loader.js +4 -1
  26. package/lib/hosted/browser/worker/plugin-manifest-loader.js.map +1 -1
  27. package/lib/hosted/node/hosted-plugin-deployer-handler.d.ts +17 -9
  28. package/lib/hosted/node/hosted-plugin-deployer-handler.d.ts.map +1 -1
  29. package/lib/hosted/node/hosted-plugin-deployer-handler.js +99 -18
  30. package/lib/hosted/node/hosted-plugin-deployer-handler.js.map +1 -1
  31. package/lib/hosted/node/hosted-plugin-localization-service.d.ts.map +1 -1
  32. package/lib/hosted/node/hosted-plugin-localization-service.js +2 -4
  33. package/lib/hosted/node/hosted-plugin-localization-service.js.map +1 -1
  34. package/lib/hosted/node/hosted-plugin-process.d.ts +2 -2
  35. package/lib/hosted/node/hosted-plugin-process.d.ts.map +1 -1
  36. package/lib/hosted/node/hosted-plugin-process.js.map +1 -1
  37. package/lib/hosted/node/hosted-plugin.d.ts +2 -2
  38. package/lib/hosted/node/hosted-plugin.d.ts.map +1 -1
  39. package/lib/hosted/node/hosted-plugin.js.map +1 -1
  40. package/lib/hosted/node/metadata-scanner.d.ts +3 -2
  41. package/lib/hosted/node/metadata-scanner.d.ts.map +1 -1
  42. package/lib/hosted/node/metadata-scanner.js +8 -3
  43. package/lib/hosted/node/metadata-scanner.js.map +1 -1
  44. package/lib/hosted/node/plugin-host-rpc.js +2 -2
  45. package/lib/hosted/node/plugin-host-rpc.js.map +1 -1
  46. package/lib/hosted/node/plugin-manifest-loader.d.ts.map +1 -1
  47. package/lib/hosted/node/plugin-manifest-loader.js +3 -0
  48. package/lib/hosted/node/plugin-manifest-loader.js.map +1 -1
  49. package/lib/hosted/node/plugin-service.d.ts +18 -4
  50. package/lib/hosted/node/plugin-service.d.ts.map +1 -1
  51. package/lib/hosted/node/plugin-service.js +73 -18
  52. package/lib/hosted/node/plugin-service.js.map +1 -1
  53. package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
  54. package/lib/hosted/node/scanners/scanner-theia.js +6 -3
  55. package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
  56. package/lib/main/browser/custom-editors/custom-editor-opener.d.ts.map +1 -1
  57. package/lib/main/browser/custom-editors/custom-editor-opener.js +2 -2
  58. package/lib/main/browser/custom-editors/custom-editor-opener.js.map +1 -1
  59. package/lib/main/browser/debug/plugin-debug-session-factory.d.ts +3 -3
  60. package/lib/main/browser/debug/plugin-debug-session-factory.d.ts.map +1 -1
  61. package/lib/main/browser/debug/plugin-debug-session-factory.js.map +1 -1
  62. package/lib/main/browser/documents-main.d.ts +1 -2
  63. package/lib/main/browser/documents-main.d.ts.map +1 -1
  64. package/lib/main/browser/documents-main.js +26 -6
  65. package/lib/main/browser/documents-main.js.map +1 -1
  66. package/lib/main/browser/editors-and-documents-main.d.ts +2 -0
  67. package/lib/main/browser/editors-and-documents-main.d.ts.map +1 -1
  68. package/lib/main/browser/editors-and-documents-main.js +14 -2
  69. package/lib/main/browser/editors-and-documents-main.js.map +1 -1
  70. package/lib/main/browser/languages-main.d.ts.map +1 -1
  71. package/lib/main/browser/languages-main.js +2 -1
  72. package/lib/main/browser/languages-main.js.map +1 -1
  73. package/lib/main/browser/main-context.d.ts.map +1 -1
  74. package/lib/main/browser/main-context.js +5 -4
  75. package/lib/main/browser/main-context.js.map +1 -1
  76. package/lib/main/browser/plugin-contribution-handler.d.ts +2 -0
  77. package/lib/main/browser/plugin-contribution-handler.d.ts.map +1 -1
  78. package/lib/main/browser/plugin-contribution-handler.js +36 -1
  79. package/lib/main/browser/plugin-contribution-handler.js.map +1 -1
  80. package/lib/main/browser/plugin-shared-style.d.ts +4 -2
  81. package/lib/main/browser/plugin-shared-style.d.ts.map +1 -1
  82. package/lib/main/browser/plugin-shared-style.js +15 -4
  83. package/lib/main/browser/plugin-shared-style.js.map +1 -1
  84. package/lib/main/browser/text-editors-main.d.ts +6 -3
  85. package/lib/main/browser/text-editors-main.d.ts.map +1 -1
  86. package/lib/main/browser/text-editors-main.js +8 -1
  87. package/lib/main/browser/text-editors-main.js.map +1 -1
  88. package/lib/main/browser/theming-main.d.ts +2 -1
  89. package/lib/main/browser/theming-main.d.ts.map +1 -1
  90. package/lib/main/browser/theming-main.js +3 -6
  91. package/lib/main/browser/theming-main.js.map +1 -1
  92. package/lib/main/browser/view/plugin-tree-view-node-label-provider.d.ts.map +1 -1
  93. package/lib/main/browser/view/plugin-tree-view-node-label-provider.js +7 -5
  94. package/lib/main/browser/view/plugin-tree-view-node-label-provider.js.map +1 -1
  95. package/lib/main/browser/view/plugin-view-registry.d.ts +1 -1
  96. package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
  97. package/lib/main/browser/view/plugin-view-registry.js +11 -6
  98. package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
  99. package/lib/main/browser/view/tree-view-widget.d.ts +10 -5
  100. package/lib/main/browser/view/tree-view-widget.d.ts.map +1 -1
  101. package/lib/main/browser/view/tree-view-widget.js +40 -14
  102. package/lib/main/browser/view/tree-view-widget.js.map +1 -1
  103. package/lib/main/browser/webview/webview-theme-data-provider.d.ts +3 -1
  104. package/lib/main/browser/webview/webview-theme-data-provider.d.ts.map +1 -1
  105. package/lib/main/browser/webview/webview-theme-data-provider.js +5 -1
  106. package/lib/main/browser/webview/webview-theme-data-provider.js.map +1 -1
  107. package/lib/main/node/handlers/plugin-theia-directory-handler.d.ts +6 -1
  108. package/lib/main/node/handlers/plugin-theia-directory-handler.d.ts.map +1 -1
  109. package/lib/main/node/handlers/plugin-theia-directory-handler.js +61 -20
  110. package/lib/main/node/handlers/plugin-theia-directory-handler.js.map +1 -1
  111. package/lib/main/node/handlers/plugin-theia-file-handler.d.ts +4 -0
  112. package/lib/main/node/handlers/plugin-theia-file-handler.d.ts.map +1 -1
  113. package/lib/main/node/handlers/plugin-theia-file-handler.js +26 -4
  114. package/lib/main/node/handlers/plugin-theia-file-handler.js.map +1 -1
  115. package/lib/main/node/plugin-cli-contribution.d.ts +3 -0
  116. package/lib/main/node/plugin-cli-contribution.d.ts.map +1 -1
  117. package/lib/main/node/plugin-cli-contribution.js +13 -0
  118. package/lib/main/node/plugin-cli-contribution.js.map +1 -1
  119. package/lib/main/node/plugin-deployer-directory-handler-context-impl.d.ts +1 -0
  120. package/lib/main/node/plugin-deployer-directory-handler-context-impl.d.ts.map +1 -1
  121. package/lib/main/node/plugin-deployer-directory-handler-context-impl.js +17 -0
  122. package/lib/main/node/plugin-deployer-directory-handler-context-impl.js.map +1 -1
  123. package/lib/main/node/plugin-deployer-file-handler-context-impl.d.ts.map +1 -1
  124. package/lib/main/node/plugin-deployer-file-handler-context-impl.js +0 -1
  125. package/lib/main/node/plugin-deployer-file-handler-context-impl.js.map +1 -1
  126. package/lib/main/node/plugin-deployer-impl.d.ts +10 -7
  127. package/lib/main/node/plugin-deployer-impl.d.ts.map +1 -1
  128. package/lib/main/node/plugin-deployer-impl.js +84 -38
  129. package/lib/main/node/plugin-deployer-impl.js.map +1 -1
  130. package/lib/main/node/plugin-ext-backend-module.d.ts.map +1 -1
  131. package/lib/main/node/plugin-ext-backend-module.js +2 -0
  132. package/lib/main/node/plugin-ext-backend-module.js.map +1 -1
  133. package/lib/main/node/plugin-server-handler.d.ts +5 -4
  134. package/lib/main/node/plugin-server-handler.d.ts.map +1 -1
  135. package/lib/main/node/plugin-server-handler.js +12 -5
  136. package/lib/main/node/plugin-server-handler.js.map +1 -1
  137. package/lib/main/node/plugin-uninstallation-manager.d.ts +15 -0
  138. package/lib/main/node/plugin-uninstallation-manager.d.ts.map +1 -0
  139. package/lib/main/node/plugin-uninstallation-manager.js +85 -0
  140. package/lib/main/node/plugin-uninstallation-manager.js.map +1 -0
  141. package/lib/plugin/{node/debug/debug.d.ts → debug/debug-ext.d.ts} +15 -13
  142. package/lib/plugin/debug/debug-ext.d.ts.map +1 -0
  143. package/lib/plugin/{node/debug/debug.js → debug/debug-ext.js} +17 -51
  144. package/lib/plugin/debug/debug-ext.js.map +1 -0
  145. package/lib/plugin/debug/plugin-debug-adapter-creator.d.ts +11 -0
  146. package/lib/plugin/debug/plugin-debug-adapter-creator.d.ts.map +1 -0
  147. package/lib/plugin/debug/plugin-debug-adapter-creator.js +42 -0
  148. package/lib/plugin/debug/plugin-debug-adapter-creator.js.map +1 -0
  149. package/lib/plugin/{node/debug → debug}/plugin-debug-adapter-session.d.ts +4 -4
  150. package/lib/plugin/debug/plugin-debug-adapter-session.d.ts.map +1 -0
  151. package/lib/plugin/{node/debug → debug}/plugin-debug-adapter-session.js +1 -1
  152. package/lib/plugin/debug/plugin-debug-adapter-session.js.map +1 -0
  153. package/lib/plugin/{node/debug → debug}/plugin-debug-adapter-tracker.d.ts +0 -0
  154. package/lib/plugin/debug/plugin-debug-adapter-tracker.d.ts.map +1 -0
  155. package/lib/plugin/{node/debug → debug}/plugin-debug-adapter-tracker.js +0 -0
  156. package/lib/plugin/debug/plugin-debug-adapter-tracker.js.map +1 -0
  157. package/lib/plugin/languages-utils.d.ts.map +1 -1
  158. package/lib/plugin/languages-utils.js +3 -2
  159. package/lib/plugin/languages-utils.js.map +1 -1
  160. package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.d.ts +18 -0
  161. package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.d.ts.map +1 -0
  162. package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.js +155 -0
  163. package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.js.map +1 -0
  164. package/lib/plugin/plugin-context.d.ts +1 -1
  165. package/lib/plugin/plugin-context.d.ts.map +1 -1
  166. package/lib/plugin/plugin-context.js +1 -2
  167. package/lib/plugin/plugin-context.js.map +1 -1
  168. package/lib/plugin/plugin-manager.d.ts.map +1 -1
  169. package/lib/plugin/plugin-manager.js +5 -9
  170. package/lib/plugin/plugin-manager.js.map +1 -1
  171. package/lib/plugin/text-editor.d.ts +2 -0
  172. package/lib/plugin/text-editor.d.ts.map +1 -1
  173. package/lib/plugin/text-editor.js +9 -0
  174. package/lib/plugin/text-editor.js.map +1 -1
  175. package/lib/plugin/theming.d.ts +1 -1
  176. package/lib/plugin/theming.d.ts.map +1 -1
  177. package/lib/plugin/tree/tree-views.d.ts +1 -0
  178. package/lib/plugin/tree/tree-views.d.ts.map +1 -1
  179. package/lib/plugin/tree/tree-views.js +10 -9
  180. package/lib/plugin/tree/tree-views.js.map +1 -1
  181. package/lib/plugin/types-impl.d.ts +1 -0
  182. package/lib/plugin/types-impl.d.ts.map +1 -1
  183. package/lib/plugin/types-impl.js +3 -2
  184. package/lib/plugin/types-impl.js.map +1 -1
  185. package/package.json +26 -25
  186. package/src/common/connection.ts +3 -4
  187. package/src/common/plugin-api-rpc.ts +20 -12
  188. package/src/common/plugin-identifiers.ts +84 -0
  189. package/src/common/plugin-protocol.ts +57 -12
  190. package/src/hosted/browser/hosted-plugin.ts +28 -21
  191. package/src/hosted/browser/worker/debug-stub.ts +1 -1
  192. package/src/hosted/browser/worker/plugin-manifest-loader.ts +4 -2
  193. package/src/hosted/node/hosted-plugin-deployer-handler.ts +109 -28
  194. package/src/hosted/node/hosted-plugin-localization-service.ts +4 -6
  195. package/src/hosted/node/hosted-plugin-process.ts +4 -4
  196. package/src/hosted/node/hosted-plugin.ts +2 -2
  197. package/src/hosted/node/metadata-scanner.ts +8 -6
  198. package/src/hosted/node/plugin-host-rpc.ts +2 -2
  199. package/src/hosted/node/plugin-manifest-loader.ts +2 -0
  200. package/src/hosted/node/plugin-service.ts +79 -23
  201. package/src/hosted/node/scanners/scanner-theia.ts +7 -4
  202. package/src/main/browser/custom-editors/custom-editor-opener.tsx +2 -2
  203. package/src/main/browser/debug/plugin-debug-session-factory.ts +2 -2
  204. package/src/main/browser/documents-main.ts +26 -8
  205. package/src/main/browser/editors-and-documents-main.ts +16 -2
  206. package/src/main/browser/languages-main.ts +2 -1
  207. package/src/main/browser/main-context.ts +4 -3
  208. package/src/main/browser/plugin-contribution-handler.ts +41 -3
  209. package/src/main/browser/plugin-icon-theme-service.ts +1 -1
  210. package/src/main/browser/plugin-shared-style.ts +9 -5
  211. package/src/main/browser/text-editors-main.ts +12 -2
  212. package/src/main/browser/theming-main.ts +3 -7
  213. package/src/main/browser/view/plugin-tree-view-node-label-provider.ts +7 -5
  214. package/src/main/browser/view/plugin-view-registry.ts +12 -7
  215. package/src/main/browser/view/tree-view-widget.tsx +45 -17
  216. package/src/main/browser/webview/webview-theme-data-provider.ts +7 -10
  217. package/src/main/node/handlers/plugin-theia-directory-handler.ts +56 -28
  218. package/src/main/node/handlers/plugin-theia-file-handler.ts +26 -4
  219. package/src/main/node/plugin-cli-contribution.ts +12 -0
  220. package/src/main/node/plugin-deployer-directory-handler-context-impl.ts +17 -1
  221. package/src/main/node/plugin-deployer-file-handler-context-impl.ts +0 -1
  222. package/src/main/node/plugin-deployer-impl.ts +88 -41
  223. package/src/main/node/plugin-ext-backend-module.ts +3 -0
  224. package/src/main/node/plugin-server-handler.ts +15 -7
  225. package/src/main/node/plugin-uninstallation-manager.ts +74 -0
  226. package/src/plugin/{node/debug/debug.ts → debug/debug-ext.ts} +25 -56
  227. package/src/plugin/debug/plugin-debug-adapter-creator.ts +50 -0
  228. package/src/plugin/{node/debug → debug}/plugin-debug-adapter-session.ts +4 -4
  229. package/src/plugin/{node/debug → debug}/plugin-debug-adapter-tracker.ts +0 -0
  230. package/src/plugin/languages-utils.ts +3 -2
  231. package/src/plugin/node/debug/plugin-node-debug-adapter-creator.ts +167 -0
  232. package/src/plugin/plugin-context.ts +2 -3
  233. package/src/plugin/plugin-manager.ts +5 -9
  234. package/src/plugin/text-editor.ts +16 -5
  235. package/src/plugin/theming.ts +1 -1
  236. package/src/plugin/tree/tree-views.ts +15 -12
  237. package/src/plugin/types-impl.ts +1 -1
  238. package/lib/main/browser/custom-editors/glob.d.ts +0 -51
  239. package/lib/main/browser/custom-editors/glob.d.ts.map +0 -1
  240. package/lib/main/browser/custom-editors/glob.js +0 -593
  241. package/lib/main/browser/custom-editors/glob.js.map +0 -1
  242. package/lib/main/browser/custom-editors/paths.d.ts +0 -25
  243. package/lib/main/browser/custom-editors/paths.d.ts.map +0 -1
  244. package/lib/main/browser/custom-editors/paths.js +0 -227
  245. package/lib/main/browser/custom-editors/paths.js.map +0 -1
  246. package/lib/main/browser/editor/untitled-resource.d.ts +0 -3
  247. package/lib/main/browser/editor/untitled-resource.d.ts.map +0 -1
  248. package/lib/main/browser/editor/untitled-resource.js +0 -24
  249. package/lib/main/browser/editor/untitled-resource.js.map +0 -1
  250. package/lib/plugin/node/debug/debug.d.ts.map +0 -1
  251. package/lib/plugin/node/debug/debug.js.map +0 -1
  252. package/lib/plugin/node/debug/plugin-debug-adapter-executable-resolver.d.ts +0 -7
  253. package/lib/plugin/node/debug/plugin-debug-adapter-executable-resolver.d.ts.map +0 -1
  254. package/lib/plugin/node/debug/plugin-debug-adapter-executable-resolver.js +0 -57
  255. package/lib/plugin/node/debug/plugin-debug-adapter-executable-resolver.js.map +0 -1
  256. package/lib/plugin/node/debug/plugin-debug-adapter-session.d.ts.map +0 -1
  257. package/lib/plugin/node/debug/plugin-debug-adapter-session.js.map +0 -1
  258. package/lib/plugin/node/debug/plugin-debug-adapter-starter.d.ts +0 -15
  259. package/lib/plugin/node/debug/plugin-debug-adapter-starter.d.ts.map +0 -1
  260. package/lib/plugin/node/debug/plugin-debug-adapter-starter.js +0 -85
  261. package/lib/plugin/node/debug/plugin-debug-adapter-starter.js.map +0 -1
  262. package/lib/plugin/node/debug/plugin-debug-adapter-tracker.d.ts.map +0 -1
  263. package/lib/plugin/node/debug/plugin-debug-adapter-tracker.js.map +0 -1
  264. package/lib/plugin/node/debug/plugin-inline-debug-adapter.d.ts +0 -19
  265. package/lib/plugin/node/debug/plugin-inline-debug-adapter.d.ts.map +0 -1
  266. package/lib/plugin/node/debug/plugin-inline-debug-adapter.js +0 -45
  267. package/lib/plugin/node/debug/plugin-inline-debug-adapter.js.map +0 -1
  268. package/src/main/browser/custom-editors/glob.ts +0 -743
  269. package/src/main/browser/custom-editors/paths.ts +0 -250
  270. package/src/main/browser/editor/untitled-resource.ts +0 -18
  271. package/src/plugin/node/debug/plugin-debug-adapter-executable-resolver.ts +0 -58
  272. package/src/plugin/node/debug/plugin-debug-adapter-starter.ts +0 -86
  273. package/src/plugin/node/debug/plugin-inline-debug-adapter.ts +0 -47
@@ -1,593 +0,0 @@
1
- // *****************************************************************************
2
- // Copyright (C) 2021 SAP SE or an SAP affiliate company and others.
3
- //
4
- // This program and the accompanying materials are made available under the
5
- // terms of the Eclipse Public License v. 2.0 which is available at
6
- // http://www.eclipse.org/legal/epl-2.0.
7
- //
8
- // This Source Code may also be made available under the following Secondary
9
- // Licenses when the conditions for such availability set forth in the Eclipse
10
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
- // with the GNU Classpath Exception which is available at
12
- // https://www.gnu.org/software/classpath/license.html.
13
- //
14
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
- // *****************************************************************************
16
- // copied from https://github.com/Microsoft/vscode/blob/bf7ac9201e7a7d01741d4e6e64b5dc9f3197d97b/src/vs/base/common/glob.ts
17
- /*---------------------------------------------------------------------------------------------
18
- * Copyright (c) Microsoft Corporation. All rights reserved.
19
- * Licensed under the MIT License. See License.txt in the project root for license information.
20
- *--------------------------------------------------------------------------------------------*/
21
- 'use strict';
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.getPathTerms = exports.getBasenameTerms = exports.parseToAsync = exports.isRelativePattern = exports.hasSiblingFn = exports.hasSiblingPromiseFn = exports.parse = exports.match = exports.splitGlobAware = exports.getEmptyExpression = void 0;
24
- const strings = require("@theia/core/lib/common/strings");
25
- const paths = require("./paths");
26
- function getEmptyExpression() {
27
- return Object.create(null);
28
- }
29
- exports.getEmptyExpression = getEmptyExpression;
30
- const GLOBSTAR = '**';
31
- const GLOB_SPLIT = '/';
32
- const PATH_REGEX = '[/\\\\]'; // any slash or backslash
33
- const NO_PATH_REGEX = '[^/\\\\]'; // any non-slash and non-backslash
34
- const ALL_FORWARD_SLASHES = /\//g;
35
- function starsToRegExp(starCount) {
36
- switch (starCount) {
37
- case 0:
38
- return '';
39
- case 1:
40
- return `${NO_PATH_REGEX}*?`; // 1 star matches any number of characters except path separator (/ and \) - non greedy (?)
41
- default:
42
- // Matches: (Path Sep OR Path Val followed by Path Sep OR Path Sep followed by Path Val) 0-many times
43
- // Group is non capturing because we don't need to capture at all (?:...)
44
- // Overall we use non-greedy matching because it could be that we match too much
45
- return `(?:${PATH_REGEX}|${NO_PATH_REGEX}+${PATH_REGEX}|${PATH_REGEX}${NO_PATH_REGEX}+)*?`;
46
- }
47
- }
48
- function splitGlobAware(pattern, splitChar) {
49
- if (!pattern) {
50
- return [];
51
- }
52
- const segments = [];
53
- let inBraces = false;
54
- let inBrackets = false;
55
- let char;
56
- let curVal = '';
57
- for (let i = 0; i < pattern.length; i++) {
58
- char = pattern[i];
59
- switch (char) {
60
- case splitChar:
61
- if (!inBraces && !inBrackets) {
62
- segments.push(curVal);
63
- curVal = '';
64
- continue;
65
- }
66
- break;
67
- case '{':
68
- inBraces = true;
69
- break;
70
- case '}':
71
- inBraces = false;
72
- break;
73
- case '[':
74
- inBrackets = true;
75
- break;
76
- case ']':
77
- inBrackets = false;
78
- break;
79
- }
80
- curVal += char;
81
- }
82
- // Tail
83
- if (curVal) {
84
- segments.push(curVal);
85
- }
86
- return segments;
87
- }
88
- exports.splitGlobAware = splitGlobAware;
89
- function parseRegExp(pattern) {
90
- if (!pattern) {
91
- return '';
92
- }
93
- let regEx = '';
94
- // Split up into segments for each slash found
95
- // eslint-disable-next-line prefer-const
96
- let segments = splitGlobAware(pattern, GLOB_SPLIT);
97
- // Special case where we only have globstars
98
- if (segments.every(s => s === GLOBSTAR)) {
99
- regEx = '.*';
100
- }
101
- // Build regex over segments
102
- // tslint:disable-next-line:one-line
103
- else {
104
- let previousSegmentWasGlobStar = false;
105
- segments.forEach((segment, index) => {
106
- // Globstar is special
107
- if (segment === GLOBSTAR) {
108
- // if we have more than one globstar after another, just ignore it
109
- if (!previousSegmentWasGlobStar) {
110
- regEx += starsToRegExp(2);
111
- previousSegmentWasGlobStar = true;
112
- }
113
- return;
114
- }
115
- // States
116
- let inBraces = false;
117
- let braceVal = '';
118
- let inBrackets = false;
119
- let bracketVal = '';
120
- let char;
121
- for (let i = 0; i < segment.length; i++) {
122
- char = segment[i];
123
- // Support brace expansion
124
- if (char !== '}' && inBraces) {
125
- braceVal += char;
126
- continue;
127
- }
128
- // Support brackets
129
- if (inBrackets && (char !== ']' || !bracketVal) /* ] is literally only allowed as first character in brackets to match it */) {
130
- let res;
131
- // range operator
132
- if (char === '-') {
133
- res = char;
134
- }
135
- // negation operator (only valid on first index in bracket)
136
- // tslint:disable-next-line:one-line
137
- else if ((char === '^' || char === '!') && !bracketVal) {
138
- res = '^';
139
- }
140
- // glob split matching is not allowed within character ranges
141
- // see http://man7.org/linux/man-pages/man7/glob.7.html
142
- // tslint:disable-next-line:one-line
143
- else if (char === GLOB_SPLIT) {
144
- res = '';
145
- }
146
- // anything else gets escaped
147
- // tslint:disable-next-line:one-line
148
- else {
149
- res = strings.escapeRegExpCharacters(char);
150
- }
151
- bracketVal += res;
152
- continue;
153
- }
154
- switch (char) {
155
- case '{':
156
- inBraces = true;
157
- continue;
158
- case '[':
159
- inBrackets = true;
160
- continue;
161
- case '}':
162
- // eslint-disable-next-line prefer-const
163
- let choices = splitGlobAware(braceVal, ',');
164
- // Converts {foo,bar} => [foo|bar]
165
- // eslint-disable-next-line prefer-const
166
- let braceRegExp = `(?:${choices.map(c => parseRegExp(c)).join('|')})`;
167
- regEx += braceRegExp;
168
- inBraces = false;
169
- braceVal = '';
170
- break;
171
- case ']':
172
- regEx += ('[' + bracketVal + ']');
173
- inBrackets = false;
174
- bracketVal = '';
175
- break;
176
- case '?':
177
- regEx += NO_PATH_REGEX; // 1 ? matches any single character except path separator (/ and \)
178
- continue;
179
- case '*':
180
- regEx += starsToRegExp(1);
181
- continue;
182
- default:
183
- regEx += strings.escapeRegExpCharacters(char);
184
- }
185
- }
186
- // Tail: Add the slash we had split on if there is more to come and the remaining pattern is not a globstar
187
- // For example if pattern: some/**/*.js we want the "/" after some to be included in the RegEx to prevent
188
- // a folder called "something" to match as well.
189
- // However, if pattern: some/**, we tolerate that we also match on "something" because our globstar behavior
190
- // is to match 0-N segments.
191
- if (index < segments.length - 1 && (segments[index + 1] !== GLOBSTAR || index + 2 < segments.length)) {
192
- regEx += PATH_REGEX;
193
- }
194
- // reset state
195
- previousSegmentWasGlobStar = false;
196
- });
197
- }
198
- return regEx;
199
- }
200
- // regexes to check for trivial glob patterns that just check for String#endsWith
201
- const T1 = /^\*\*\/\*\.[\w\.-]+$/; // **/*.something
202
- const T2 = /^\*\*\/([\w\.-]+)\/?$/; // **/something
203
- const T3 = /^{\*\*\/[\*\.]?[\w\.-]+\/?(,\*\*\/[\*\.]?[\w\.-]+\/?)*}$/; // {**/*.something,**/*.else} or {**/package.json,**/project.json}
204
- const T3_2 = /^{\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?(,\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?)*}$/; // Like T3, with optional trailing /**
205
- const T4 = /^\*\*((\/[\w\.-]+)+)\/?$/; // **/something/else
206
- const T5 = /^([\w\.-]+(\/[\w\.-]+)*)\/?$/; // something/else
207
- const CACHE = new Map(); // new LRUCache<string, ParsedStringPattern>(10000); // bounded to 10000 elements
208
- const FALSE = function () {
209
- return false;
210
- };
211
- const NULL = function () {
212
- return null;
213
- };
214
- function parsePattern(arg1, options) {
215
- if (!arg1) {
216
- return NULL;
217
- }
218
- // Handle IRelativePattern
219
- let pattern;
220
- if (typeof arg1 !== 'string') {
221
- pattern = arg1.pattern;
222
- }
223
- else {
224
- pattern = arg1;
225
- }
226
- // Whitespace trimming
227
- pattern = pattern.trim();
228
- // Check cache
229
- const patternKey = `${pattern}_${!!options.trimForExclusions}`;
230
- let parsedPattern = CACHE.get(patternKey);
231
- if (parsedPattern) {
232
- return wrapRelativePattern(parsedPattern, arg1);
233
- }
234
- // Check for Trivias
235
- let match;
236
- if (T1.test(pattern)) { // common pattern: **/*.txt just need endsWith check
237
- const base = pattern.substr(4); // '**/*'.length === 4
238
- parsedPattern = function (path, basename) {
239
- return path && strings.endsWith(path, base) ? pattern : null;
240
- };
241
- }
242
- else if (match = T2.exec(trimForExclusions(pattern, options))) { // common pattern: **/some.txt just need basename check
243
- parsedPattern = trivia2(match[1], pattern);
244
- }
245
- else if ((options.trimForExclusions ? T3_2 : T3).test(pattern)) { // repetition of common patterns (see above) {**/*.txt,**/*.png}
246
- parsedPattern = trivia3(pattern, options);
247
- }
248
- else if (match = T4.exec(trimForExclusions(pattern, options))) { // common pattern: **/something/else just need endsWith check
249
- parsedPattern = trivia4and5(match[1].substr(1), pattern, true);
250
- }
251
- else if (match = T5.exec(trimForExclusions(pattern, options))) { // common pattern: something/else just need equals check
252
- parsedPattern = trivia4and5(match[1], pattern, false);
253
- }
254
- // Otherwise convert to pattern
255
- // tslint:disable-next-line:one-line
256
- else {
257
- parsedPattern = toRegExp(pattern);
258
- }
259
- // Cache
260
- CACHE.set(patternKey, parsedPattern);
261
- return wrapRelativePattern(parsedPattern, arg1);
262
- }
263
- function wrapRelativePattern(parsedPattern, arg2) {
264
- if (typeof arg2 === 'string') {
265
- return parsedPattern;
266
- }
267
- return function (path, basename) {
268
- if (!paths.isEqualOrParent(path, arg2.base)) {
269
- return null;
270
- }
271
- return parsedPattern(paths.normalize(arg2.pathToRelative(arg2.base, path)), basename);
272
- };
273
- }
274
- function trimForExclusions(pattern, options) {
275
- return options.trimForExclusions && strings.endsWith(pattern, '/**') ? pattern.substr(0, pattern.length - 2) : pattern; // dropping **, tailing / is dropped later
276
- }
277
- // common pattern: **/some.txt just need basename check
278
- function trivia2(base, originalPattern) {
279
- const slashBase = `/${base}`;
280
- const backslashBase = `\\${base}`;
281
- const parsedPattern = function (path, basename) {
282
- if (!path) {
283
- return null;
284
- }
285
- if (basename) {
286
- return basename === base ? originalPattern : null;
287
- }
288
- return path === base || strings.endsWith(path, slashBase) || strings.endsWith(path, backslashBase) ? originalPattern : null;
289
- };
290
- const basenames = [base];
291
- parsedPattern.basenames = basenames;
292
- parsedPattern.patterns = [originalPattern];
293
- parsedPattern.allBasenames = basenames;
294
- return parsedPattern;
295
- }
296
- // repetition of common patterns (see above) {**/*.txt,**/*.png}
297
- function trivia3(pattern, options) {
298
- const parsedPatterns = aggregateBasenameMatches(pattern.slice(1, -1).split(',')
299
- .map(pattern => parsePattern(pattern, options))
300
- .filter(pattern => pattern !== NULL), pattern);
301
- const n = parsedPatterns.length;
302
- if (!n) {
303
- return NULL;
304
- }
305
- if (n === 1) {
306
- return parsedPatterns[0];
307
- }
308
- const parsedPattern = function (path, basename) {
309
- for (let i = 0, n = parsedPatterns.length; i < n; i++) {
310
- if (parsedPatterns[i](path, basename)) {
311
- return pattern;
312
- }
313
- }
314
- return null;
315
- };
316
- const withBasenames = parsedPatterns.find(pattern => !!pattern.allBasenames);
317
- // const withBasenames = arrays.first(parsedPatterns, pattern => !!(<ParsedStringPattern>pattern).allBasenames);
318
- if (withBasenames) {
319
- parsedPattern.allBasenames = withBasenames.allBasenames;
320
- }
321
- const allPaths = parsedPatterns.reduce((all, current) => current.allPaths ? all.concat(current.allPaths) : all, []);
322
- if (allPaths.length) {
323
- parsedPattern.allPaths = allPaths;
324
- }
325
- return parsedPattern;
326
- }
327
- // common patterns: **/something/else just need endsWith check, something/else just needs and equals check
328
- function trivia4and5(path, pattern, matchPathEnds) {
329
- const nativePath = paths.nativeSep !== paths.sep ? path.replace(ALL_FORWARD_SLASHES, paths.nativeSep) : path;
330
- const nativePathEnd = paths.nativeSep + nativePath;
331
- // eslint-disable-next-line @typescript-eslint/no-shadow
332
- const parsedPattern = matchPathEnds ? function (path, basename) {
333
- return path && (path === nativePath || strings.endsWith(path, nativePathEnd)) ? pattern : null;
334
- // eslint-disable-next-line @typescript-eslint/no-shadow
335
- } : function (path, basename) {
336
- return path && path === nativePath ? pattern : null;
337
- };
338
- parsedPattern.allPaths = [(matchPathEnds ? '*/' : './') + path];
339
- return parsedPattern;
340
- }
341
- function toRegExp(pattern) {
342
- try {
343
- const regExp = new RegExp(`^${parseRegExp(pattern)}$`);
344
- return function (path, basename) {
345
- regExp.lastIndex = 0; // reset RegExp to its initial state to reuse it!
346
- return path && regExp.test(path) ? pattern : null;
347
- };
348
- }
349
- catch (error) {
350
- return NULL;
351
- }
352
- }
353
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
354
- function match(arg1, path, hasSibling) {
355
- if (!arg1 || !path) {
356
- return false;
357
- }
358
- return parse(arg1)(path, undefined, hasSibling);
359
- }
360
- exports.match = match;
361
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
362
- function parse(arg1, options = {}) {
363
- if (!arg1) {
364
- return FALSE;
365
- }
366
- // Glob with String
367
- if (typeof arg1 === 'string' || isRelativePattern(arg1)) {
368
- const parsedPattern = parsePattern(arg1, options);
369
- if (parsedPattern === NULL) {
370
- return FALSE;
371
- }
372
- const resultPattern = function (path, basename) {
373
- return !!parsedPattern(path, basename);
374
- };
375
- if (parsedPattern.allBasenames) {
376
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
377
- resultPattern.allBasenames = parsedPattern.allBasenames;
378
- }
379
- if (parsedPattern.allPaths) {
380
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
381
- resultPattern.allPaths = parsedPattern.allPaths;
382
- }
383
- return resultPattern;
384
- }
385
- // Glob with Expression
386
- return parsedExpression(arg1, options);
387
- }
388
- exports.parse = parse;
389
- function hasSiblingPromiseFn(siblingsFn) {
390
- if (!siblingsFn) {
391
- return undefined;
392
- }
393
- let siblings;
394
- return (name) => {
395
- if (!siblings) {
396
- siblings = (siblingsFn() || Promise.resolve([]))
397
- .then(list => list ? listToMap(list) : {});
398
- }
399
- return siblings.then(map => !!map[name]);
400
- };
401
- }
402
- exports.hasSiblingPromiseFn = hasSiblingPromiseFn;
403
- function hasSiblingFn(siblingsFn) {
404
- if (!siblingsFn) {
405
- return undefined;
406
- }
407
- let siblings;
408
- return (name) => {
409
- if (!siblings) {
410
- const list = siblingsFn();
411
- siblings = list ? listToMap(list) : {};
412
- }
413
- return !!siblings[name];
414
- };
415
- }
416
- exports.hasSiblingFn = hasSiblingFn;
417
- function listToMap(list) {
418
- const map = {};
419
- for (const key of list) {
420
- map[key] = true;
421
- }
422
- return map;
423
- }
424
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
425
- function isRelativePattern(obj) {
426
- const rp = obj;
427
- return rp && typeof rp.base === 'string' && typeof rp.pattern === 'string' && typeof rp.pathToRelative === 'function';
428
- }
429
- exports.isRelativePattern = isRelativePattern;
430
- /**
431
- * Same as `parse`, but the ParsedExpression is guaranteed to return a Promise
432
- */
433
- function parseToAsync(expression, options) {
434
- // eslint-disable-next-line @typescript-eslint/no-shadow
435
- const parsedExpression = parse(expression, options);
436
- return (path, basename, hasSibling) => {
437
- const result = parsedExpression(path, basename, hasSibling);
438
- return result instanceof Promise ? result : Promise.resolve(result);
439
- };
440
- }
441
- exports.parseToAsync = parseToAsync;
442
- function getBasenameTerms(patternOrExpression) {
443
- return patternOrExpression.allBasenames || [];
444
- }
445
- exports.getBasenameTerms = getBasenameTerms;
446
- function getPathTerms(patternOrExpression) {
447
- return patternOrExpression.allPaths || [];
448
- }
449
- exports.getPathTerms = getPathTerms;
450
- function parsedExpression(expression, options) {
451
- const parsedPatterns = aggregateBasenameMatches(Object.getOwnPropertyNames(expression)
452
- .map(pattern => parseExpressionPattern(pattern, expression[pattern], options))
453
- .filter(pattern => pattern !== NULL));
454
- const n = parsedPatterns.length;
455
- if (!n) {
456
- return NULL;
457
- }
458
- if (!parsedPatterns.some(parsedPattern => parsedPattern.requiresSiblings)) {
459
- if (n === 1) {
460
- return parsedPatterns[0];
461
- }
462
- // eslint-disable-next-line @typescript-eslint/no-shadow
463
- const resultExpression = function (path, basename) {
464
- // eslint-disable-next-line @typescript-eslint/no-shadow
465
- // tslint:disable-next-line:one-variable-per-declaration
466
- for (let i = 0, n = parsedPatterns.length; i < n; i++) {
467
- // Pattern matches path
468
- const result = parsedPatterns[i](path, basename);
469
- if (result) {
470
- return result;
471
- }
472
- }
473
- return null;
474
- };
475
- // eslint-disable-next-line @typescript-eslint/no-shadow
476
- const withBasenames = parsedPatterns.find(pattern => !!pattern.allBasenames);
477
- if (withBasenames) {
478
- resultExpression.allBasenames = withBasenames.allBasenames;
479
- }
480
- // eslint-disable-next-line @typescript-eslint/no-shadow
481
- const allPaths = parsedPatterns.reduce((all, current) => current.allPaths ? all.concat(current.allPaths) : all, []);
482
- if (allPaths.length) {
483
- resultExpression.allPaths = allPaths;
484
- }
485
- return resultExpression;
486
- }
487
- const resultExpression = function (path, basename, hasSibling) {
488
- let name = null;
489
- // eslint-disable-next-line @typescript-eslint/no-shadow
490
- for (let i = 0, n = parsedPatterns.length; i < n; i++) {
491
- // Pattern matches path
492
- const parsedPattern = parsedPatterns[i];
493
- if (parsedPattern.requiresSiblings && hasSibling) {
494
- if (!basename) {
495
- basename = paths.basename(path);
496
- }
497
- if (!name) {
498
- name = basename.substr(0, basename.length - paths.extname(path).length);
499
- }
500
- }
501
- const result = parsedPattern(path, basename, name, hasSibling);
502
- if (result) {
503
- return result;
504
- }
505
- }
506
- return null;
507
- };
508
- const withBasenames = parsedPatterns.find(pattern => !!pattern.allBasenames);
509
- if (withBasenames) {
510
- resultExpression.allBasenames = withBasenames.allBasenames;
511
- }
512
- const allPaths = parsedPatterns.reduce((all, current) => current.allPaths ? all.concat(current.allPaths) : all, []);
513
- if (allPaths.length) {
514
- resultExpression.allPaths = allPaths;
515
- }
516
- return resultExpression;
517
- }
518
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
519
- function parseExpressionPattern(pattern, value, options) {
520
- if (value === false) {
521
- return NULL; // pattern is disabled
522
- }
523
- const parsedPattern = parsePattern(pattern, options);
524
- if (parsedPattern === NULL) {
525
- return NULL;
526
- }
527
- // Expression Pattern is <boolean>
528
- if (typeof value === 'boolean') {
529
- return parsedPattern;
530
- }
531
- // Expression Pattern is <SiblingClause>
532
- if (value) {
533
- const when = value.when;
534
- if (typeof when === 'string') {
535
- const result = (path, basename, name, hasSibling) => {
536
- if (!hasSibling || !parsedPattern(path, basename)) {
537
- return null;
538
- }
539
- const clausePattern = when.replace('$(basename)', name);
540
- const matched = hasSibling(clausePattern);
541
- return matched instanceof Promise ?
542
- matched.then(m => m ? pattern : null) :
543
- matched ? pattern : null;
544
- };
545
- result.requiresSiblings = true;
546
- return result;
547
- }
548
- }
549
- // Expression is Anything
550
- return parsedPattern;
551
- }
552
- function aggregateBasenameMatches(parsedPatterns, result) {
553
- const basenamePatterns = parsedPatterns.filter(parsedPattern => !!parsedPattern.basenames);
554
- if (basenamePatterns.length < 2) {
555
- return parsedPatterns;
556
- }
557
- const basenames = basenamePatterns.reduce((all, current) => all.concat(current.basenames), []);
558
- let patterns;
559
- if (result) {
560
- patterns = [];
561
- // tslint:disable-next-line:one-variable-per-declaration
562
- for (let i = 0, n = basenames.length; i < n; i++) {
563
- patterns.push(result);
564
- }
565
- }
566
- else {
567
- patterns = basenamePatterns.reduce((all, current) => all.concat(current.patterns), []);
568
- }
569
- const aggregate = function (path, basename) {
570
- if (!path) {
571
- return null;
572
- }
573
- if (!basename) {
574
- let i;
575
- for (i = path.length; i > 0; i--) {
576
- const ch = path.charCodeAt(i - 1);
577
- if (ch === 47 /* Slash */ || ch === 92 /* Backslash */) {
578
- break;
579
- }
580
- }
581
- basename = path.substr(i);
582
- }
583
- const index = basenames.indexOf(basename);
584
- return index !== -1 ? patterns[index] : null;
585
- };
586
- aggregate.basenames = basenames;
587
- aggregate.patterns = patterns;
588
- aggregate.allBasenames = basenames;
589
- const aggregatedPatterns = parsedPatterns.filter(parsedPattern => !parsedPattern.basenames);
590
- aggregatedPatterns.push(aggregate);
591
- return aggregatedPatterns;
592
- }
593
- //# sourceMappingURL=glob.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../../../src/main/browser/custom-editors/glob.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- /**
2
- * The forward slash path separator.
3
- */
4
- export declare const sep = "/";
5
- /**
6
- * The native path separator depending on the OS.
7
- */
8
- export declare const nativeSep: string;
9
- /**
10
- * @returns the base name of a path.
11
- */
12
- export declare function basename(path: string): string;
13
- /**
14
- * @returns `.far` from `boo.far` or the empty string.
15
- */
16
- export declare function extname(path: string): string;
17
- export declare function normalize(path: string, toOSPath?: boolean): string;
18
- /**
19
- * Computes the _root_ this path, like `getRoot('c:\files') === c:\`,
20
- * `getRoot('files:///files/path') === files:///`,
21
- * or `getRoot('\\server\shares\path') === \\server\shares\`
22
- */
23
- export declare function getRoot(path: string, sep?: string): string;
24
- export declare function isEqualOrParent(path: string, candidate: string, ignoreCase?: boolean): boolean;
25
- //# sourceMappingURL=paths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../../src/main/browser/custom-editors/paths.ts"],"names":[],"mappings":"AA4BA;;GAEG;AACH,eAAO,MAAM,GAAG,MAAM,CAAC;AAEvB;;GAEG;AACH,eAAO,MAAM,SAAS,QAAyB,CAAC;AAWhD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAS7C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI5C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAuDlE;AAKD;;;;GAIG;AAEH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAY,GAAG,MAAM,CA2E/D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAoC9F"}