syl20bnr / spacemacs

A community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it's Emacs *and* Vim!
http://spacemacs.org
GNU General Public License v3.0
23.61k stars 4.89k forks source link

Unable to use more than one custom theme #10970

Closed ishovkun closed 1 month ago

ishovkun commented 6 years ago

Description :octocat:

<> I am unable to use more that one custom (local) theme in spacemacs.

Reproduction guide :beetle:

Observed behaviour: :eyes: :broken_heart: <> Only one theme gets picked up by spacemacs

Expected behaviour: :heart: :smile: <> All of my custom themes are picked up so I do not have to restart emacs in order to switch a theme.

System Info :computer:

Backtrace :paw_prints:

<<BACKTRACE IF RELEVANT>>
lum1narie commented 1 year ago

I came across the same problem. This has not been fixed yet. However, I found a way to make it work.

I did like (spacemacs/load-theme '(one-dark :location local)) in dotspacemacs/user-config then it worked.

github-actions[bot] commented 3 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Please let us know if this issue is still valid!

bcc32 commented 1 month ago

This is still a valid issue.

bcc32 commented 1 month ago

I identified two problems:

  1. spacemacs/cycle-spacemacs-theme currently passes only the theme name to spacemacs/load-theme, however, it needs to pass the full (THEME-NAME :location ...) or whatever in order to set up load paths correctly. This causes SPC T n to break because it can't find the right files.
  2. (custom-available-themes) doesn't include any of the dotspacemacs-themes with :location local because they have not been added to custom-theme-load-path (except for the first one). This affects what themes are actually included in the SPC T s completion list. Also, even if they were included, those commands just call load-theme rather than spacemacs/load-theme, so they would still not find the files correctly.