feat: add diff strategy selection in chat text area#525
feat: add diff strategy selection in chat text area#525monotykamary wants to merge 5 commits intoRooCodeInc:mainfrom
Conversation
|
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
|
I like the idea of making this option more visible than where it currently is, but I think the chat text area is too prominent for the amount that I expect people will need to change this. I’ve been thinking about what a middle ground would be, and think it might be something like showing it and other advanced options in the area above the chat input when a task is not active - more visible, but out of your way when you’re actually working on a task. Not sure the details and there are other options too, but just wanted to share my perspective. What do you think? |
|
Same thoughts. Maybe an aider approach would be a bit better, where we can assign modes to their own edit strategy and replace the current checklist into this dropdown 🤔 |
Oh interesting - so maybe we add dropdown for diff type in the API configuration profiles? |
|
We're moving the diff option to be per-profile, and we've converged on a single diff strategy, so I think that covers the spirit of this. |
Description
This PR introduces a new "Diff Strategy" dropdown to the chat input area in
ChatTextArea.tsx. This dropdown allows users to dynamically control the diff strategy used for code edits directly from the chat interface.The following options are available in the dropdown:
This enhancement provides users with more granular control over the code editing process and allows for easier experimentation with different diff strategies.
Type of change
How Has This Been Tested?
This change has been manually tested by:
Checklist:
Additional context
BEFORE:

AFTER:


Related Issues
Reviewers
Important
Adds a "Diff Strategy" dropdown in
ChatTextArea.tsxfor selecting code diff strategies, updating state based on user selection.ChatTextArea.tsxfor selecting diff strategies: "Disable Diff (whole)", "Search Replace Diff (search-replace)", and "Unified Diff (Experimental) (unified-diff)".diffStrategystate based ondiffEnabledandexperimentalDiffStrategyfromuseExtensionState().diffEnabledandexperimentalDiffStrategystates accordingly.textAreaDisabledis true.selectStyleandcaretContainerStyle.This description was created by
for 0afe08d. It will automatically update as commits are pushed.