Skip to content

feat: add custom theme support#80

Merged
RivoLink merged 1 commit into
RivoLink:mainfrom
leocavalcante:feat/custom-theme-support
May 5, 2026
Merged

feat: add custom theme support#80
RivoLink merged 1 commit into
RivoLink:mainfrom
leocavalcante:feat/custom-theme-support

Conversation

@leocavalcante

@leocavalcante leocavalcante commented May 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add config-driven custom themes with built-in preset inheritance, UI/Markdown color overrides, and optional syntax theme selection
  • allow --theme / theme to select built-in presets, named inline custom themes, or external TOML theme files
  • document external theme-file usage while keeping config.toml compact and preserving ocean as the default

Validation

  • env -u LEAF_EDITOR -u VISUAL -u EDITOR cargo test
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo build --release

Notes

  • Squashed to a single commit and removed the Copilot co-author trailer.
  • Commit is SSH-signed with lc@leocavalcante.com and GitHub reports it as verified.

@RivoLink

RivoLink commented May 5, 2026

Copy link
Copy Markdown
Owner

Hi @leocavalcante
Thanks for your interest in the project and for your PR — I really appreciate it.

A couple of requests:

  • External theme file: The inline [themes.gruvbox] section makes config.toml quite long. Could you export the custom theme into a separate file (e.g., gruvbox.toml) and reference it in config.toml with something like theme = "path/to/gruvbox.toml"? This would keep the main config clean. If that's too much for this PR, no problem — I can open a follow-up issue for it.
  • Squash into a single commit and please remove Copilot as co-author.
  • Signed commit: GPG signing is required on main. If you can sign it, great. If not, no worries — I'll handle it and preserve you as author.

GPG signing docs : https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits

@leocavalcante leocavalcante force-pushed the feat/custom-theme-support branch from 0ac69ab to fef33b5 Compare May 5, 2026 16:44
@leocavalcante

leocavalcante commented May 5, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the review!

I addressed the requests:

  • Kept config.toml compact with ocean as the default.
  • Added support for external TOML theme files, resolved relative to config.toml, so users can set e.g. theme = "gruvbox.toml" without inlining a long [themes.*] section.
  • Documented the external theme-file format without committing my personal Gruvbox theme file to the repository.
  • Squashed the PR to a single commit.
  • Removed the Copilot co-author trailer.
  • Updated the commit author/committer email to lc@leocavalcante.com.
  • Re-signed the commit using SSH signing; GitHub reports it as verified.

Validation passed:

  • env -u LEAF_EDITOR -u VISUAL -u EDITOR cargo test
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo build --release

@leocavalcante leocavalcante force-pushed the feat/custom-theme-support branch 2 times, most recently from 235b2f5 to 5091f08 Compare May 5, 2026 17:08
@RivoLink

RivoLink commented May 5, 2026

Copy link
Copy Markdown
Owner

Thanks @leocavalcante!
The squashed commit is clean, the external theme file approach works well, and the tests are solid.
Merging, great contribution!

@RivoLink

RivoLink commented May 5, 2026

Copy link
Copy Markdown
Owner

Hi @leocavalcante
Can you rebase your branch from main to validate the CI checks?
I added some fixes to the CI checks.

Add config-driven custom themes with built-in preset inheritance, optional syntax theme selection, and UI/Markdown color overrides.

Support selecting built-in presets, named inline custom themes, or external TOML theme files resolved relative to config.toml. Document the external theme-file format while keeping config.toml focused on the ocean default.

Validation: cargo test; cargo clippy --all-targets --all-features -- -D warnings; cargo build --release
@leocavalcante leocavalcante force-pushed the feat/custom-theme-support branch from 5091f08 to e52de10 Compare May 5, 2026 18:57
@leocavalcante

Copy link
Copy Markdown
Contributor Author

Rebased onto the latest main with the CI fixes and force-pushed the signed single commit.

Current head: e52de10

Local validation passed again after the rebase:

  • env -u LEAF_EDITOR -u VISUAL -u EDITOR cargo test
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo build --release

GitHub reports the commit signature as verified. I’m waiting for Actions to attach/rerun the PR checks on the new head.

@RivoLink

RivoLink commented May 5, 2026

Copy link
Copy Markdown
Owner

Perfect, thank you again!

@RivoLink RivoLink merged commit 6ce8405 into RivoLink:main May 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants