sellout / emacs-color-theme-solarized

Emacs highlighting using Ethan Schoonover’s Solarized color scheme
http://ethanschoonover.com/solarized
MIT License
1.15k stars 201 forks source link

faces for rainbow-delimiter-mode not applied #165

Open duud opened 9 years ago

duud commented 9 years ago

Faces for rainbow-delimiter-mode are inherited from outline mode. After starting emacs and opening an elisp file none of the outline-faces are defined (checked with describe-face), since rainbow-delimiter-mode faces inherit from outline-mode faces, coloring of delimiters isn't working. I order to get this working I have to enable outline-mode (after doing this faces for outline-mode get defined) and restartd rainbow-delomiter-mode.

losingkeys commented 8 years ago

I think I have the same issue: https://github.com/Fanael/rainbow-delimiters/issues/21#issuecomment-194058177 (demo here: https://asciinema.org/a/allvq9du5q9fpnr46d2xn3kiq). Enabling outline-mode then emacs-lisp-mode (or whatever major mode I was in) seems to fix the issue.

losingkeys commented 8 years ago

rainbow-delimitiers appears to work with this config:

(use-package rainbow-delimiters                                                               
  :config (add-hook 'prog-mode-hook 'rainbow-delimiters-mode)) 

;;; ...

(use-package color-theme-solarized                                                            
  :init (require 'color-theme)                                                                
  :config                                                                                     
  (add-to-list 'custom-theme-load-path "emacs-color-theme-solarized")                         
  (load-theme 'solarized t))  
losingkeys commented 8 years ago

Scratch that, that config's not working now. Oddly enough it works when first installing the packages, but after restarting emacs it doesn't.

losingkeys commented 8 years ago

Not sure if this'll help... but I'm seeing the following paragraph twice in *Messages*:

Unable to load color "brightyellow" [12 times]                                                           
Unable to load color "brightwhite"                                                                       
Unable to load color "brightyellow"                                                                      
Unable to load color "brightwhite"                                                                       
Unable to load color "brightyellow"                                                                      
Unable to load color "brightwhite" [2 times]                                                             
Unable to load color "brightyellow" [2 times]                                                            
Unable to load color "brightwhite"                                                                       
Unable to load color "brightyellow"                                                                      
Unable to load color "brightwhite"                                                                       
Unable to load color "brightyellow"                                                                      
Unable to load color "brightwhite"                                                                       
Unable to load color "brightyellow" [2 times]                                                            
Unable to load color "brightwhite"                                                                       
Unable to load color "brightyellow"                                                                      
Unable to load color "brightwhite"                                                                       
Unable to load color "brightyellow"                                                                      
Unable to load color "brightwhite" [4 times]

Even after following the instructions in https://github.com/sellout/emacs-color-theme-solarized/issues/175, which meant the following config:

(use-package color-theme-solarized                                                                       
  :init                                                                                                  
  (setq-default solarized-termcolors 256)                                                                
  (require 'color-theme)                                                                                 
  (load-theme 'solarized t))      

The warnings go away if I don't load this package, so I'm assuming it's caused by this package.

ralsei commented 8 years ago

Any progress on this?

halcyon commented 8 years ago

If you prefer the way it looks with 16 colors, then setting TERM to xterm-color should make the warnings go away. If you enjoy the way it looks with 256 colors, then setting TERM to xterm-256color should make the warnings go away.

losingkeys commented 8 years ago

I use 16 colors and this workaround, which works for me.

PhilipDaniels commented 7 years ago

I thought I was going nuts, so glad to find this issue. I am in the middle of refactoring my .emacs and was a bit upset when rainbow delimiters stopped working in solarized for some unknown reason because it looks fantastic with them. Thanks to @duud and @losingkeys I was able to get them working again using the outline-minor-mode hack.

Here is a minimal repro for the issue. It assumes you have the solarized theme and rainbow delimiters installed, and optionally for comparison purposes the gruvbox theme.

Save the following code in a file called emacs.srd.el:

(package-initialize)

(setq frame-background-mode 'dark)
(mapc 'frame-set-background-mode (frame-list))
(load-theme 'solarized t)
;(load-theme 'gruvbox t)

(require 'rainbow-delimiters)
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)

;; If you comment these two lines out, rainbow delimiters no longer work with
;; solarized, though they do still work with gruvbox.
(outline-minor-mode t)
(outline-minor-mode nil)

Then if you start Emacs with

emacs -q -l emacs.srd.el emacs.srd.el

You don't get rainbow delimiters unless you have the outline-minor-mode toggle.