@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.
- package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js +6 -5
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +1 -0
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js +1 -0
- package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
- package/dist/src/_internal/platform/env/common/envService.d.ts +5 -0
- package/dist/src/_internal/platform/env/common/envService.d.ts.map +1 -1
- package/dist/src/_internal/platform/env/common/envService.js +2 -1
- package/dist/src/_internal/platform/env/common/envService.js.map +1 -1
- package/dist/src/_internal/platform/env/common/nullEnvService.d.ts +3 -0
- package/dist/src/_internal/platform/env/common/nullEnvService.d.ts.map +1 -1
- package/dist/src/_internal/platform/env/common/nullEnvService.js +8 -1
- package/dist/src/_internal/platform/env/common/nullEnvService.js.map +1 -1
- package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.d.ts +7 -0
- package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.js +1 -0
- package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +8 -0
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.js +19 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.d.ts.map +1 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +8 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
- package/dist/src/_internal/vscodeTypes.d.ts +4 -0
- package/dist/src/_internal/vscodeTypes.d.ts.map +1 -1
- package/dist/src/_internal/vscodeTypes.js +5 -1
- package/dist/src/_internal/vscodeTypes.js.map +1 -1
- package/dist/src/main.d.ts +5 -0
- package/dist/src/main.d.ts.map +1 -1
- package/dist/src/main.js +12 -0
- package/dist/src/main.js.map +1 -1
- package/dist/src/package.json +46 -19
- package/package.json +3 -6
- package/src/_internal/extension/byok/node/openAIEndpoint.ts +0 -171
- package/src/_internal/extension/common/constants.ts +0 -90
- package/src/_internal/extension/inlineEdits/common/delayer.ts +0 -108
- package/src/_internal/extension/inlineEdits/common/editRebase.ts +0 -268
- package/src/_internal/extension/inlineEdits/common/ghNearbyNesProvider.tsx +0 -163
- package/src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.ts +0 -225
- package/src/_internal/extension/inlineEdits/common/rejectionCollector.ts +0 -164
- package/src/_internal/extension/inlineEdits/node/debugRecorder.ts +0 -205
- package/src/_internal/extension/inlineEdits/node/importFiltering.ts +0 -25
- package/src/_internal/extension/inlineEdits/node/nesConfigs.ts +0 -12
- package/src/_internal/extension/inlineEdits/node/nextEditCache.ts +0 -278
- package/src/_internal/extension/inlineEdits/node/nextEditProvider.ts +0 -778
- package/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.ts +0 -983
- package/src/_internal/extension/inlineEdits/node/nextEditResult.ts +0 -40
- package/src/_internal/extension/prompt/common/importStatement.ts +0 -25
- package/src/_internal/extension/prompt/node/chatMLFetcher.ts +0 -706
- package/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.ts +0 -146
- package/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.ts +0 -527
- package/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.ts +0 -76
- package/src/_internal/extension/prompts/node/inline/visualization.ts +0 -65
- package/src/_internal/extension/vscode.proposed.activeComment.d.ts +0 -23
- package/src/_internal/extension/vscode.proposed.aiRelatedInformation.d.ts +0 -49
- package/src/_internal/extension/vscode.proposed.aiSettingsSearch.d.ts +0 -31
- package/src/_internal/extension/vscode.proposed.aiTextSearchProvider.d.ts +0 -41
- package/src/_internal/extension/vscode.proposed.authLearnMore.d.ts +0 -16
- package/src/_internal/extension/vscode.proposed.chatBinaryReferenceData.d.ts +0 -41
- package/src/_internal/extension/vscode.proposed.chatEditing.d.ts +0 -29
- package/src/_internal/extension/vscode.proposed.chatParticipantAdditions.d.ts +0 -636
- package/src/_internal/extension/vscode.proposed.chatParticipantPrivate.d.ts +0 -276
- package/src/_internal/extension/vscode.proposed.chatProvider.d.ts +0 -62
- package/src/_internal/extension/vscode.proposed.chatReadonlyPromptReference.d.ts +0 -17
- package/src/_internal/extension/vscode.proposed.chatReferenceDiagnostic.d.ts +0 -23
- package/src/_internal/extension/vscode.proposed.chatSessionsProvider.d.ts +0 -218
- package/src/_internal/extension/vscode.proposed.chatStatusItem.d.ts +0 -61
- package/src/_internal/extension/vscode.proposed.codeActionAI.d.ts +0 -16
- package/src/_internal/extension/vscode.proposed.commentReveal.d.ts +0 -32
- package/src/_internal/extension/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts +0 -8
- package/src/_internal/extension/vscode.proposed.contribCommentsViewThreadMenus.d.ts +0 -6
- package/src/_internal/extension/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +0 -7
- package/src/_internal/extension/vscode.proposed.dataChannels.d.ts +0 -19
- package/src/_internal/extension/vscode.proposed.defaultChatParticipant.d.ts +0 -52
- package/src/_internal/extension/vscode.proposed.documentFiltersExclusive.d.ts +0 -13
- package/src/_internal/extension/vscode.proposed.embeddings.d.ts +0 -33
- package/src/_internal/extension/vscode.proposed.extensionsAny.d.ts +0 -40
- package/src/_internal/extension/vscode.proposed.findFiles2.d.ts +0 -125
- package/src/_internal/extension/vscode.proposed.findTextInFiles.d.ts +0 -104
- package/src/_internal/extension/vscode.proposed.findTextInFiles2.d.ts +0 -144
- package/src/_internal/extension/vscode.proposed.inlineCompletionsAdditions.d.ts +0 -202
- package/src/_internal/extension/vscode.proposed.interactive.d.ts +0 -11
- package/src/_internal/extension/vscode.proposed.languageModelCapabilities.d.ts +0 -25
- package/src/_internal/extension/vscode.proposed.languageModelDataPart.d.ts +0 -163
- package/src/_internal/extension/vscode.proposed.languageModelSystem.d.ts +0 -17
- package/src/_internal/extension/vscode.proposed.languageModelThinkingPart.d.ts +0 -49
- package/src/_internal/extension/vscode.proposed.languageModelToolResultAudience.d.ts +0 -36
- package/src/_internal/extension/vscode.proposed.mappedEditsProvider.d.ts +0 -110
- package/src/_internal/extension/vscode.proposed.newSymbolNamesProvider.d.ts +0 -47
- package/src/_internal/extension/vscode.proposed.readonlyMessage.d.ts +0 -14
- package/src/_internal/extension/vscode.proposed.resolvers.d.ts +0 -475
- package/src/_internal/extension/vscode.proposed.scmInputBoxValueProvider.d.ts +0 -25
- package/src/_internal/extension/vscode.proposed.taskProblemMatcherStatus.d.ts +0 -42
- package/src/_internal/extension/vscode.proposed.terminalDataWriteEvent.d.ts +0 -32
- package/src/_internal/extension/vscode.proposed.terminalExecuteCommandEvent.d.ts +0 -48
- package/src/_internal/extension/vscode.proposed.terminalQuickFixProvider.d.ts +0 -87
- package/src/_internal/extension/vscode.proposed.terminalSelection.d.ts +0 -16
- package/src/_internal/extension/vscode.proposed.testObserver.d.ts +0 -199
- package/src/_internal/extension/vscode.proposed.textDocumentChangeReason.d.ts +0 -30
- package/src/_internal/extension/vscode.proposed.textSearchProvider.d.ts +0 -281
- package/src/_internal/extension/vscode.proposed.textSearchProvider2.d.ts +0 -297
- package/src/_internal/extension/xtab/common/promptCrafting.ts +0 -670
- package/src/_internal/extension/xtab/node/xtabEndpoint.ts +0 -102
- package/src/_internal/extension/xtab/node/xtabProvider.ts +0 -976
- package/src/_internal/extension/xtab/node/xtabUtils.ts +0 -62
- package/src/_internal/platform/authentication/common/authentication.ts +0 -309
- package/src/_internal/platform/authentication/common/copilotToken.ts +0 -300
- package/src/_internal/platform/authentication/common/copilotTokenManager.ts +0 -59
- package/src/_internal/platform/authentication/common/copilotTokenStore.ts +0 -40
- package/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.ts +0 -96
- package/src/_internal/platform/authentication/node/copilotTokenManager.ts +0 -303
- package/src/_internal/platform/chat/common/chatMLFetcher.ts +0 -124
- package/src/_internal/platform/chat/common/chatQuotaService.ts +0 -63
- package/src/_internal/platform/chat/common/chatQuotaServiceImpl.ts +0 -96
- package/src/_internal/platform/chat/common/commonTypes.ts +0 -353
- package/src/_internal/platform/chat/common/conversationOptions.ts +0 -16
- package/src/_internal/platform/chat/common/globalStringUtils.ts +0 -54
- package/src/_internal/platform/chat/common/interactionService.ts +0 -35
- package/src/_internal/platform/configuration/common/configurationService.ts +0 -803
- package/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.ts +0 -39
- package/src/_internal/platform/configuration/common/jsonSchema.ts +0 -139
- package/src/_internal/platform/configuration/common/validator.ts +0 -242
- package/src/_internal/platform/diff/common/diffService.ts +0 -41
- package/src/_internal/platform/diff/common/diffWorker.ts +0 -83
- package/src/_internal/platform/diff/node/diffServiceImpl.ts +0 -85
- package/src/_internal/platform/editing/common/abstractText.ts +0 -177
- package/src/_internal/platform/editing/common/notebookDocumentSnapshot.ts +0 -122
- package/src/_internal/platform/editing/common/positionOffsetTransformer.ts +0 -202
- package/src/_internal/platform/editing/common/textDocumentSnapshot.ts +0 -274
- package/src/_internal/platform/endpoint/common/capiClient.ts +0 -37
- package/src/_internal/platform/endpoint/common/chatModelCapabilities.ts +0 -115
- package/src/_internal/platform/endpoint/common/domainService.ts +0 -27
- package/src/_internal/platform/endpoint/common/endpointProvider.ts +0 -104
- package/src/_internal/platform/endpoint/common/endpointTypes.ts +0 -12
- package/src/_internal/platform/endpoint/common/licenseAgreement.ts +0 -11
- package/src/_internal/platform/endpoint/common/statefulMarkerContainer.tsx +0 -85
- package/src/_internal/platform/endpoint/common/thinkingDataContainer.tsx +0 -44
- package/src/_internal/platform/endpoint/node/capiClientImpl.ts +0 -18
- package/src/_internal/platform/endpoint/node/chatEndpoint.ts +0 -435
- package/src/_internal/platform/endpoint/node/domainServiceImpl.ts +0 -80
- package/src/_internal/platform/endpoint/node/proxyXtabEndpoint.ts +0 -43
- package/src/_internal/platform/endpoint/node/responsesApi.ts +0 -326
- package/src/_internal/platform/env/common/envService.ts +0 -134
- package/src/_internal/platform/env/common/nullEnvService.ts +0 -68
- package/src/_internal/platform/env/common/packagejson.ts +0 -49
- package/src/_internal/platform/git/common/gitExtensionService.ts +0 -21
- package/src/_internal/platform/git/common/nullGitExtensionService.ts +0 -20
- package/src/_internal/platform/git/vscode/git.d.ts +0 -414
- package/src/_internal/platform/github/common/githubAPI.ts +0 -44
- package/src/_internal/platform/github/common/githubService.ts +0 -87
- package/src/_internal/platform/github/common/nullOctokitServiceImpl.ts +0 -21
- package/src/_internal/platform/ignore/common/ignoreService.ts +0 -72
- package/src/_internal/platform/inlineCompletions/common/api.ts +0 -198
- package/src/_internal/platform/inlineEdits/common/dataTypes/diagnosticData.ts +0 -32
- package/src/_internal/platform/inlineEdits/common/dataTypes/documentId.ts +0 -52
- package/src/_internal/platform/inlineEdits/common/dataTypes/edit.ts +0 -165
- package/src/_internal/platform/inlineEdits/common/dataTypes/editUtils.ts +0 -74
- package/src/_internal/platform/inlineEdits/common/dataTypes/fetchCancellationError.ts +0 -14
- package/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.ts +0 -107
- package/src/_internal/platform/inlineEdits/common/dataTypes/languageId.ts +0 -14
- package/src/_internal/platform/inlineEdits/common/dataTypes/permutation.ts +0 -69
- package/src/_internal/platform/inlineEdits/common/dataTypes/rootedLineEdit.ts +0 -49
- package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLength.ts +0 -74
- package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/combineTextEditInfos.ts +0 -132
- package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/length.ts +0 -184
- package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/textEditInfo.ts +0 -32
- package/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.ts +0 -89
- package/src/_internal/platform/inlineEdits/common/debugRecorderBookmark.ts +0 -10
- package/src/_internal/platform/inlineEdits/common/editReason.ts +0 -134
- package/src/_internal/platform/inlineEdits/common/inlineEditLogContext.ts +0 -490
- package/src/_internal/platform/inlineEdits/common/observableGit.ts +0 -49
- package/src/_internal/platform/inlineEdits/common/observableWorkspace.ts +0 -239
- package/src/_internal/platform/inlineEdits/common/responseProcessor.ts +0 -249
- package/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.ts +0 -468
- package/src/_internal/platform/inlineEdits/common/statelessNextEditProviders.ts +0 -59
- package/src/_internal/platform/inlineEdits/common/utils/observable.ts +0 -54
- package/src/_internal/platform/inlineEdits/common/utils/stringifyChatMessages.ts +0 -29
- package/src/_internal/platform/inlineEdits/common/utils/utils.ts +0 -56
- package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/historyContextProvider.ts +0 -60
- package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/nesHistoryContextProvider.ts +0 -353
- package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/nesXtabHistoryTracker.ts +0 -176
- package/src/_internal/platform/languageContextProvider/common/languageContextProviderService.ts +0 -25
- package/src/_internal/platform/languageContextProvider/common/nullLanguageContextProviderService.ts +0 -38
- package/src/_internal/platform/languageServer/common/languageContextService.ts +0 -186
- package/src/_internal/platform/languages/common/languageDiagnosticsService.ts +0 -67
- package/src/_internal/platform/languages/common/testLanguageDiagnosticsService.ts +0 -28
- package/src/_internal/platform/log/common/logService.ts +0 -232
- package/src/_internal/platform/nesFetch/common/completionsAPI.ts +0 -78
- package/src/_internal/platform/nesFetch/common/completionsFetchService.ts +0 -118
- package/src/_internal/platform/nesFetch/common/responseStream.ts +0 -151
- package/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.ts +0 -236
- package/src/_internal/platform/nesFetch/node/streamTransformer.ts +0 -95
- package/src/_internal/platform/networking/common/fetch.ts +0 -349
- package/src/_internal/platform/networking/common/fetcherService.ts +0 -84
- package/src/_internal/platform/networking/common/networking.ts +0 -442
- package/src/_internal/platform/networking/common/openai.ts +0 -273
- package/src/_internal/platform/networking/node/chatStream.ts +0 -137
- package/src/_internal/platform/networking/node/stream.ts +0 -749
- package/src/_internal/platform/notebook/common/alternativeContent.ts +0 -89
- package/src/_internal/platform/notebook/common/alternativeContentFormat.ts +0 -10
- package/src/_internal/platform/notebook/common/alternativeContentProvider.json.ts +0 -262
- package/src/_internal/platform/notebook/common/alternativeContentProvider.text.ts +0 -243
- package/src/_internal/platform/notebook/common/alternativeContentProvider.ts +0 -41
- package/src/_internal/platform/notebook/common/alternativeContentProvider.xml.ts +0 -205
- package/src/_internal/platform/notebook/common/alternativeNotebookDocument.ts +0 -155
- package/src/_internal/platform/notebook/common/helpers.ts +0 -212
- package/src/_internal/platform/notebook/common/notebookService.ts +0 -43
- package/src/_internal/platform/openai/node/fetch.ts +0 -596
- package/src/_internal/platform/parser/node/nodes.ts +0 -190
- package/src/_internal/platform/requestLogger/node/nullRequestLogger.ts +0 -26
- package/src/_internal/platform/requestLogger/node/requestLogger.ts +0 -383
- package/src/_internal/platform/simulationTestContext/common/simulationTestContext.ts +0 -29
- package/src/_internal/platform/snippy/common/snippyService.ts +0 -25
- package/src/_internal/platform/telemetry/common/nullExperimentationService.ts +0 -64
- package/src/_internal/platform/telemetry/common/nullTelemetryService.ts +0 -53
- package/src/_internal/platform/telemetry/common/telemetry.ts +0 -215
- package/src/_internal/platform/telemetry/common/telemetryData.ts +0 -205
- package/src/_internal/platform/thinking/common/thinking.ts +0 -61
- package/src/_internal/platform/thinking/common/thinkingUtils.ts +0 -57
- package/src/_internal/platform/tokenizer/node/parseTikTokens.ts +0 -23
- package/src/_internal/platform/tokenizer/node/tikTokenizerImpl.ts +0 -74
- package/src/_internal/platform/tokenizer/node/tikTokenizerWorker.ts +0 -24
- package/src/_internal/platform/tokenizer/node/tokenizer.ts +0 -357
- package/src/_internal/platform/workspace/common/workspaceService.ts +0 -226
- package/src/_internal/platform/workspaceRecorder/common/workspaceLog.ts +0 -118
- package/src/_internal/util/common/anomalyDetection.ts +0 -112
- package/src/_internal/util/common/arrays.ts +0 -81
- package/src/_internal/util/common/async.ts +0 -155
- package/src/_internal/util/common/cache.ts +0 -183
- package/src/_internal/util/common/crypto.ts +0 -41
- package/src/_internal/util/common/errors.ts +0 -22
- package/src/_internal/util/common/globals.d.ts +0 -12
- package/src/_internal/util/common/imageUtils.ts +0 -154
- package/src/_internal/util/common/languages.ts +0 -940
- package/src/_internal/util/common/notebooks.ts +0 -286
- package/src/_internal/util/common/result.ts +0 -71
- package/src/_internal/util/common/services.ts +0 -43
- package/src/_internal/util/common/test/shims/chatTypes.ts +0 -448
- package/src/_internal/util/common/test/shims/editing.ts +0 -233
- package/src/_internal/util/common/test/shims/enums.ts +0 -61
- package/src/_internal/util/common/test/shims/l10n.ts +0 -37
- package/src/_internal/util/common/test/shims/newSymbolName.ts +0 -23
- package/src/_internal/util/common/test/shims/terminal.ts +0 -33
- package/src/_internal/util/common/test/shims/vscodeTypesShim.ts +0 -115
- package/src/_internal/util/common/time.ts +0 -31
- package/src/_internal/util/common/tokenizer.ts +0 -30
- package/src/_internal/util/common/tracing.ts +0 -52
- package/src/_internal/util/common/types.ts +0 -33
- package/src/_internal/util/common/variableLengthQuantity.ts +0 -40
- package/src/_internal/util/node/worker.ts +0 -130
- package/src/_internal/util/vs/base/common/arrays.ts +0 -926
- package/src/_internal/util/vs/base/common/arraysFind.ts +0 -206
- package/src/_internal/util/vs/base/common/assert.ts +0 -89
- package/src/_internal/util/vs/base/common/async.ts +0 -2582
- package/src/_internal/util/vs/base/common/buffer.ts +0 -501
- package/src/_internal/util/vs/base/common/cache.ts +0 -122
- package/src/_internal/util/vs/base/common/cancellation.ts +0 -150
- package/src/_internal/util/vs/base/common/charCode.ts +0 -452
- package/src/_internal/util/vs/base/common/codicons.ts +0 -66
- package/src/_internal/util/vs/base/common/codiconsLibrary.ts +0 -618
- package/src/_internal/util/vs/base/common/codiconsUtil.ts +0 -30
- package/src/_internal/util/vs/base/common/collections.ts +0 -156
- package/src/_internal/util/vs/base/common/diff/diff.ts +0 -1317
- package/src/_internal/util/vs/base/common/diff/diffChange.ts +0 -62
- package/src/_internal/util/vs/base/common/equals.ts +0 -148
- package/src/_internal/util/vs/base/common/errors.ts +0 -342
- package/src/_internal/util/vs/base/common/event.ts +0 -1782
- package/src/_internal/util/vs/base/common/extpath.ts +0 -425
- package/src/_internal/util/vs/base/common/filters.ts +0 -928
- package/src/_internal/util/vs/base/common/functional.ts +0 -34
- package/src/_internal/util/vs/base/common/glob.ts +0 -839
- package/src/_internal/util/vs/base/common/hash.ts +0 -326
- package/src/_internal/util/vs/base/common/htmlContent.ts +0 -212
- package/src/_internal/util/vs/base/common/iconLabels.ts +0 -118
- package/src/_internal/util/vs/base/common/iterator.ts +0 -196
- package/src/_internal/util/vs/base/common/lazy.ts +0 -59
- package/src/_internal/util/vs/base/common/lifecycle.ts +0 -845
- package/src/_internal/util/vs/base/common/linkedList.ts +0 -144
- package/src/_internal/util/vs/base/common/map.ts +0 -954
- package/src/_internal/util/vs/base/common/marshallingIds.ts +0 -35
- package/src/_internal/util/vs/base/common/mime.ts +0 -136
- package/src/_internal/util/vs/base/common/naturalLanguage/korean.ts +0 -425
- package/src/_internal/util/vs/base/common/network.ts +0 -429
- package/src/_internal/util/vs/base/common/numbers.ts +0 -166
- package/src/_internal/util/vs/base/common/objects.ts +0 -242
- package/src/_internal/util/vs/base/common/observable.ts +0 -10
- package/src/_internal/util/vs/base/common/observableInternal/base.ts +0 -208
- package/src/_internal/util/vs/base/common/observableInternal/changeTracker.ts +0 -96
- package/src/_internal/util/vs/base/common/observableInternal/commonFacade/cancellation.ts +0 -9
- package/src/_internal/util/vs/base/common/observableInternal/commonFacade/deps.ts +0 -12
- package/src/_internal/util/vs/base/common/observableInternal/debugLocation.ts +0 -88
- package/src/_internal/util/vs/base/common/observableInternal/debugName.ts +0 -150
- package/src/_internal/util/vs/base/common/observableInternal/experimental/utils.ts +0 -62
- package/src/_internal/util/vs/base/common/observableInternal/index.ts +0 -61
- package/src/_internal/util/vs/base/common/observableInternal/logging/consoleObservableLogger.ts +0 -388
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/debuggerApi.d.ts +0 -154
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/debuggerRpc.ts +0 -80
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/devToolsLogger.ts +0 -485
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/rpc.ts +0 -103
- package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/utils.ts +0 -69
- package/src/_internal/util/vs/base/common/observableInternal/logging/logging.ts +0 -133
- package/src/_internal/util/vs/base/common/observableInternal/map.ts +0 -81
- package/src/_internal/util/vs/base/common/observableInternal/observables/baseObservable.ts +0 -172
- package/src/_internal/util/vs/base/common/observableInternal/observables/constObservable.ts +0 -44
- package/src/_internal/util/vs/base/common/observableInternal/observables/derived.ts +0 -190
- package/src/_internal/util/vs/base/common/observableInternal/observables/derivedImpl.ts +0 -445
- package/src/_internal/util/vs/base/common/observableInternal/observables/lazyObservableValue.ts +0 -154
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableFromEvent.ts +0 -174
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableSignal.ts +0 -67
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableSignalFromEvent.ts +0 -62
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableValue.ts +0 -131
- package/src/_internal/util/vs/base/common/observableInternal/observables/observableValueOpts.ts +0 -37
- package/src/_internal/util/vs/base/common/observableInternal/reactions/autorun.ts +0 -188
- package/src/_internal/util/vs/base/common/observableInternal/reactions/autorunImpl.ts +0 -256
- package/src/_internal/util/vs/base/common/observableInternal/set.ts +0 -78
- package/src/_internal/util/vs/base/common/observableInternal/transaction.ts +0 -115
- package/src/_internal/util/vs/base/common/observableInternal/utils/promise.ts +0 -129
- package/src/_internal/util/vs/base/common/observableInternal/utils/runOnChange.ts +0 -65
- package/src/_internal/util/vs/base/common/observableInternal/utils/utils.ts +0 -281
- package/src/_internal/util/vs/base/common/observableInternal/utils/utilsCancellation.ts +0 -101
- package/src/_internal/util/vs/base/common/observableInternal/utils/valueWithChangeEvent.ts +0 -31
- package/src/_internal/util/vs/base/common/path.ts +0 -1591
- package/src/_internal/util/vs/base/common/platform.ts +0 -282
- package/src/_internal/util/vs/base/common/process.ts +0 -78
- package/src/_internal/util/vs/base/common/resources.ts +0 -446
- package/src/_internal/util/vs/base/common/sequence.ts +0 -36
- package/src/_internal/util/vs/base/common/sseParser.ts +0 -247
- package/src/_internal/util/vs/base/common/stopwatch.ts +0 -43
- package/src/_internal/util/vs/base/common/stream.ts +0 -792
- package/src/_internal/util/vs/base/common/strings.ts +0 -1364
- package/src/_internal/util/vs/base/common/symbols.ts +0 -11
- package/src/_internal/util/vs/base/common/themables.ts +0 -106
- package/src/_internal/util/vs/base/common/types.ts +0 -345
- package/src/_internal/util/vs/base/common/uint.ts +0 -61
- package/src/_internal/util/vs/base/common/uri.ts +0 -752
- package/src/_internal/util/vs/base/common/uuid.ts +0 -72
- package/src/_internal/util/vs/base-common.d.ts +0 -42
- package/src/_internal/util/vs/editor/common/core/editOperation.ts +0 -62
- package/src/_internal/util/vs/editor/common/core/edits/edit.ts +0 -399
- package/src/_internal/util/vs/editor/common/core/edits/lineEdit.ts +0 -414
- package/src/_internal/util/vs/editor/common/core/edits/stringEdit.ts +0 -568
- package/src/_internal/util/vs/editor/common/core/edits/textEdit.ts +0 -411
- package/src/_internal/util/vs/editor/common/core/position.ts +0 -186
- package/src/_internal/util/vs/editor/common/core/range.ts +0 -519
- package/src/_internal/util/vs/editor/common/core/ranges/lineRange.ts +0 -416
- package/src/_internal/util/vs/editor/common/core/ranges/offsetRange.ts +0 -275
- package/src/_internal/util/vs/editor/common/core/text/abstractText.ts +0 -127
- package/src/_internal/util/vs/editor/common/core/text/positionToOffset.ts +0 -26
- package/src/_internal/util/vs/editor/common/core/text/positionToOffsetImpl.ts +0 -144
- package/src/_internal/util/vs/editor/common/core/text/textLength.ts +0 -150
- package/src/_internal/util/vs/editor/common/core/wordHelper.ts +0 -177
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.ts +0 -210
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing.ts +0 -109
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm.ts +0 -178
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.ts +0 -331
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.ts +0 -273
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.ts +0 -475
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.ts +0 -47
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.ts +0 -248
- package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/utils.ts +0 -76
- package/src/_internal/util/vs/editor/common/diff/legacyLinesDiffComputer.ts +0 -693
- package/src/_internal/util/vs/editor/common/diff/linesDiffComputer.ts +0 -61
- package/src/_internal/util/vs/editor/common/diff/rangeMapping.ts +0 -418
- package/src/_internal/util/vs/editor/common/model/prefixSumComputer.ts +0 -304
- package/src/_internal/util/vs/nls.messages.ts +0 -21
- package/src/_internal/util/vs/nls.ts +0 -243
- package/src/_internal/util/vs/platform/instantiation/common/descriptors.ts +0 -23
- package/src/_internal/util/vs/platform/instantiation/common/graph.ts +0 -113
- package/src/_internal/util/vs/platform/instantiation/common/instantiation.ts +0 -127
- package/src/_internal/util/vs/platform/instantiation/common/instantiationService.ts +0 -483
- package/src/_internal/util/vs/platform/instantiation/common/serviceCollection.ts +0 -34
- package/src/_internal/util/vs/vscode-globals-nls.d.ts +0 -42
- package/src/_internal/util/vs/vscode-globals-product.d.ts +0 -35
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/diagnostic.ts +0 -109
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/es5ClassCompat.ts +0 -34
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/location.ts +0 -51
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/markdownString.ts +0 -83
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/notebooks.ts +0 -296
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/position.ts +0 -195
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/range.ts +0 -167
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/selection.ts +0 -94
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/snippetString.ts +0 -103
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/snippetTextEdit.ts +0 -44
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/symbolInformation.ts +0 -89
- package/src/_internal/util/vs/workbench/api/common/extHostTypes/textEdit.ts +0 -99
- package/src/_internal/vscodeTypes.ts +0 -100
- package/src/main.ts +0 -207
- package/src/package.json +0 -4063
|
@@ -1,72 +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
|
-
|
|
9
|
-
const _UUIDPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
10
|
-
|
|
11
|
-
export function isUUID(value: string): boolean {
|
|
12
|
-
return _UUIDPattern.test(value);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export const generateUuid = (function (): () => string {
|
|
16
|
-
|
|
17
|
-
// use `randomUUID` if possible
|
|
18
|
-
if (typeof crypto.randomUUID === 'function') {
|
|
19
|
-
// see https://developer.mozilla.org/en-US/docs/Web/API/Window/crypto
|
|
20
|
-
// > Although crypto is available on all windows, the returned Crypto object only has one
|
|
21
|
-
// > usable feature in insecure contexts: the getRandomValues() method.
|
|
22
|
-
// > In general, you should use this API only in secure contexts.
|
|
23
|
-
|
|
24
|
-
return crypto.randomUUID.bind(crypto);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// prep-work
|
|
28
|
-
const _data = new Uint8Array(16);
|
|
29
|
-
const _hex: string[] = [];
|
|
30
|
-
for (let i = 0; i < 256; i++) {
|
|
31
|
-
_hex.push(i.toString(16).padStart(2, '0'));
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return function generateUuid(): string {
|
|
35
|
-
// get data
|
|
36
|
-
crypto.getRandomValues(_data);
|
|
37
|
-
|
|
38
|
-
// set version bits
|
|
39
|
-
_data[6] = (_data[6] & 0x0f) | 0x40;
|
|
40
|
-
_data[8] = (_data[8] & 0x3f) | 0x80;
|
|
41
|
-
|
|
42
|
-
// print as string
|
|
43
|
-
let i = 0;
|
|
44
|
-
let result = '';
|
|
45
|
-
result += _hex[_data[i++]];
|
|
46
|
-
result += _hex[_data[i++]];
|
|
47
|
-
result += _hex[_data[i++]];
|
|
48
|
-
result += _hex[_data[i++]];
|
|
49
|
-
result += '-';
|
|
50
|
-
result += _hex[_data[i++]];
|
|
51
|
-
result += _hex[_data[i++]];
|
|
52
|
-
result += '-';
|
|
53
|
-
result += _hex[_data[i++]];
|
|
54
|
-
result += _hex[_data[i++]];
|
|
55
|
-
result += '-';
|
|
56
|
-
result += _hex[_data[i++]];
|
|
57
|
-
result += _hex[_data[i++]];
|
|
58
|
-
result += '-';
|
|
59
|
-
result += _hex[_data[i++]];
|
|
60
|
-
result += _hex[_data[i++]];
|
|
61
|
-
result += _hex[_data[i++]];
|
|
62
|
-
result += _hex[_data[i++]];
|
|
63
|
-
result += _hex[_data[i++]];
|
|
64
|
-
result += _hex[_data[i++]];
|
|
65
|
-
return result;
|
|
66
|
-
};
|
|
67
|
-
})();
|
|
68
|
-
|
|
69
|
-
/** Namespace should be 3 letter. */
|
|
70
|
-
export function prefixedUuid(namespace: string): string {
|
|
71
|
-
return `${namespace}-${generateUuid()}`;
|
|
72
|
-
}
|
|
@@ -1,42 +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
|
-
// Declare types that we probe for to implement util and/or polyfill functions
|
|
9
|
-
|
|
10
|
-
declare global {
|
|
11
|
-
|
|
12
|
-
// --- idle callbacks
|
|
13
|
-
|
|
14
|
-
interface IdleDeadline {
|
|
15
|
-
readonly didTimeout: boolean;
|
|
16
|
-
timeRemaining(): number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function requestIdleCallback(callback: (args: IdleDeadline) => void, options?: { timeout: number }): number;
|
|
20
|
-
function cancelIdleCallback(handle: number): void;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// --- timeout / interval (available in all contexts, but different signatures in node.js vs web)
|
|
24
|
-
|
|
25
|
-
interface TimeoutHandle { readonly _: never; /* this is a trick that seems needed to prevent direct number assignment */ }
|
|
26
|
-
type Timeout = TimeoutHandle;
|
|
27
|
-
function setTimeout(handler: string | Function, timeout?: number, ...arguments: any[]): Timeout;
|
|
28
|
-
function clearTimeout(timeout: Timeout | undefined): void;
|
|
29
|
-
|
|
30
|
-
function setInterval(callback: (...args: any[]) => void, delay?: number, ...args: any[]): Timeout;
|
|
31
|
-
function clearInterval(timeout: Timeout | undefined): void;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// --- error
|
|
35
|
-
|
|
36
|
-
interface ErrorConstructor {
|
|
37
|
-
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
38
|
-
stackTraceLimit: number;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export { }
|
|
@@ -1,62 +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 { Position } from './position';
|
|
9
|
-
import { IRange, Range } from './range';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* A single edit operation, that acts as a simple replace.
|
|
13
|
-
* i.e. Replace text at `range` with `text` in model.
|
|
14
|
-
*/
|
|
15
|
-
export interface ISingleEditOperation {
|
|
16
|
-
/**
|
|
17
|
-
* The range to replace. This can be empty to emulate a simple insert.
|
|
18
|
-
*/
|
|
19
|
-
range: IRange;
|
|
20
|
-
/**
|
|
21
|
-
* The text to replace with. This can be null to emulate a simple delete.
|
|
22
|
-
*/
|
|
23
|
-
text: string | null;
|
|
24
|
-
/**
|
|
25
|
-
* This indicates that this operation has "insert" semantics.
|
|
26
|
-
* i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
|
|
27
|
-
*/
|
|
28
|
-
forceMoveMarkers?: boolean;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export class EditOperation {
|
|
32
|
-
|
|
33
|
-
public static insert(position: Position, text: string): ISingleEditOperation {
|
|
34
|
-
return {
|
|
35
|
-
range: new Range(position.lineNumber, position.column, position.lineNumber, position.column),
|
|
36
|
-
text: text,
|
|
37
|
-
forceMoveMarkers: true
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
public static delete(range: Range): ISingleEditOperation {
|
|
42
|
-
return {
|
|
43
|
-
range: range,
|
|
44
|
-
text: null
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
public static replace(range: Range, text: string | null): ISingleEditOperation {
|
|
49
|
-
return {
|
|
50
|
-
range: range,
|
|
51
|
-
text: text
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
public static replaceMove(range: Range, text: string | null): ISingleEditOperation {
|
|
56
|
-
return {
|
|
57
|
-
range: range,
|
|
58
|
-
text: text,
|
|
59
|
-
forceMoveMarkers: true
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
}
|
|
@@ -1,399 +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 { sumBy } from '../../../../base/common/arrays';
|
|
9
|
-
import { BugIndicatingError } from '../../../../base/common/errors';
|
|
10
|
-
import { OffsetRange } from '../ranges/offsetRange';
|
|
11
|
-
|
|
12
|
-
export abstract class BaseEdit<T extends BaseReplacement<T> = BaseReplacement<any>, TEdit extends BaseEdit<T, TEdit> = BaseEdit<T, any>> {
|
|
13
|
-
constructor(
|
|
14
|
-
public readonly replacements: readonly T[],
|
|
15
|
-
) {
|
|
16
|
-
let lastEndEx = -1;
|
|
17
|
-
for (const replacement of replacements) {
|
|
18
|
-
if (!(replacement.replaceRange.start >= lastEndEx)) {
|
|
19
|
-
throw new BugIndicatingError(`Edits must be disjoint and sorted. Found ${replacement} after ${lastEndEx}`);
|
|
20
|
-
}
|
|
21
|
-
lastEndEx = replacement.replaceRange.endExclusive;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
protected abstract _createNew(replacements: readonly T[]): TEdit;
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Returns true if and only if this edit and the given edit are structurally equal.
|
|
29
|
-
* Note that this does not mean that the edits have the same effect on a given input!
|
|
30
|
-
* See `.normalize()` or `.normalizeOnBase(base)` for that.
|
|
31
|
-
*/
|
|
32
|
-
public equals(other: TEdit): boolean {
|
|
33
|
-
if (this.replacements.length !== other.replacements.length) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
for (let i = 0; i < this.replacements.length; i++) {
|
|
37
|
-
if (!this.replacements[i].equals(other.replacements[i])) {
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
public toString() {
|
|
45
|
-
const edits = this.replacements.map(e => e.toString()).join(', ');
|
|
46
|
-
return `[${edits}]`;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Normalizes the edit by removing empty replacements and joining touching replacements (if the replacements allow joining).
|
|
51
|
-
* Two edits have an equal normalized edit if and only if they have the same effect on any input.
|
|
52
|
-
*
|
|
53
|
-
* 
|
|
54
|
-
*
|
|
55
|
-
* Invariant:
|
|
56
|
-
* ```
|
|
57
|
-
* (forall base: TEdit.apply(base).equals(other.apply(base))) <-> this.normalize().equals(other.normalize())
|
|
58
|
-
* ```
|
|
59
|
-
* and
|
|
60
|
-
* ```
|
|
61
|
-
* forall base: TEdit.apply(base).equals(this.normalize().apply(base))
|
|
62
|
-
* ```
|
|
63
|
-
*
|
|
64
|
-
*/
|
|
65
|
-
public normalize(): TEdit {
|
|
66
|
-
const newReplacements: T[] = [];
|
|
67
|
-
let lastReplacement: T | undefined;
|
|
68
|
-
for (const r of this.replacements) {
|
|
69
|
-
if (r.getNewLength() === 0 && r.replaceRange.length === 0) {
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
if (lastReplacement && lastReplacement.replaceRange.endExclusive === r.replaceRange.start) {
|
|
73
|
-
const joined = lastReplacement.tryJoinTouching(r);
|
|
74
|
-
if (joined) {
|
|
75
|
-
lastReplacement = joined;
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
if (lastReplacement) {
|
|
81
|
-
newReplacements.push(lastReplacement);
|
|
82
|
-
}
|
|
83
|
-
lastReplacement = r;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
if (lastReplacement) {
|
|
87
|
-
newReplacements.push(lastReplacement);
|
|
88
|
-
}
|
|
89
|
-
return this._createNew(newReplacements);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Combines two edits into one with the same effect.
|
|
94
|
-
*
|
|
95
|
-
* 
|
|
96
|
-
*
|
|
97
|
-
* Invariant:
|
|
98
|
-
* ```
|
|
99
|
-
* other.apply(this.apply(s0)) = this.compose(other).apply(s0)
|
|
100
|
-
* ```
|
|
101
|
-
*/
|
|
102
|
-
public compose(other: TEdit): TEdit {
|
|
103
|
-
const edits1 = this.normalize();
|
|
104
|
-
const edits2 = other.normalize();
|
|
105
|
-
|
|
106
|
-
if (edits1.isEmpty()) { return edits2; }
|
|
107
|
-
if (edits2.isEmpty()) { return edits1; }
|
|
108
|
-
|
|
109
|
-
const edit1Queue = [...edits1.replacements];
|
|
110
|
-
const result: T[] = [];
|
|
111
|
-
|
|
112
|
-
let edit1ToEdit2 = 0;
|
|
113
|
-
|
|
114
|
-
for (const r2 of edits2.replacements) {
|
|
115
|
-
// Copy over edit1 unmodified until it touches edit2.
|
|
116
|
-
while (true) {
|
|
117
|
-
const r1 = edit1Queue[0]!;
|
|
118
|
-
if (!r1 || r1.replaceRange.start + edit1ToEdit2 + r1.getNewLength() >= r2.replaceRange.start) {
|
|
119
|
-
break;
|
|
120
|
-
}
|
|
121
|
-
edit1Queue.shift();
|
|
122
|
-
|
|
123
|
-
result.push(r1);
|
|
124
|
-
edit1ToEdit2 += r1.getNewLength() - r1.replaceRange.length;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
const firstEdit1ToEdit2 = edit1ToEdit2;
|
|
128
|
-
let firstIntersecting: T | undefined; // or touching
|
|
129
|
-
let lastIntersecting: T | undefined; // or touching
|
|
130
|
-
|
|
131
|
-
while (true) {
|
|
132
|
-
const r1 = edit1Queue[0];
|
|
133
|
-
if (!r1 || r1.replaceRange.start + edit1ToEdit2 > r2.replaceRange.endExclusive) {
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
// else we intersect, because the new end of edit1 is after or equal to our start
|
|
137
|
-
|
|
138
|
-
if (!firstIntersecting) {
|
|
139
|
-
firstIntersecting = r1;
|
|
140
|
-
}
|
|
141
|
-
lastIntersecting = r1;
|
|
142
|
-
edit1Queue.shift();
|
|
143
|
-
|
|
144
|
-
edit1ToEdit2 += r1.getNewLength() - r1.replaceRange.length;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
if (!firstIntersecting) {
|
|
148
|
-
result.push(r2.delta(-edit1ToEdit2));
|
|
149
|
-
} else {
|
|
150
|
-
const newReplaceRangeStart = Math.min(firstIntersecting.replaceRange.start, r2.replaceRange.start - firstEdit1ToEdit2);
|
|
151
|
-
|
|
152
|
-
const prefixLength = r2.replaceRange.start - (firstIntersecting.replaceRange.start + firstEdit1ToEdit2);
|
|
153
|
-
if (prefixLength > 0) {
|
|
154
|
-
const prefix = firstIntersecting.slice(OffsetRange.emptyAt(newReplaceRangeStart), new OffsetRange(0, prefixLength));
|
|
155
|
-
result.push(prefix);
|
|
156
|
-
}
|
|
157
|
-
if (!lastIntersecting) {
|
|
158
|
-
throw new BugIndicatingError(`Invariant violation: lastIntersecting is undefined`);
|
|
159
|
-
}
|
|
160
|
-
const suffixLength = (lastIntersecting.replaceRange.endExclusive + edit1ToEdit2) - r2.replaceRange.endExclusive;
|
|
161
|
-
if (suffixLength > 0) {
|
|
162
|
-
const e = lastIntersecting.slice(
|
|
163
|
-
OffsetRange.ofStartAndLength(lastIntersecting.replaceRange.endExclusive, 0),
|
|
164
|
-
new OffsetRange(lastIntersecting.getNewLength() - suffixLength, lastIntersecting.getNewLength())
|
|
165
|
-
);
|
|
166
|
-
edit1Queue.unshift(e);
|
|
167
|
-
edit1ToEdit2 -= e.getNewLength() - e.replaceRange.length;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
const newReplaceRange = new OffsetRange(
|
|
171
|
-
newReplaceRangeStart,
|
|
172
|
-
r2.replaceRange.endExclusive - edit1ToEdit2
|
|
173
|
-
);
|
|
174
|
-
const middle = r2.slice(newReplaceRange, new OffsetRange(0, r2.getNewLength()));
|
|
175
|
-
result.push(middle);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
while (true) {
|
|
180
|
-
const item = edit1Queue.shift();
|
|
181
|
-
if (!item) { break; }
|
|
182
|
-
result.push(item);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
return this._createNew(result).normalize();
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
public decomposeSplit(shouldBeInE1: (repl: T) => boolean): { e1: TEdit; e2: TEdit } {
|
|
189
|
-
const e1: T[] = [];
|
|
190
|
-
const e2: T[] = [];
|
|
191
|
-
|
|
192
|
-
let e2delta = 0;
|
|
193
|
-
for (const edit of this.replacements) {
|
|
194
|
-
if (shouldBeInE1(edit)) {
|
|
195
|
-
e1.push(edit);
|
|
196
|
-
e2delta += edit.getNewLength() - edit.replaceRange.length;
|
|
197
|
-
} else {
|
|
198
|
-
e2.push(edit.slice(edit.replaceRange.delta(e2delta), new OffsetRange(0, edit.getNewLength())));
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
return { e1: this._createNew(e1), e2: this._createNew(e2) };
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/**
|
|
205
|
-
* Returns the range of each replacement in the applied value.
|
|
206
|
-
*/
|
|
207
|
-
public getNewRanges(): OffsetRange[] {
|
|
208
|
-
const ranges: OffsetRange[] = [];
|
|
209
|
-
let offset = 0;
|
|
210
|
-
for (const e of this.replacements) {
|
|
211
|
-
ranges.push(OffsetRange.ofStartAndLength(e.replaceRange.start + offset, e.getNewLength()));
|
|
212
|
-
offset += e.getLengthDelta();
|
|
213
|
-
}
|
|
214
|
-
return ranges;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
public getJoinedReplaceRange(): OffsetRange | undefined {
|
|
218
|
-
if (this.replacements.length === 0) {
|
|
219
|
-
return undefined;
|
|
220
|
-
}
|
|
221
|
-
return this.replacements[0].replaceRange.join(this.replacements.at(-1)!.replaceRange);
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
public isEmpty(): boolean {
|
|
225
|
-
return this.replacements.length === 0;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
public getLengthDelta(): number {
|
|
229
|
-
return sumBy(this.replacements, (replacement) => replacement.getLengthDelta());
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
public getNewDataLength(dataLength: number): number {
|
|
233
|
-
return dataLength + this.getLengthDelta();
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
public applyToOffset(originalOffset: number): number {
|
|
237
|
-
let accumulatedDelta = 0;
|
|
238
|
-
for (const r of this.replacements) {
|
|
239
|
-
if (r.replaceRange.start <= originalOffset) {
|
|
240
|
-
if (originalOffset < r.replaceRange.endExclusive) {
|
|
241
|
-
// the offset is in the replaced range
|
|
242
|
-
return r.replaceRange.start + accumulatedDelta;
|
|
243
|
-
}
|
|
244
|
-
accumulatedDelta += r.getNewLength() - r.replaceRange.length;
|
|
245
|
-
} else {
|
|
246
|
-
break;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
return originalOffset + accumulatedDelta;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
public applyToOffsetRange(originalRange: OffsetRange): OffsetRange {
|
|
253
|
-
return new OffsetRange(
|
|
254
|
-
this.applyToOffset(originalRange.start),
|
|
255
|
-
this.applyToOffset(originalRange.endExclusive)
|
|
256
|
-
);
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
public applyInverseToOffset(postEditsOffset: number): number {
|
|
260
|
-
let accumulatedDelta = 0;
|
|
261
|
-
for (const edit of this.replacements) {
|
|
262
|
-
const editLength = edit.getNewLength();
|
|
263
|
-
if (edit.replaceRange.start <= postEditsOffset - accumulatedDelta) {
|
|
264
|
-
if (postEditsOffset - accumulatedDelta < edit.replaceRange.start + editLength) {
|
|
265
|
-
// the offset is in the replaced range
|
|
266
|
-
return edit.replaceRange.start;
|
|
267
|
-
}
|
|
268
|
-
accumulatedDelta += editLength - edit.replaceRange.length;
|
|
269
|
-
} else {
|
|
270
|
-
break;
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
return postEditsOffset - accumulatedDelta;
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
/**
|
|
277
|
-
* Return undefined if the originalOffset is within an edit
|
|
278
|
-
*/
|
|
279
|
-
public applyToOffsetOrUndefined(originalOffset: number): number | undefined {
|
|
280
|
-
let accumulatedDelta = 0;
|
|
281
|
-
for (const edit of this.replacements) {
|
|
282
|
-
if (edit.replaceRange.start <= originalOffset) {
|
|
283
|
-
if (originalOffset < edit.replaceRange.endExclusive) {
|
|
284
|
-
// the offset is in the replaced range
|
|
285
|
-
return undefined;
|
|
286
|
-
}
|
|
287
|
-
accumulatedDelta += edit.getNewLength() - edit.replaceRange.length;
|
|
288
|
-
} else {
|
|
289
|
-
break;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
return originalOffset + accumulatedDelta;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
/**
|
|
296
|
-
* Return undefined if the originalRange is within an edit
|
|
297
|
-
*/
|
|
298
|
-
public applyToOffsetRangeOrUndefined(originalRange: OffsetRange): OffsetRange | undefined {
|
|
299
|
-
const start = this.applyToOffsetOrUndefined(originalRange.start);
|
|
300
|
-
if (start === undefined) {
|
|
301
|
-
return undefined;
|
|
302
|
-
}
|
|
303
|
-
const end = this.applyToOffsetOrUndefined(originalRange.endExclusive);
|
|
304
|
-
if (end === undefined) {
|
|
305
|
-
return undefined;
|
|
306
|
-
}
|
|
307
|
-
return new OffsetRange(start, end);
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
export abstract class BaseReplacement<TSelf extends BaseReplacement<TSelf>> {
|
|
312
|
-
constructor(
|
|
313
|
-
/**
|
|
314
|
-
* The range to be replaced.
|
|
315
|
-
*/
|
|
316
|
-
public readonly replaceRange: OffsetRange,
|
|
317
|
-
) { }
|
|
318
|
-
|
|
319
|
-
public abstract getNewLength(): number;
|
|
320
|
-
|
|
321
|
-
/**
|
|
322
|
-
* Precondition: TEdit.range.endExclusive === other.range.start
|
|
323
|
-
*/
|
|
324
|
-
public abstract tryJoinTouching(other: TSelf): TSelf | undefined;
|
|
325
|
-
|
|
326
|
-
public abstract slice(newReplaceRange: OffsetRange, rangeInReplacement?: OffsetRange): TSelf;
|
|
327
|
-
|
|
328
|
-
public delta(offset: number): TSelf {
|
|
329
|
-
return this.slice(this.replaceRange.delta(offset), new OffsetRange(0, this.getNewLength()));
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
public getLengthDelta(): number {
|
|
333
|
-
return this.getNewLength() - this.replaceRange.length;
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
abstract equals(other: TSelf): boolean;
|
|
337
|
-
|
|
338
|
-
toString(): string {
|
|
339
|
-
return `{ ${this.replaceRange.toString()} -> ${this.getNewLength()} }`;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
get isEmpty() {
|
|
343
|
-
return this.getNewLength() === 0 && this.replaceRange.length === 0;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
getRangeAfterReplace(): OffsetRange {
|
|
347
|
-
return new OffsetRange(this.replaceRange.start, this.replaceRange.start + this.getNewLength());
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
export type AnyEdit = BaseEdit<AnyReplacement, AnyEdit>;
|
|
352
|
-
export type AnyReplacement = BaseReplacement<AnyReplacement>;
|
|
353
|
-
|
|
354
|
-
export class Edit<T extends BaseReplacement<T>> extends BaseEdit<T, Edit<T>> {
|
|
355
|
-
/**
|
|
356
|
-
* Represents a set of edits to a string.
|
|
357
|
-
* All these edits are applied at once.
|
|
358
|
-
*/
|
|
359
|
-
public static readonly empty = new Edit<never>([]);
|
|
360
|
-
|
|
361
|
-
public static create<T extends BaseReplacement<T>>(replacements: readonly T[]): Edit<T> {
|
|
362
|
-
return new Edit(replacements);
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
public static single<T extends BaseReplacement<T>>(replacement: T): Edit<T> {
|
|
366
|
-
return new Edit([replacement]);
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
protected override _createNew(replacements: readonly T[]): Edit<T> {
|
|
370
|
-
return new Edit(replacements);
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
export class AnnotationReplacement<TAnnotation> extends BaseReplacement<AnnotationReplacement<TAnnotation>> {
|
|
375
|
-
constructor(
|
|
376
|
-
range: OffsetRange,
|
|
377
|
-
public readonly newLength: number,
|
|
378
|
-
public readonly annotation: TAnnotation,
|
|
379
|
-
) {
|
|
380
|
-
super(range);
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
override equals(other: AnnotationReplacement<TAnnotation>): boolean {
|
|
384
|
-
return this.replaceRange.equals(other.replaceRange) && this.newLength === other.newLength && this.annotation === other.annotation;
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
getNewLength(): number { return this.newLength; }
|
|
388
|
-
|
|
389
|
-
tryJoinTouching(other: AnnotationReplacement<TAnnotation>): AnnotationReplacement<TAnnotation> | undefined {
|
|
390
|
-
if (this.annotation !== other.annotation) {
|
|
391
|
-
return undefined;
|
|
392
|
-
}
|
|
393
|
-
return new AnnotationReplacement<TAnnotation>(this.replaceRange.joinRightTouching(other.replaceRange), this.newLength + other.newLength, this.annotation);
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
slice(range: OffsetRange, rangeInReplacement?: OffsetRange): AnnotationReplacement<TAnnotation> {
|
|
397
|
-
return new AnnotationReplacement<TAnnotation>(range, rangeInReplacement ? rangeInReplacement.length : this.newLength, this.annotation);
|
|
398
|
-
}
|
|
399
|
-
}
|