Skip to content

[FEATURE]: Add ef-themes collection by Protesilaos Stavrou #5862

@anntnzrb

Description

@anntnzrb

Summary

I'd like to propose adding themes from the ef-themes collection by Protesilaos Stavrou to OpenCode. These are well-established, accessibility-focused themes originally designed for GNU Emacs, with 490+ stars and active maintenance.

Why ef-themes?

  • Cohesive design: All 34 themes share consistent design principles focused on legibility and aesthetics
  • Accessibility: Includes dedicated themes for color vision deficiencies (deuteranopia, tritanopia)
  • Variety: Covers seasonal/mood themes (autumn, winter, spring, summer, day, night, frost, etc.)
  • Established: Part of GNU ELPA, widely used in the Emacs community
  • License: GPL-3.0, compatible with OpenCode
  • Port-ready: Terminal color definitions already exist via ghostty-themes

Available themes (34 total)

Dark (17) Light (13) Accessibility (4)
ef-autumn, ef-bio, ef-cherie, ef-cyprus, ef-dark, ef-dream, ef-duo-dark, ef-eagle, ef-elea-dark, ef-kassio, ef-maris-dark, ef-melissa-dark, ef-night, ef-owl, ef-rosa, ef-symbiosis, ef-trio-dark, ef-winter ef-arbutus, ef-day, ef-light, ef-frost, ef-spring, ef-summer, ef-duo-light, ef-elea-light, ef-maris-light, ef-melissa-light, ef-reverie, ef-trio-light ef-deuteranopia-dark, ef-deuteranopia-light, ef-tritanopia-dark, ef-tritanopia-light

Sample Screenshots

Note: These are from Emacs, but colors will translate to OpenCode's TUI

Dark Themes

ef-autumn

ef-autumn

ef-winter

ef-winter

ef-night

ef-night

Light Themes

ef-summer

ef-summer

ef-melissa-light

ef-melissa-light

ef-frost

ef-frost

Accessibility Themes

ef-deuteranopia-dark (red-green colorblind)

ef-deuteranopia-dark

ef-deuteranopia-light

ef-deuteranopia-light

ef-tritanopia-dark (blue-yellow colorblind)

ef-tritanopia-dark

ef-tritanopia-light

ef-tritanopia-light

Questions for maintainers

Before investing effort in implementation, I'd like to understand:

  1. Would you accept this collection? Given OpenCode already has ~30 themes, would adding more be welcome?

  2. How many is too many? Would you prefer:

    • Option A: A curated subset (~8-10 themes covering dark/light/accessibility)
    • Option B: The full collection (34 themes)
    • Option C: Start with a few, add more based on user demand
  3. Contribution format?

    • One PR with all themes
    • Multiple smaller PRs (batched by category)
    • Individual PRs per theme

Resources


I'm available to implement this once there's guidance on the preferred approach.

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionUsed for feature requests, proposals, ideas, etc. Open discussion

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions