fix: legacy diff options not working due to merge order #142
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.
Summary
Fixes a bug where the legacy diff options
vertical_split
andopen_in_current_tab
were not working correctly.Problem
The backward compatibility mapping was checking if fields were
nil
after merging with defaults, but those fields were already populated by the merge, so the legacy options were never applied.Example of broken behavior:
Solution
Changed the logic to unconditionally apply legacy option mappings when the legacy options are present. This ensures backward compatibility without complex conditional checks.
Changes:
vertical_split=false
now correctly setslayout="horizontal"
vertical_split=true
now correctly setslayout="vertical"
open_in_current_tab=false
now correctly setsopen_in_new_tab=true
open_in_current_tab=true
now correctly setsopen_in_new_tab=false
Testing
Manually tested all scenarios:
make format
passes (no changes needed)🤖 Generated with Claude Code