zed-industries / zed

Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.

Home Page:https://zed.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Per-project themes (multiple active themes)

norman784 opened this issue · comments

Check for existing issues

  • Completed

Describe the feature

I would love to customise the theme per project, the local settings does not support this override at the moment.

If applicable, add mockups / screenshots to help present your vision of the feature

No response

Interesting. I don't see this being an immediate priority, but it'd definitely be nifty to be able to visually differentiate between multiple open projects based on theme / color of the window.

I don't think it would make sense to specify theme overrides in a project specific .zed/settings.json because then any collaborators on that project would then be forced to use the same theme overriding their personal theme selections.

So this would be in a user's ~/.config/zed/settings.json with something like:

    "theme_override": {
        "proj1": "Solarized Dark",
        "proj2": "Solarized Light"
    }

Or were you thinking it'd be explicit override for a portion of a given theme?

    "theme_style_override": {
        "proj1": {
            "element.background": "#0b342d"
        }
    }

I don't think it would make sense to specify theme overrides in a project specific .zed/settings.json because then any collaborators on that project would then be forced to use the same theme overriding their personal theme selections.

I didn't consider that scenario, but also I usually do not commit my editor preferences to the repository, because not everyone in a team uses the same editor.

Note I altered the title from theme override to reduce confusion.

There is an existing, similar but unrelated, experimental setting named theme_overrides:

  "experimental.theme_overrides": {
    "editor.background": "#000000"
  },

Doesn't help you (only works in global .zed/settings.json) but somewhat related.