@vscode/chat-lib 0.0.1 → 0.0.2

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 (391) hide show
  1. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
  2. package/dist/src/_internal/extension/xtab/common/promptCrafting.js +6 -5
  3. package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
  4. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +1 -0
  5. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  6. package/dist/src/_internal/platform/configuration/common/configurationService.js +1 -0
  7. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  8. package/dist/src/_internal/platform/env/common/envService.d.ts +5 -0
  9. package/dist/src/_internal/platform/env/common/envService.d.ts.map +1 -1
  10. package/dist/src/_internal/platform/env/common/envService.js +2 -1
  11. package/dist/src/_internal/platform/env/common/envService.js.map +1 -1
  12. package/dist/src/_internal/platform/env/common/nullEnvService.d.ts +3 -0
  13. package/dist/src/_internal/platform/env/common/nullEnvService.d.ts.map +1 -1
  14. package/dist/src/_internal/platform/env/common/nullEnvService.js +8 -1
  15. package/dist/src/_internal/platform/env/common/nullEnvService.js.map +1 -1
  16. package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.d.ts +7 -0
  17. package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.d.ts.map +1 -1
  18. package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.js +1 -0
  19. package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.js.map +1 -1
  20. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +8 -0
  21. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
  22. package/dist/src/_internal/util/common/test/shims/chatTypes.js +19 -1
  23. package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
  24. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.d.ts.map +1 -1
  25. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +8 -1
  26. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
  27. package/dist/src/_internal/vscodeTypes.d.ts +4 -0
  28. package/dist/src/_internal/vscodeTypes.d.ts.map +1 -1
  29. package/dist/src/_internal/vscodeTypes.js +5 -1
  30. package/dist/src/_internal/vscodeTypes.js.map +1 -1
  31. package/dist/src/main.d.ts +5 -0
  32. package/dist/src/main.d.ts.map +1 -1
  33. package/dist/src/main.js +12 -0
  34. package/dist/src/main.js.map +1 -1
  35. package/dist/src/package.json +46 -19
  36. package/package.json +3 -6
  37. package/src/_internal/extension/byok/node/openAIEndpoint.ts +0 -171
  38. package/src/_internal/extension/common/constants.ts +0 -90
  39. package/src/_internal/extension/inlineEdits/common/delayer.ts +0 -108
  40. package/src/_internal/extension/inlineEdits/common/editRebase.ts +0 -268
  41. package/src/_internal/extension/inlineEdits/common/ghNearbyNesProvider.tsx +0 -163
  42. package/src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.ts +0 -225
  43. package/src/_internal/extension/inlineEdits/common/rejectionCollector.ts +0 -164
  44. package/src/_internal/extension/inlineEdits/node/debugRecorder.ts +0 -205
  45. package/src/_internal/extension/inlineEdits/node/importFiltering.ts +0 -25
  46. package/src/_internal/extension/inlineEdits/node/nesConfigs.ts +0 -12
  47. package/src/_internal/extension/inlineEdits/node/nextEditCache.ts +0 -278
  48. package/src/_internal/extension/inlineEdits/node/nextEditProvider.ts +0 -778
  49. package/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.ts +0 -983
  50. package/src/_internal/extension/inlineEdits/node/nextEditResult.ts +0 -40
  51. package/src/_internal/extension/prompt/common/importStatement.ts +0 -25
  52. package/src/_internal/extension/prompt/node/chatMLFetcher.ts +0 -706
  53. package/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.ts +0 -146
  54. package/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.ts +0 -527
  55. package/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.ts +0 -76
  56. package/src/_internal/extension/prompts/node/inline/visualization.ts +0 -65
  57. package/src/_internal/extension/vscode.proposed.activeComment.d.ts +0 -23
  58. package/src/_internal/extension/vscode.proposed.aiRelatedInformation.d.ts +0 -49
  59. package/src/_internal/extension/vscode.proposed.aiSettingsSearch.d.ts +0 -31
  60. package/src/_internal/extension/vscode.proposed.aiTextSearchProvider.d.ts +0 -41
  61. package/src/_internal/extension/vscode.proposed.authLearnMore.d.ts +0 -16
  62. package/src/_internal/extension/vscode.proposed.chatBinaryReferenceData.d.ts +0 -41
  63. package/src/_internal/extension/vscode.proposed.chatEditing.d.ts +0 -29
  64. package/src/_internal/extension/vscode.proposed.chatParticipantAdditions.d.ts +0 -636
  65. package/src/_internal/extension/vscode.proposed.chatParticipantPrivate.d.ts +0 -276
  66. package/src/_internal/extension/vscode.proposed.chatProvider.d.ts +0 -62
  67. package/src/_internal/extension/vscode.proposed.chatReadonlyPromptReference.d.ts +0 -17
  68. package/src/_internal/extension/vscode.proposed.chatReferenceDiagnostic.d.ts +0 -23
  69. package/src/_internal/extension/vscode.proposed.chatSessionsProvider.d.ts +0 -218
  70. package/src/_internal/extension/vscode.proposed.chatStatusItem.d.ts +0 -61
  71. package/src/_internal/extension/vscode.proposed.codeActionAI.d.ts +0 -16
  72. package/src/_internal/extension/vscode.proposed.commentReveal.d.ts +0 -32
  73. package/src/_internal/extension/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts +0 -8
  74. package/src/_internal/extension/vscode.proposed.contribCommentsViewThreadMenus.d.ts +0 -6
  75. package/src/_internal/extension/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +0 -7
  76. package/src/_internal/extension/vscode.proposed.dataChannels.d.ts +0 -19
  77. package/src/_internal/extension/vscode.proposed.defaultChatParticipant.d.ts +0 -52
  78. package/src/_internal/extension/vscode.proposed.documentFiltersExclusive.d.ts +0 -13
  79. package/src/_internal/extension/vscode.proposed.embeddings.d.ts +0 -33
  80. package/src/_internal/extension/vscode.proposed.extensionsAny.d.ts +0 -40
  81. package/src/_internal/extension/vscode.proposed.findFiles2.d.ts +0 -125
  82. package/src/_internal/extension/vscode.proposed.findTextInFiles.d.ts +0 -104
  83. package/src/_internal/extension/vscode.proposed.findTextInFiles2.d.ts +0 -144
  84. package/src/_internal/extension/vscode.proposed.inlineCompletionsAdditions.d.ts +0 -202
  85. package/src/_internal/extension/vscode.proposed.interactive.d.ts +0 -11
  86. package/src/_internal/extension/vscode.proposed.languageModelCapabilities.d.ts +0 -25
  87. package/src/_internal/extension/vscode.proposed.languageModelDataPart.d.ts +0 -163
  88. package/src/_internal/extension/vscode.proposed.languageModelSystem.d.ts +0 -17
  89. package/src/_internal/extension/vscode.proposed.languageModelThinkingPart.d.ts +0 -49
  90. package/src/_internal/extension/vscode.proposed.languageModelToolResultAudience.d.ts +0 -36
  91. package/src/_internal/extension/vscode.proposed.mappedEditsProvider.d.ts +0 -110
  92. package/src/_internal/extension/vscode.proposed.newSymbolNamesProvider.d.ts +0 -47
  93. package/src/_internal/extension/vscode.proposed.readonlyMessage.d.ts +0 -14
  94. package/src/_internal/extension/vscode.proposed.resolvers.d.ts +0 -475
  95. package/src/_internal/extension/vscode.proposed.scmInputBoxValueProvider.d.ts +0 -25
  96. package/src/_internal/extension/vscode.proposed.taskProblemMatcherStatus.d.ts +0 -42
  97. package/src/_internal/extension/vscode.proposed.terminalDataWriteEvent.d.ts +0 -32
  98. package/src/_internal/extension/vscode.proposed.terminalExecuteCommandEvent.d.ts +0 -48
  99. package/src/_internal/extension/vscode.proposed.terminalQuickFixProvider.d.ts +0 -87
  100. package/src/_internal/extension/vscode.proposed.terminalSelection.d.ts +0 -16
  101. package/src/_internal/extension/vscode.proposed.testObserver.d.ts +0 -199
  102. package/src/_internal/extension/vscode.proposed.textDocumentChangeReason.d.ts +0 -30
  103. package/src/_internal/extension/vscode.proposed.textSearchProvider.d.ts +0 -281
  104. package/src/_internal/extension/vscode.proposed.textSearchProvider2.d.ts +0 -297
  105. package/src/_internal/extension/xtab/common/promptCrafting.ts +0 -670
  106. package/src/_internal/extension/xtab/node/xtabEndpoint.ts +0 -102
  107. package/src/_internal/extension/xtab/node/xtabProvider.ts +0 -976
  108. package/src/_internal/extension/xtab/node/xtabUtils.ts +0 -62
  109. package/src/_internal/platform/authentication/common/authentication.ts +0 -309
  110. package/src/_internal/platform/authentication/common/copilotToken.ts +0 -300
  111. package/src/_internal/platform/authentication/common/copilotTokenManager.ts +0 -59
  112. package/src/_internal/platform/authentication/common/copilotTokenStore.ts +0 -40
  113. package/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.ts +0 -96
  114. package/src/_internal/platform/authentication/node/copilotTokenManager.ts +0 -303
  115. package/src/_internal/platform/chat/common/chatMLFetcher.ts +0 -124
  116. package/src/_internal/platform/chat/common/chatQuotaService.ts +0 -63
  117. package/src/_internal/platform/chat/common/chatQuotaServiceImpl.ts +0 -96
  118. package/src/_internal/platform/chat/common/commonTypes.ts +0 -353
  119. package/src/_internal/platform/chat/common/conversationOptions.ts +0 -16
  120. package/src/_internal/platform/chat/common/globalStringUtils.ts +0 -54
  121. package/src/_internal/platform/chat/common/interactionService.ts +0 -35
  122. package/src/_internal/platform/configuration/common/configurationService.ts +0 -803
  123. package/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.ts +0 -39
  124. package/src/_internal/platform/configuration/common/jsonSchema.ts +0 -139
  125. package/src/_internal/platform/configuration/common/validator.ts +0 -242
  126. package/src/_internal/platform/diff/common/diffService.ts +0 -41
  127. package/src/_internal/platform/diff/common/diffWorker.ts +0 -83
  128. package/src/_internal/platform/diff/node/diffServiceImpl.ts +0 -85
  129. package/src/_internal/platform/editing/common/abstractText.ts +0 -177
  130. package/src/_internal/platform/editing/common/notebookDocumentSnapshot.ts +0 -122
  131. package/src/_internal/platform/editing/common/positionOffsetTransformer.ts +0 -202
  132. package/src/_internal/platform/editing/common/textDocumentSnapshot.ts +0 -274
  133. package/src/_internal/platform/endpoint/common/capiClient.ts +0 -37
  134. package/src/_internal/platform/endpoint/common/chatModelCapabilities.ts +0 -115
  135. package/src/_internal/platform/endpoint/common/domainService.ts +0 -27
  136. package/src/_internal/platform/endpoint/common/endpointProvider.ts +0 -104
  137. package/src/_internal/platform/endpoint/common/endpointTypes.ts +0 -12
  138. package/src/_internal/platform/endpoint/common/licenseAgreement.ts +0 -11
  139. package/src/_internal/platform/endpoint/common/statefulMarkerContainer.tsx +0 -85
  140. package/src/_internal/platform/endpoint/common/thinkingDataContainer.tsx +0 -44
  141. package/src/_internal/platform/endpoint/node/capiClientImpl.ts +0 -18
  142. package/src/_internal/platform/endpoint/node/chatEndpoint.ts +0 -435
  143. package/src/_internal/platform/endpoint/node/domainServiceImpl.ts +0 -80
  144. package/src/_internal/platform/endpoint/node/proxyXtabEndpoint.ts +0 -43
  145. package/src/_internal/platform/endpoint/node/responsesApi.ts +0 -326
  146. package/src/_internal/platform/env/common/envService.ts +0 -134
  147. package/src/_internal/platform/env/common/nullEnvService.ts +0 -68
  148. package/src/_internal/platform/env/common/packagejson.ts +0 -49
  149. package/src/_internal/platform/git/common/gitExtensionService.ts +0 -21
  150. package/src/_internal/platform/git/common/nullGitExtensionService.ts +0 -20
  151. package/src/_internal/platform/git/vscode/git.d.ts +0 -414
  152. package/src/_internal/platform/github/common/githubAPI.ts +0 -44
  153. package/src/_internal/platform/github/common/githubService.ts +0 -87
  154. package/src/_internal/platform/github/common/nullOctokitServiceImpl.ts +0 -21
  155. package/src/_internal/platform/ignore/common/ignoreService.ts +0 -72
  156. package/src/_internal/platform/inlineCompletions/common/api.ts +0 -198
  157. package/src/_internal/platform/inlineEdits/common/dataTypes/diagnosticData.ts +0 -32
  158. package/src/_internal/platform/inlineEdits/common/dataTypes/documentId.ts +0 -52
  159. package/src/_internal/platform/inlineEdits/common/dataTypes/edit.ts +0 -165
  160. package/src/_internal/platform/inlineEdits/common/dataTypes/editUtils.ts +0 -74
  161. package/src/_internal/platform/inlineEdits/common/dataTypes/fetchCancellationError.ts +0 -14
  162. package/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.ts +0 -107
  163. package/src/_internal/platform/inlineEdits/common/dataTypes/languageId.ts +0 -14
  164. package/src/_internal/platform/inlineEdits/common/dataTypes/permutation.ts +0 -69
  165. package/src/_internal/platform/inlineEdits/common/dataTypes/rootedLineEdit.ts +0 -49
  166. package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLength.ts +0 -74
  167. package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/combineTextEditInfos.ts +0 -132
  168. package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/length.ts +0 -184
  169. package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/textEditInfo.ts +0 -32
  170. package/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.ts +0 -89
  171. package/src/_internal/platform/inlineEdits/common/debugRecorderBookmark.ts +0 -10
  172. package/src/_internal/platform/inlineEdits/common/editReason.ts +0 -134
  173. package/src/_internal/platform/inlineEdits/common/inlineEditLogContext.ts +0 -490
  174. package/src/_internal/platform/inlineEdits/common/observableGit.ts +0 -49
  175. package/src/_internal/platform/inlineEdits/common/observableWorkspace.ts +0 -239
  176. package/src/_internal/platform/inlineEdits/common/responseProcessor.ts +0 -249
  177. package/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.ts +0 -468
  178. package/src/_internal/platform/inlineEdits/common/statelessNextEditProviders.ts +0 -59
  179. package/src/_internal/platform/inlineEdits/common/utils/observable.ts +0 -54
  180. package/src/_internal/platform/inlineEdits/common/utils/stringifyChatMessages.ts +0 -29
  181. package/src/_internal/platform/inlineEdits/common/utils/utils.ts +0 -56
  182. package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/historyContextProvider.ts +0 -60
  183. package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/nesHistoryContextProvider.ts +0 -353
  184. package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/nesXtabHistoryTracker.ts +0 -176
  185. package/src/_internal/platform/languageContextProvider/common/languageContextProviderService.ts +0 -25
  186. package/src/_internal/platform/languageContextProvider/common/nullLanguageContextProviderService.ts +0 -38
  187. package/src/_internal/platform/languageServer/common/languageContextService.ts +0 -186
  188. package/src/_internal/platform/languages/common/languageDiagnosticsService.ts +0 -67
  189. package/src/_internal/platform/languages/common/testLanguageDiagnosticsService.ts +0 -28
  190. package/src/_internal/platform/log/common/logService.ts +0 -232
  191. package/src/_internal/platform/nesFetch/common/completionsAPI.ts +0 -78
  192. package/src/_internal/platform/nesFetch/common/completionsFetchService.ts +0 -118
  193. package/src/_internal/platform/nesFetch/common/responseStream.ts +0 -151
  194. package/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.ts +0 -236
  195. package/src/_internal/platform/nesFetch/node/streamTransformer.ts +0 -95
  196. package/src/_internal/platform/networking/common/fetch.ts +0 -349
  197. package/src/_internal/platform/networking/common/fetcherService.ts +0 -84
  198. package/src/_internal/platform/networking/common/networking.ts +0 -442
  199. package/src/_internal/platform/networking/common/openai.ts +0 -273
  200. package/src/_internal/platform/networking/node/chatStream.ts +0 -137
  201. package/src/_internal/platform/networking/node/stream.ts +0 -749
  202. package/src/_internal/platform/notebook/common/alternativeContent.ts +0 -89
  203. package/src/_internal/platform/notebook/common/alternativeContentFormat.ts +0 -10
  204. package/src/_internal/platform/notebook/common/alternativeContentProvider.json.ts +0 -262
  205. package/src/_internal/platform/notebook/common/alternativeContentProvider.text.ts +0 -243
  206. package/src/_internal/platform/notebook/common/alternativeContentProvider.ts +0 -41
  207. package/src/_internal/platform/notebook/common/alternativeContentProvider.xml.ts +0 -205
  208. package/src/_internal/platform/notebook/common/alternativeNotebookDocument.ts +0 -155
  209. package/src/_internal/platform/notebook/common/helpers.ts +0 -212
  210. package/src/_internal/platform/notebook/common/notebookService.ts +0 -43
  211. package/src/_internal/platform/openai/node/fetch.ts +0 -596
  212. package/src/_internal/platform/parser/node/nodes.ts +0 -190
  213. package/src/_internal/platform/requestLogger/node/nullRequestLogger.ts +0 -26
  214. package/src/_internal/platform/requestLogger/node/requestLogger.ts +0 -383
  215. package/src/_internal/platform/simulationTestContext/common/simulationTestContext.ts +0 -29
  216. package/src/_internal/platform/snippy/common/snippyService.ts +0 -25
  217. package/src/_internal/platform/telemetry/common/nullExperimentationService.ts +0 -64
  218. package/src/_internal/platform/telemetry/common/nullTelemetryService.ts +0 -53
  219. package/src/_internal/platform/telemetry/common/telemetry.ts +0 -215
  220. package/src/_internal/platform/telemetry/common/telemetryData.ts +0 -205
  221. package/src/_internal/platform/thinking/common/thinking.ts +0 -61
  222. package/src/_internal/platform/thinking/common/thinkingUtils.ts +0 -57
  223. package/src/_internal/platform/tokenizer/node/parseTikTokens.ts +0 -23
  224. package/src/_internal/platform/tokenizer/node/tikTokenizerImpl.ts +0 -74
  225. package/src/_internal/platform/tokenizer/node/tikTokenizerWorker.ts +0 -24
  226. package/src/_internal/platform/tokenizer/node/tokenizer.ts +0 -357
  227. package/src/_internal/platform/workspace/common/workspaceService.ts +0 -226
  228. package/src/_internal/platform/workspaceRecorder/common/workspaceLog.ts +0 -118
  229. package/src/_internal/util/common/anomalyDetection.ts +0 -112
  230. package/src/_internal/util/common/arrays.ts +0 -81
  231. package/src/_internal/util/common/async.ts +0 -155
  232. package/src/_internal/util/common/cache.ts +0 -183
  233. package/src/_internal/util/common/crypto.ts +0 -41
  234. package/src/_internal/util/common/errors.ts +0 -22
  235. package/src/_internal/util/common/globals.d.ts +0 -12
  236. package/src/_internal/util/common/imageUtils.ts +0 -154
  237. package/src/_internal/util/common/languages.ts +0 -940
  238. package/src/_internal/util/common/notebooks.ts +0 -286
  239. package/src/_internal/util/common/result.ts +0 -71
  240. package/src/_internal/util/common/services.ts +0 -43
  241. package/src/_internal/util/common/test/shims/chatTypes.ts +0 -448
  242. package/src/_internal/util/common/test/shims/editing.ts +0 -233
  243. package/src/_internal/util/common/test/shims/enums.ts +0 -61
  244. package/src/_internal/util/common/test/shims/l10n.ts +0 -37
  245. package/src/_internal/util/common/test/shims/newSymbolName.ts +0 -23
  246. package/src/_internal/util/common/test/shims/terminal.ts +0 -33
  247. package/src/_internal/util/common/test/shims/vscodeTypesShim.ts +0 -115
  248. package/src/_internal/util/common/time.ts +0 -31
  249. package/src/_internal/util/common/tokenizer.ts +0 -30
  250. package/src/_internal/util/common/tracing.ts +0 -52
  251. package/src/_internal/util/common/types.ts +0 -33
  252. package/src/_internal/util/common/variableLengthQuantity.ts +0 -40
  253. package/src/_internal/util/node/worker.ts +0 -130
  254. package/src/_internal/util/vs/base/common/arrays.ts +0 -926
  255. package/src/_internal/util/vs/base/common/arraysFind.ts +0 -206
  256. package/src/_internal/util/vs/base/common/assert.ts +0 -89
  257. package/src/_internal/util/vs/base/common/async.ts +0 -2582
  258. package/src/_internal/util/vs/base/common/buffer.ts +0 -501
  259. package/src/_internal/util/vs/base/common/cache.ts +0 -122
  260. package/src/_internal/util/vs/base/common/cancellation.ts +0 -150
  261. package/src/_internal/util/vs/base/common/charCode.ts +0 -452
  262. package/src/_internal/util/vs/base/common/codicons.ts +0 -66
  263. package/src/_internal/util/vs/base/common/codiconsLibrary.ts +0 -618
  264. package/src/_internal/util/vs/base/common/codiconsUtil.ts +0 -30
  265. package/src/_internal/util/vs/base/common/collections.ts +0 -156
  266. package/src/_internal/util/vs/base/common/diff/diff.ts +0 -1317
  267. package/src/_internal/util/vs/base/common/diff/diffChange.ts +0 -62
  268. package/src/_internal/util/vs/base/common/equals.ts +0 -148
  269. package/src/_internal/util/vs/base/common/errors.ts +0 -342
  270. package/src/_internal/util/vs/base/common/event.ts +0 -1782
  271. package/src/_internal/util/vs/base/common/extpath.ts +0 -425
  272. package/src/_internal/util/vs/base/common/filters.ts +0 -928
  273. package/src/_internal/util/vs/base/common/functional.ts +0 -34
  274. package/src/_internal/util/vs/base/common/glob.ts +0 -839
  275. package/src/_internal/util/vs/base/common/hash.ts +0 -326
  276. package/src/_internal/util/vs/base/common/htmlContent.ts +0 -212
  277. package/src/_internal/util/vs/base/common/iconLabels.ts +0 -118
  278. package/src/_internal/util/vs/base/common/iterator.ts +0 -196
  279. package/src/_internal/util/vs/base/common/lazy.ts +0 -59
  280. package/src/_internal/util/vs/base/common/lifecycle.ts +0 -845
  281. package/src/_internal/util/vs/base/common/linkedList.ts +0 -144
  282. package/src/_internal/util/vs/base/common/map.ts +0 -954
  283. package/src/_internal/util/vs/base/common/marshallingIds.ts +0 -35
  284. package/src/_internal/util/vs/base/common/mime.ts +0 -136
  285. package/src/_internal/util/vs/base/common/naturalLanguage/korean.ts +0 -425
  286. package/src/_internal/util/vs/base/common/network.ts +0 -429
  287. package/src/_internal/util/vs/base/common/numbers.ts +0 -166
  288. package/src/_internal/util/vs/base/common/objects.ts +0 -242
  289. package/src/_internal/util/vs/base/common/observable.ts +0 -10
  290. package/src/_internal/util/vs/base/common/observableInternal/base.ts +0 -208
  291. package/src/_internal/util/vs/base/common/observableInternal/changeTracker.ts +0 -96
  292. package/src/_internal/util/vs/base/common/observableInternal/commonFacade/cancellation.ts +0 -9
  293. package/src/_internal/util/vs/base/common/observableInternal/commonFacade/deps.ts +0 -12
  294. package/src/_internal/util/vs/base/common/observableInternal/debugLocation.ts +0 -88
  295. package/src/_internal/util/vs/base/common/observableInternal/debugName.ts +0 -150
  296. package/src/_internal/util/vs/base/common/observableInternal/experimental/utils.ts +0 -62
  297. package/src/_internal/util/vs/base/common/observableInternal/index.ts +0 -61
  298. package/src/_internal/util/vs/base/common/observableInternal/logging/consoleObservableLogger.ts +0 -388
  299. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/debuggerApi.d.ts +0 -154
  300. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/debuggerRpc.ts +0 -80
  301. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/devToolsLogger.ts +0 -485
  302. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/rpc.ts +0 -103
  303. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/utils.ts +0 -69
  304. package/src/_internal/util/vs/base/common/observableInternal/logging/logging.ts +0 -133
  305. package/src/_internal/util/vs/base/common/observableInternal/map.ts +0 -81
  306. package/src/_internal/util/vs/base/common/observableInternal/observables/baseObservable.ts +0 -172
  307. package/src/_internal/util/vs/base/common/observableInternal/observables/constObservable.ts +0 -44
  308. package/src/_internal/util/vs/base/common/observableInternal/observables/derived.ts +0 -190
  309. package/src/_internal/util/vs/base/common/observableInternal/observables/derivedImpl.ts +0 -445
  310. package/src/_internal/util/vs/base/common/observableInternal/observables/lazyObservableValue.ts +0 -154
  311. package/src/_internal/util/vs/base/common/observableInternal/observables/observableFromEvent.ts +0 -174
  312. package/src/_internal/util/vs/base/common/observableInternal/observables/observableSignal.ts +0 -67
  313. package/src/_internal/util/vs/base/common/observableInternal/observables/observableSignalFromEvent.ts +0 -62
  314. package/src/_internal/util/vs/base/common/observableInternal/observables/observableValue.ts +0 -131
  315. package/src/_internal/util/vs/base/common/observableInternal/observables/observableValueOpts.ts +0 -37
  316. package/src/_internal/util/vs/base/common/observableInternal/reactions/autorun.ts +0 -188
  317. package/src/_internal/util/vs/base/common/observableInternal/reactions/autorunImpl.ts +0 -256
  318. package/src/_internal/util/vs/base/common/observableInternal/set.ts +0 -78
  319. package/src/_internal/util/vs/base/common/observableInternal/transaction.ts +0 -115
  320. package/src/_internal/util/vs/base/common/observableInternal/utils/promise.ts +0 -129
  321. package/src/_internal/util/vs/base/common/observableInternal/utils/runOnChange.ts +0 -65
  322. package/src/_internal/util/vs/base/common/observableInternal/utils/utils.ts +0 -281
  323. package/src/_internal/util/vs/base/common/observableInternal/utils/utilsCancellation.ts +0 -101
  324. package/src/_internal/util/vs/base/common/observableInternal/utils/valueWithChangeEvent.ts +0 -31
  325. package/src/_internal/util/vs/base/common/path.ts +0 -1591
  326. package/src/_internal/util/vs/base/common/platform.ts +0 -282
  327. package/src/_internal/util/vs/base/common/process.ts +0 -78
  328. package/src/_internal/util/vs/base/common/resources.ts +0 -446
  329. package/src/_internal/util/vs/base/common/sequence.ts +0 -36
  330. package/src/_internal/util/vs/base/common/sseParser.ts +0 -247
  331. package/src/_internal/util/vs/base/common/stopwatch.ts +0 -43
  332. package/src/_internal/util/vs/base/common/stream.ts +0 -792
  333. package/src/_internal/util/vs/base/common/strings.ts +0 -1364
  334. package/src/_internal/util/vs/base/common/symbols.ts +0 -11
  335. package/src/_internal/util/vs/base/common/themables.ts +0 -106
  336. package/src/_internal/util/vs/base/common/types.ts +0 -345
  337. package/src/_internal/util/vs/base/common/uint.ts +0 -61
  338. package/src/_internal/util/vs/base/common/uri.ts +0 -752
  339. package/src/_internal/util/vs/base/common/uuid.ts +0 -72
  340. package/src/_internal/util/vs/base-common.d.ts +0 -42
  341. package/src/_internal/util/vs/editor/common/core/editOperation.ts +0 -62
  342. package/src/_internal/util/vs/editor/common/core/edits/edit.ts +0 -399
  343. package/src/_internal/util/vs/editor/common/core/edits/lineEdit.ts +0 -414
  344. package/src/_internal/util/vs/editor/common/core/edits/stringEdit.ts +0 -568
  345. package/src/_internal/util/vs/editor/common/core/edits/textEdit.ts +0 -411
  346. package/src/_internal/util/vs/editor/common/core/position.ts +0 -186
  347. package/src/_internal/util/vs/editor/common/core/range.ts +0 -519
  348. package/src/_internal/util/vs/editor/common/core/ranges/lineRange.ts +0 -416
  349. package/src/_internal/util/vs/editor/common/core/ranges/offsetRange.ts +0 -275
  350. package/src/_internal/util/vs/editor/common/core/text/abstractText.ts +0 -127
  351. package/src/_internal/util/vs/editor/common/core/text/positionToOffset.ts +0 -26
  352. package/src/_internal/util/vs/editor/common/core/text/positionToOffsetImpl.ts +0 -144
  353. package/src/_internal/util/vs/editor/common/core/text/textLength.ts +0 -150
  354. package/src/_internal/util/vs/editor/common/core/wordHelper.ts +0 -177
  355. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.ts +0 -210
  356. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing.ts +0 -109
  357. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm.ts +0 -178
  358. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.ts +0 -331
  359. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.ts +0 -273
  360. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.ts +0 -475
  361. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.ts +0 -47
  362. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.ts +0 -248
  363. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/utils.ts +0 -76
  364. package/src/_internal/util/vs/editor/common/diff/legacyLinesDiffComputer.ts +0 -693
  365. package/src/_internal/util/vs/editor/common/diff/linesDiffComputer.ts +0 -61
  366. package/src/_internal/util/vs/editor/common/diff/rangeMapping.ts +0 -418
  367. package/src/_internal/util/vs/editor/common/model/prefixSumComputer.ts +0 -304
  368. package/src/_internal/util/vs/nls.messages.ts +0 -21
  369. package/src/_internal/util/vs/nls.ts +0 -243
  370. package/src/_internal/util/vs/platform/instantiation/common/descriptors.ts +0 -23
  371. package/src/_internal/util/vs/platform/instantiation/common/graph.ts +0 -113
  372. package/src/_internal/util/vs/platform/instantiation/common/instantiation.ts +0 -127
  373. package/src/_internal/util/vs/platform/instantiation/common/instantiationService.ts +0 -483
  374. package/src/_internal/util/vs/platform/instantiation/common/serviceCollection.ts +0 -34
  375. package/src/_internal/util/vs/vscode-globals-nls.d.ts +0 -42
  376. package/src/_internal/util/vs/vscode-globals-product.d.ts +0 -35
  377. package/src/_internal/util/vs/workbench/api/common/extHostTypes/diagnostic.ts +0 -109
  378. package/src/_internal/util/vs/workbench/api/common/extHostTypes/es5ClassCompat.ts +0 -34
  379. package/src/_internal/util/vs/workbench/api/common/extHostTypes/location.ts +0 -51
  380. package/src/_internal/util/vs/workbench/api/common/extHostTypes/markdownString.ts +0 -83
  381. package/src/_internal/util/vs/workbench/api/common/extHostTypes/notebooks.ts +0 -296
  382. package/src/_internal/util/vs/workbench/api/common/extHostTypes/position.ts +0 -195
  383. package/src/_internal/util/vs/workbench/api/common/extHostTypes/range.ts +0 -167
  384. package/src/_internal/util/vs/workbench/api/common/extHostTypes/selection.ts +0 -94
  385. package/src/_internal/util/vs/workbench/api/common/extHostTypes/snippetString.ts +0 -103
  386. package/src/_internal/util/vs/workbench/api/common/extHostTypes/snippetTextEdit.ts +0 -44
  387. package/src/_internal/util/vs/workbench/api/common/extHostTypes/symbolInformation.ts +0 -89
  388. package/src/_internal/util/vs/workbench/api/common/extHostTypes/textEdit.ts +0 -99
  389. package/src/_internal/vscodeTypes.ts +0 -100
  390. package/src/main.ts +0 -207
  391. package/src/package.json +0 -4063
@@ -1,752 +0,0 @@
1
- //!!! DO NOT modify, this file was COPIED from 'microsoft/vscode'
2
-
3
- /*---------------------------------------------------------------------------------------------
4
- * Copyright (c) Microsoft Corporation. All rights reserved.
5
- * Licensed under the MIT License. See License.txt in the project root for license information.
6
- *--------------------------------------------------------------------------------------------*/
7
-
8
- import { CharCode } from './charCode';
9
- import { MarshalledId } from './marshallingIds';
10
- import * as paths from './path';
11
- import { isWindows } from './platform';
12
-
13
- const _schemePattern = /^\w[\w\d+.-]*$/;
14
- const _singleSlashStart = /^\//;
15
- const _doubleSlashStart = /^\/\//;
16
-
17
- function _validateUri(ret: URI, _strict?: boolean): void {
18
-
19
- // scheme, must be set
20
- if (!ret.scheme && _strict) {
21
- throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${ret.authority}", path: "${ret.path}", query: "${ret.query}", fragment: "${ret.fragment}"}`);
22
- }
23
-
24
- // scheme, https://tools.ietf.org/html/rfc3986#section-3.1
25
- // ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
26
- if (ret.scheme && !_schemePattern.test(ret.scheme)) {
27
- throw new Error('[UriError]: Scheme contains illegal characters.');
28
- }
29
-
30
- // path, http://tools.ietf.org/html/rfc3986#section-3.3
31
- // If a URI contains an authority component, then the path component
32
- // must either be empty or begin with a slash ("/") character. If a URI
33
- // does not contain an authority component, then the path cannot begin
34
- // with two slash characters ("//").
35
- if (ret.path) {
36
- if (ret.authority) {
37
- if (!_singleSlashStart.test(ret.path)) {
38
- throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character');
39
- }
40
- } else {
41
- if (_doubleSlashStart.test(ret.path)) {
42
- throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")');
43
- }
44
- }
45
- }
46
- }
47
-
48
- // for a while we allowed uris *without* schemes and this is the migration
49
- // for them, e.g. an uri without scheme and without strict-mode warns and falls
50
- // back to the file-scheme. that should cause the least carnage and still be a
51
- // clear warning
52
- function _schemeFix(scheme: string, _strict: boolean): string {
53
- if (!scheme && !_strict) {
54
- return 'file';
55
- }
56
- return scheme;
57
- }
58
-
59
- // implements a bit of https://tools.ietf.org/html/rfc3986#section-5
60
- function _referenceResolution(scheme: string, path: string): string {
61
-
62
- // the slash-character is our 'default base' as we don't
63
- // support constructing URIs relative to other URIs. This
64
- // also means that we alter and potentially break paths.
65
- // see https://tools.ietf.org/html/rfc3986#section-5.1.4
66
- switch (scheme) {
67
- case 'https':
68
- case 'http':
69
- case 'file':
70
- if (!path) {
71
- path = _slash;
72
- } else if (path[0] !== _slash) {
73
- path = _slash + path;
74
- }
75
- break;
76
- }
77
- return path;
78
- }
79
-
80
- const _empty = '';
81
- const _slash = '/';
82
- const _regexp = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;
83
-
84
- /**
85
- * Uniform Resource Identifier (URI) http://tools.ietf.org/html/rfc3986.
86
- * This class is a simple parser which creates the basic component parts
87
- * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
88
- * and encoding.
89
- *
90
- * ```txt
91
- * foo://example.com:8042/over/there?name=ferret#nose
92
- * \_/ \______________/\_________/ \_________/ \__/
93
- * | | | | |
94
- * scheme authority path query fragment
95
- * | _____________________|__
96
- * / \ / \
97
- * urn:example:animal:ferret:nose
98
- * ```
99
- */
100
- export class URI implements UriComponents {
101
-
102
- static isUri(thing: unknown): thing is URI {
103
- if (thing instanceof URI) {
104
- return true;
105
- }
106
- if (!thing || typeof thing !== 'object') {
107
- return false;
108
- }
109
- return typeof (<URI>thing).authority === 'string'
110
- && typeof (<URI>thing).fragment === 'string'
111
- && typeof (<URI>thing).path === 'string'
112
- && typeof (<URI>thing).query === 'string'
113
- && typeof (<URI>thing).scheme === 'string'
114
- && typeof (<URI>thing).fsPath === 'string'
115
- && typeof (<URI>thing).with === 'function'
116
- && typeof (<URI>thing).toString === 'function';
117
- }
118
-
119
- /**
120
- * scheme is the 'http' part of 'http://www.example.com/some/path?query#fragment'.
121
- * The part before the first colon.
122
- */
123
- readonly scheme: string;
124
-
125
- /**
126
- * authority is the 'www.example.com' part of 'http://www.example.com/some/path?query#fragment'.
127
- * The part between the first double slashes and the next slash.
128
- */
129
- readonly authority: string;
130
-
131
- /**
132
- * path is the '/some/path' part of 'http://www.example.com/some/path?query#fragment'.
133
- */
134
- readonly path: string;
135
-
136
- /**
137
- * query is the 'query' part of 'http://www.example.com/some/path?query#fragment'.
138
- */
139
- readonly query: string;
140
-
141
- /**
142
- * fragment is the 'fragment' part of 'http://www.example.com/some/path?query#fragment'.
143
- */
144
- readonly fragment: string;
145
-
146
- /**
147
- * @internal
148
- */
149
- protected constructor(scheme: string, authority?: string, path?: string, query?: string, fragment?: string, _strict?: boolean);
150
-
151
- /**
152
- * @internal
153
- */
154
- protected constructor(components: UriComponents);
155
-
156
- /**
157
- * @internal
158
- */
159
- protected constructor(schemeOrData: string | UriComponents, authority?: string, path?: string, query?: string, fragment?: string, _strict: boolean = false) {
160
-
161
- if (typeof schemeOrData === 'object') {
162
- this.scheme = schemeOrData.scheme || _empty;
163
- this.authority = schemeOrData.authority || _empty;
164
- this.path = schemeOrData.path || _empty;
165
- this.query = schemeOrData.query || _empty;
166
- this.fragment = schemeOrData.fragment || _empty;
167
- // no validation because it's this URI
168
- // that creates uri components.
169
- // _validateUri(this);
170
- } else {
171
- this.scheme = _schemeFix(schemeOrData, _strict);
172
- this.authority = authority || _empty;
173
- this.path = _referenceResolution(this.scheme, path || _empty);
174
- this.query = query || _empty;
175
- this.fragment = fragment || _empty;
176
-
177
- _validateUri(this, _strict);
178
- }
179
- }
180
-
181
- // ---- filesystem path -----------------------
182
-
183
- /**
184
- * Returns a string representing the corresponding file system path of this URI.
185
- * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
186
- * platform specific path separator.
187
- *
188
- * * Will *not* validate the path for invalid characters and semantics.
189
- * * Will *not* look at the scheme of this URI.
190
- * * The result shall *not* be used for display purposes but for accessing a file on disk.
191
- *
192
- *
193
- * The *difference* to `URI#path` is the use of the platform specific separator and the handling
194
- * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
195
- *
196
- * ```ts
197
- const u = URI.parse('file://server/c$/folder/file.txt')
198
- u.authority === 'server'
199
- u.path === '/shares/c$/file.txt'
200
- u.fsPath === '\\server\c$\folder\file.txt'
201
- ```
202
- *
203
- * Using `URI#path` to read a file (using fs-apis) would not be enough because parts of the path,
204
- * namely the server name, would be missing. Therefore `URI#fsPath` exists - it's sugar to ease working
205
- * with URIs that represent files on disk (`file` scheme).
206
- */
207
- get fsPath(): string {
208
- // if (this.scheme !== 'file') {
209
- // console.warn(`[UriError] calling fsPath with scheme ${this.scheme}`);
210
- // }
211
- return uriToFsPath(this, false);
212
- }
213
-
214
- // ---- modify to new -------------------------
215
-
216
- with(change: { scheme?: string; authority?: string | null; path?: string | null; query?: string | null; fragment?: string | null }): URI {
217
-
218
- if (!change) {
219
- return this;
220
- }
221
-
222
- let { scheme, authority, path, query, fragment } = change;
223
- if (scheme === undefined) {
224
- scheme = this.scheme;
225
- } else if (scheme === null) {
226
- scheme = _empty;
227
- }
228
- if (authority === undefined) {
229
- authority = this.authority;
230
- } else if (authority === null) {
231
- authority = _empty;
232
- }
233
- if (path === undefined) {
234
- path = this.path;
235
- } else if (path === null) {
236
- path = _empty;
237
- }
238
- if (query === undefined) {
239
- query = this.query;
240
- } else if (query === null) {
241
- query = _empty;
242
- }
243
- if (fragment === undefined) {
244
- fragment = this.fragment;
245
- } else if (fragment === null) {
246
- fragment = _empty;
247
- }
248
-
249
- if (scheme === this.scheme
250
- && authority === this.authority
251
- && path === this.path
252
- && query === this.query
253
- && fragment === this.fragment) {
254
-
255
- return this;
256
- }
257
-
258
- return new Uri(scheme, authority, path, query, fragment);
259
- }
260
-
261
- // ---- parse & validate ------------------------
262
-
263
- /**
264
- * Creates a new URI from a string, e.g. `http://www.example.com/some/path`,
265
- * `file:///usr/home`, or `scheme:with/path`.
266
- *
267
- * @param value A string which represents an URI (see `URI#toString`).
268
- */
269
- static parse(value: string, _strict: boolean = false): URI {
270
- const match = _regexp.exec(value);
271
- if (!match) {
272
- return new Uri(_empty, _empty, _empty, _empty, _empty);
273
- }
274
- return new Uri(
275
- match[2] || _empty,
276
- percentDecode(match[4] || _empty),
277
- percentDecode(match[5] || _empty),
278
- percentDecode(match[7] || _empty),
279
- percentDecode(match[9] || _empty),
280
- _strict
281
- );
282
- }
283
-
284
- /**
285
- * Creates a new URI from a file system path, e.g. `c:\my\files`,
286
- * `/usr/home`, or `\\server\share\some\path`.
287
- *
288
- * The *difference* between `URI#parse` and `URI#file` is that the latter treats the argument
289
- * as path, not as stringified-uri. E.g. `URI.file(path)` is **not the same as**
290
- * `URI.parse('file://' + path)` because the path might contain characters that are
291
- * interpreted (# and ?). See the following sample:
292
- * ```ts
293
- const good = URI.file('/coding/c#/project1');
294
- good.scheme === 'file';
295
- good.path === '/coding/c#/project1';
296
- good.fragment === '';
297
- const bad = URI.parse('file://' + '/coding/c#/project1');
298
- bad.scheme === 'file';
299
- bad.path === '/coding/c'; // path is now broken
300
- bad.fragment === '/project1';
301
- ```
302
- *
303
- * @param path A file system path (see `URI#fsPath`)
304
- */
305
- static file(path: string): URI {
306
-
307
- let authority = _empty;
308
-
309
- // normalize to fwd-slashes on windows,
310
- // on other systems bwd-slashes are valid
311
- // filename character, eg /f\oo/ba\r.txt
312
- if (isWindows) {
313
- path = path.replace(/\\/g, _slash);
314
- }
315
-
316
- // check for authority as used in UNC shares
317
- // or use the path as given
318
- if (path[0] === _slash && path[1] === _slash) {
319
- const idx = path.indexOf(_slash, 2);
320
- if (idx === -1) {
321
- authority = path.substring(2);
322
- path = _slash;
323
- } else {
324
- authority = path.substring(2, idx);
325
- path = path.substring(idx) || _slash;
326
- }
327
- }
328
-
329
- return new Uri('file', authority, path, _empty, _empty);
330
- }
331
-
332
- /**
333
- * Creates new URI from uri components.
334
- *
335
- * Unless `strict` is `true` the scheme is defaults to be `file`. This function performs
336
- * validation and should be used for untrusted uri components retrieved from storage,
337
- * user input, command arguments etc
338
- */
339
- static from(components: UriComponents, strict?: boolean): URI {
340
- const result = new Uri(
341
- components.scheme,
342
- components.authority,
343
- components.path,
344
- components.query,
345
- components.fragment,
346
- strict
347
- );
348
- return result;
349
- }
350
-
351
- /**
352
- * Join a URI path with path fragments and normalizes the resulting path.
353
- *
354
- * @param uri The input URI.
355
- * @param pathFragment The path fragment to add to the URI path.
356
- * @returns The resulting URI.
357
- */
358
- static joinPath(uri: URI, ...pathFragment: string[]): URI {
359
- if (!uri.path) {
360
- throw new Error(`[UriError]: cannot call joinPath on URI without path`);
361
- }
362
- let newPath: string;
363
- if (isWindows && uri.scheme === 'file') {
364
- newPath = URI.file(paths.win32.join(uriToFsPath(uri, true), ...pathFragment)).path;
365
- } else {
366
- newPath = paths.posix.join(uri.path, ...pathFragment);
367
- }
368
- return uri.with({ path: newPath });
369
- }
370
-
371
- // ---- printing/externalize ---------------------------
372
-
373
- /**
374
- * Creates a string representation for this URI. It's guaranteed that calling
375
- * `URI.parse` with the result of this function creates an URI which is equal
376
- * to this URI.
377
- *
378
- * * The result shall *not* be used for display purposes but for externalization or transport.
379
- * * The result will be encoded using the percentage encoding and encoding happens mostly
380
- * ignore the scheme-specific encoding rules.
381
- *
382
- * @param skipEncoding Do not encode the result, default is `false`
383
- */
384
- toString(skipEncoding: boolean = false): string {
385
- return _asFormatted(this, skipEncoding);
386
- }
387
-
388
- toJSON(): UriComponents {
389
- return this;
390
- }
391
-
392
- /**
393
- * A helper function to revive URIs.
394
- *
395
- * **Note** that this function should only be used when receiving URI#toJSON generated data
396
- * and that it doesn't do any validation. Use {@link URI.from} when received "untrusted"
397
- * uri components such as command arguments or data from storage.
398
- *
399
- * @param data The URI components or URI to revive.
400
- * @returns The revived URI or undefined or null.
401
- */
402
- static revive(data: UriComponents | URI): URI;
403
- static revive(data: UriComponents | URI | undefined): URI | undefined;
404
- static revive(data: UriComponents | URI | null): URI | null;
405
- static revive(data: UriComponents | URI | undefined | null): URI | undefined | null;
406
- static revive(data: UriComponents | URI | undefined | null): URI | undefined | null {
407
- if (!data) {
408
- return data;
409
- } else if (data instanceof URI) {
410
- return data;
411
- } else {
412
- const result = new Uri(data);
413
- result._formatted = (<UriState>data).external ?? null;
414
- result._fsPath = (<UriState>data)._sep === _pathSepMarker ? (<UriState>data).fsPath ?? null : null;
415
- return result;
416
- }
417
- }
418
-
419
- [Symbol.for('debug.description')]() {
420
- return `URI(${this.toString()})`;
421
- }
422
- }
423
-
424
- export interface UriComponents {
425
- scheme: string;
426
- authority?: string;
427
- path?: string;
428
- query?: string;
429
- fragment?: string;
430
- }
431
-
432
- export function isUriComponents(thing: unknown): thing is UriComponents {
433
- if (!thing || typeof thing !== 'object') {
434
- return false;
435
- }
436
- return typeof (<UriComponents>thing).scheme === 'string'
437
- && (typeof (<UriComponents>thing).authority === 'string' || typeof (<UriComponents>thing).authority === 'undefined')
438
- && (typeof (<UriComponents>thing).path === 'string' || typeof (<UriComponents>thing).path === 'undefined')
439
- && (typeof (<UriComponents>thing).query === 'string' || typeof (<UriComponents>thing).query === 'undefined')
440
- && (typeof (<UriComponents>thing).fragment === 'string' || typeof (<UriComponents>thing).fragment === 'undefined');
441
- }
442
-
443
- interface UriState extends UriComponents {
444
- $mid: MarshalledId.Uri;
445
- external?: string;
446
- fsPath?: string;
447
- _sep?: 1;
448
- }
449
-
450
- const _pathSepMarker = isWindows ? 1 : undefined;
451
-
452
- // This class exists so that URI is compatible with vscode.Uri (API).
453
- class Uri extends URI {
454
-
455
- _formatted: string | null = null;
456
- _fsPath: string | null = null;
457
-
458
- override get fsPath(): string {
459
- if (!this._fsPath) {
460
- this._fsPath = uriToFsPath(this, false);
461
- }
462
- return this._fsPath;
463
- }
464
-
465
- override toString(skipEncoding: boolean = false): string {
466
- if (!skipEncoding) {
467
- if (!this._formatted) {
468
- this._formatted = _asFormatted(this, false);
469
- }
470
- return this._formatted;
471
- } else {
472
- // we don't cache that
473
- return _asFormatted(this, true);
474
- }
475
- }
476
-
477
- override toJSON(): UriComponents {
478
- // eslint-disable-next-line local/code-no-dangerous-type-assertions
479
- const res = <UriState>{
480
- $mid: MarshalledId.Uri
481
- };
482
- // cached state
483
- if (this._fsPath) {
484
- res.fsPath = this._fsPath;
485
- res._sep = _pathSepMarker;
486
- }
487
- if (this._formatted) {
488
- res.external = this._formatted;
489
- }
490
- //--- uri components
491
- if (this.path) {
492
- res.path = this.path;
493
- }
494
- // TODO
495
- // this isn't correct and can violate the UriComponents contract but
496
- // this is part of the vscode.Uri API and we shouldn't change how that
497
- // works anymore
498
- if (this.scheme) {
499
- res.scheme = this.scheme;
500
- }
501
- if (this.authority) {
502
- res.authority = this.authority;
503
- }
504
- if (this.query) {
505
- res.query = this.query;
506
- }
507
- if (this.fragment) {
508
- res.fragment = this.fragment;
509
- }
510
- return res;
511
- }
512
- }
513
-
514
- // reserved characters: https://tools.ietf.org/html/rfc3986#section-2.2
515
- const encodeTable: { [ch: number]: string } = {
516
- [CharCode.Colon]: '%3A', // gen-delims
517
- [CharCode.Slash]: '%2F',
518
- [CharCode.QuestionMark]: '%3F',
519
- [CharCode.Hash]: '%23',
520
- [CharCode.OpenSquareBracket]: '%5B',
521
- [CharCode.CloseSquareBracket]: '%5D',
522
- [CharCode.AtSign]: '%40',
523
-
524
- [CharCode.ExclamationMark]: '%21', // sub-delims
525
- [CharCode.DollarSign]: '%24',
526
- [CharCode.Ampersand]: '%26',
527
- [CharCode.SingleQuote]: '%27',
528
- [CharCode.OpenParen]: '%28',
529
- [CharCode.CloseParen]: '%29',
530
- [CharCode.Asterisk]: '%2A',
531
- [CharCode.Plus]: '%2B',
532
- [CharCode.Comma]: '%2C',
533
- [CharCode.Semicolon]: '%3B',
534
- [CharCode.Equals]: '%3D',
535
-
536
- [CharCode.Space]: '%20',
537
- };
538
-
539
- function encodeURIComponentFast(uriComponent: string, isPath: boolean, isAuthority: boolean): string {
540
- let res: string | undefined = undefined;
541
- let nativeEncodePos = -1;
542
-
543
- for (let pos = 0; pos < uriComponent.length; pos++) {
544
- const code = uriComponent.charCodeAt(pos);
545
-
546
- // unreserved characters: https://tools.ietf.org/html/rfc3986#section-2.3
547
- if (
548
- (code >= CharCode.a && code <= CharCode.z)
549
- || (code >= CharCode.A && code <= CharCode.Z)
550
- || (code >= CharCode.Digit0 && code <= CharCode.Digit9)
551
- || code === CharCode.Dash
552
- || code === CharCode.Period
553
- || code === CharCode.Underline
554
- || code === CharCode.Tilde
555
- || (isPath && code === CharCode.Slash)
556
- || (isAuthority && code === CharCode.OpenSquareBracket)
557
- || (isAuthority && code === CharCode.CloseSquareBracket)
558
- || (isAuthority && code === CharCode.Colon)
559
- ) {
560
- // check if we are delaying native encode
561
- if (nativeEncodePos !== -1) {
562
- res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));
563
- nativeEncodePos = -1;
564
- }
565
- // check if we write into a new string (by default we try to return the param)
566
- if (res !== undefined) {
567
- res += uriComponent.charAt(pos);
568
- }
569
-
570
- } else {
571
- // encoding needed, we need to allocate a new string
572
- if (res === undefined) {
573
- res = uriComponent.substr(0, pos);
574
- }
575
-
576
- // check with default table first
577
- const escaped = encodeTable[code];
578
- if (escaped !== undefined) {
579
-
580
- // check if we are delaying native encode
581
- if (nativeEncodePos !== -1) {
582
- res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));
583
- nativeEncodePos = -1;
584
- }
585
-
586
- // append escaped variant to result
587
- res += escaped;
588
-
589
- } else if (nativeEncodePos === -1) {
590
- // use native encode only when needed
591
- nativeEncodePos = pos;
592
- }
593
- }
594
- }
595
-
596
- if (nativeEncodePos !== -1) {
597
- res += encodeURIComponent(uriComponent.substring(nativeEncodePos));
598
- }
599
-
600
- return res !== undefined ? res : uriComponent;
601
- }
602
-
603
- function encodeURIComponentMinimal(path: string): string {
604
- let res: string | undefined = undefined;
605
- for (let pos = 0; pos < path.length; pos++) {
606
- const code = path.charCodeAt(pos);
607
- if (code === CharCode.Hash || code === CharCode.QuestionMark) {
608
- if (res === undefined) {
609
- res = path.substr(0, pos);
610
- }
611
- res += encodeTable[code];
612
- } else {
613
- if (res !== undefined) {
614
- res += path[pos];
615
- }
616
- }
617
- }
618
- return res !== undefined ? res : path;
619
- }
620
-
621
- /**
622
- * Compute `fsPath` for the given uri
623
- */
624
- export function uriToFsPath(uri: URI, keepDriveLetterCasing: boolean): string {
625
-
626
- let value: string;
627
- if (uri.authority && uri.path.length > 1 && uri.scheme === 'file') {
628
- // unc path: file://shares/c$/far/boo
629
- value = `//${uri.authority}${uri.path}`;
630
- } else if (
631
- uri.path.charCodeAt(0) === CharCode.Slash
632
- && (uri.path.charCodeAt(1) >= CharCode.A && uri.path.charCodeAt(1) <= CharCode.Z || uri.path.charCodeAt(1) >= CharCode.a && uri.path.charCodeAt(1) <= CharCode.z)
633
- && uri.path.charCodeAt(2) === CharCode.Colon
634
- ) {
635
- if (!keepDriveLetterCasing) {
636
- // windows drive letter: file:///c:/far/boo
637
- value = uri.path[1].toLowerCase() + uri.path.substr(2);
638
- } else {
639
- value = uri.path.substr(1);
640
- }
641
- } else {
642
- // other path
643
- value = uri.path;
644
- }
645
- if (isWindows) {
646
- value = value.replace(/\//g, '\\');
647
- }
648
- return value;
649
- }
650
-
651
- /**
652
- * Create the external version of a uri
653
- */
654
- function _asFormatted(uri: URI, skipEncoding: boolean): string {
655
-
656
- const encoder = !skipEncoding
657
- ? encodeURIComponentFast
658
- : encodeURIComponentMinimal;
659
-
660
- let res = '';
661
- let { scheme, authority, path, query, fragment } = uri;
662
- if (scheme) {
663
- res += scheme;
664
- res += ':';
665
- }
666
- if (authority || scheme === 'file') {
667
- res += _slash;
668
- res += _slash;
669
- }
670
- if (authority) {
671
- let idx = authority.indexOf('@');
672
- if (idx !== -1) {
673
- // <user>@<auth>
674
- const userinfo = authority.substr(0, idx);
675
- authority = authority.substr(idx + 1);
676
- idx = userinfo.lastIndexOf(':');
677
- if (idx === -1) {
678
- res += encoder(userinfo, false, false);
679
- } else {
680
- // <user>:<pass>@<auth>
681
- res += encoder(userinfo.substr(0, idx), false, false);
682
- res += ':';
683
- res += encoder(userinfo.substr(idx + 1), false, true);
684
- }
685
- res += '@';
686
- }
687
- authority = authority.toLowerCase();
688
- idx = authority.lastIndexOf(':');
689
- if (idx === -1) {
690
- res += encoder(authority, false, true);
691
- } else {
692
- // <auth>:<port>
693
- res += encoder(authority.substr(0, idx), false, true);
694
- res += authority.substr(idx);
695
- }
696
- }
697
- if (path) {
698
- // lower-case windows drive letters in /C:/fff or C:/fff
699
- if (path.length >= 3 && path.charCodeAt(0) === CharCode.Slash && path.charCodeAt(2) === CharCode.Colon) {
700
- const code = path.charCodeAt(1);
701
- if (code >= CharCode.A && code <= CharCode.Z) {
702
- path = `/${String.fromCharCode(code + 32)}:${path.substr(3)}`; // "/c:".length === 3
703
- }
704
- } else if (path.length >= 2 && path.charCodeAt(1) === CharCode.Colon) {
705
- const code = path.charCodeAt(0);
706
- if (code >= CharCode.A && code <= CharCode.Z) {
707
- path = `${String.fromCharCode(code + 32)}:${path.substr(2)}`; // "/c:".length === 3
708
- }
709
- }
710
- // encode the rest of the path
711
- res += encoder(path, true, false);
712
- }
713
- if (query) {
714
- res += '?';
715
- res += encoder(query, false, false);
716
- }
717
- if (fragment) {
718
- res += '#';
719
- res += !skipEncoding ? encodeURIComponentFast(fragment, false, false) : fragment;
720
- }
721
- return res;
722
- }
723
-
724
- // --- decode
725
-
726
- function decodeURIComponentGraceful(str: string): string {
727
- try {
728
- return decodeURIComponent(str);
729
- } catch {
730
- if (str.length > 3) {
731
- return str.substr(0, 3) + decodeURIComponentGraceful(str.substr(3));
732
- } else {
733
- return str;
734
- }
735
- }
736
- }
737
-
738
- const _rEncodedAsHex = /(%[0-9A-Za-z][0-9A-Za-z])+/g;
739
-
740
- function percentDecode(str: string): string {
741
- if (!str.match(_rEncodedAsHex)) {
742
- return str;
743
- }
744
- return str.replace(_rEncodedAsHex, (match) => decodeURIComponentGraceful(match));
745
- }
746
-
747
- /**
748
- * Mapped-type that replaces all occurrences of URI with UriComponents
749
- */
750
- export type UriDto<T> = { [K in keyof T]: T[K] extends URI
751
- ? UriComponents
752
- : UriDto<T[K]> };