feat: implement file-based editing option and update related settings #4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a significant refactor to replace the
DiffViewProviderwith a newIEditingProviderabstraction across the codebase. Additionally, it adds a newfileBasedEditingsetting to the global settings schema. Below are the most important changes grouped by theme:Refactor: Transition to
IEditingProviderDiffViewProviderwithIEditingProviderin theTaskclass, updating its initialization, methods, and references to use theEditingProviderFactoryfor creation and management. (src/core/task/Task.ts: [1] [2] [3] [4] [5] [6] [7] [8]diffViewProviderwitheditingProvider, ensuring consistency in mock setups and assertions. (src/core/tools/__tests__/applyDiffTool.experiment.spec.ts: [1]src/core/tools/__tests__/insertContentTool.spec.ts: [2] [3] [4] [5] [6]src/core/tools/__tests__/writeToFileTool.spec.ts: [7] [8] [9] [10] [11] [12] [13] [14] [15]applyDiffToolLegacyfunction to useeditingProviderfor operations like opening, updating, and reverting changes. (src/core/tools/applyDiffTool.ts: [1] [2]New Feature: Global Settings Update
fileBasedEditingboolean property to theglobalSettingsSchemaand initialized it in theEVALS_SETTINGSobject with a default value offalse. (packages/types/src/global-settings.ts: [1] [2]