Refactor 'helix-loader::merge_toml_values' to use a 'merge-depth' instead of 'merge_toplevel_arrays' #3080
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 ensures that other values than just the top-level arrays are overridden, and makes this function generally more flexible, like merging nested objects, where it makes sense.
For the
languages.toml
,merge_depth
is set to 3 so that top-level language features are merged (like 'scope'), but everything deeper is overridden with the user-config. With the current configuration schema the result should be equivalent to the current behavior.This change is a requirement for #2507 since language-servers there, are configured via a table instead of an array.