Skip to content

Add ability to derive from a base theme #2454

Closed
@poliorcetics

Description

Describe your feature request

Currently if I want to experiment with changes to a theme, I need to copy the original theme file and modify this copy. If the original is updated from upstream, I don't get those updates. If I haven't made a copy and directly modified the original, it's either overwritten, losing my changes, or causes a merge conflict if I have it in a local branch of helix.

I would like the ability to have something like [fallback] name = "gruvbox" (or [origin], [source], etc, name is bikeshedable) in theme files, so that I can modify only the keys that interest me while keeping the rest.

This could work by merging the TOMLs, like for the user config and the default one. Merging the TOMLs would also let me use colors declared in the original or override them.

It could even be done recursively so that I can have gv2 -> gv1 -> gruvbox if necessary, but that's just a nice-to-have.

Metadata

Assignees

No one assigned

    Labels

    A-helix-termArea: Helix term improvementsA-themeArea: Theme and appearence relatedC-enhancementCategory: ImprovementsE-easyCall for participation: Experience needed to fix: Easy / not muchE-good-first-issueCall for participation: Issues suitable for new contributors

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions