Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for child schemas #3

Open
liferooter opened this issue Oct 27, 2023 · 4 comments
Open

Add support for child schemas #3

liferooter opened this issue Oct 27, 2023 · 4 comments
Labels
enhancement New feature or request

Comments

@liferooter
Copy link

Please add support for child schemas :)

@SeaDve
Copy link
Owner

SeaDve commented Oct 27, 2023

It's on TODO :p

Can you also post the gschema somewhere or here for testing purposes, thanks!

@SeaDve
Copy link
Owner

SeaDve commented Nov 4, 2023

Thanks! However, I won't be able to work on it anytime soon, but if someone could contribute to it, I would be glad to review it

@vhdirk
Copy link
Contributor

vhdirk commented Jan 16, 2024

I've started working on this. But, I think is going to mean a pretty big restructuring. I'll create a PR whenever I have some idea of what it would look like.

My initial idea is, aside from the pretty obvious gsetting xml parsing, create a TypeGenerator so that enums and child schemas become first class citizens. Then, I would scan all the schemas for 'interesting' types like choices and flags as they are no separate entities in gsettings.

We can then use all of these types to generate the schemas. To keep things 'simple', I am currently only planning to support child schemas that share the same APP_ID parent. No unreferenced individual schemas. That is certainly possible too but would require a way of generating non-overlapping names .

@SeaDve SeaDve added the enhancement New feature or request label Jan 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants