This is primarily interesting for export. Let's take Windows Terminal as an example. It has settings that are purely theming that don't affect functionality (fonts, colors, sizes, etc...) and other settings that do (shells, default shell, etc...). Some users may want to export and import just one of these class of settings and sometimes both:
user likes someone else's theme settings and wants to replicate them without modifying operational settings
user has multiple devices and wants all settings replicated
a repo has application settings to bootstrap the dev environment and shouldn't touch the theme settings
How should two types of settings be distinguished? The easy way is to require two different resources (even if implemented in the same exe). The other is some metadata within the schema of the settings. The latter would allow semantic diff to show differences while understanding the purpose.
Summary of the new feature / enhancement
This is primarily interesting for
export
. Let's take Windows Terminal as an example. It has settings that are purely theming that don't affect functionality (fonts, colors, sizes, etc...) and other settings that do (shells, default shell, etc...). Some users may want to export and import just one of these class of settings and sometimes both:Proposed technical implementation details (optional)
How should two types of settings be distinguished? The easy way is to require two different resources (even if implemented in the same exe). The other is some metadata within the schema of the settings. The latter would allow semantic diff to show differences while understanding the purpose.