Giter VIP home page Giter VIP logo

bbatsov / solarized-emacs Goto Github PK

View Code? Open in Web Editor NEW
756.0 33.0 175.0 1.22 MB

The Solarized colour theme, ported to Emacs.

Emacs Lisp 81.88% Shell 0.69% C 0.30% HTML 0.54% Haskell 0.40% Java 0.18% JavaScript 0.23% Perl 0.27% PHP 0.39% Python 1.05% Ruby 0.38% TeX 0.41% Go 12.06% Common Lisp 0.03% Makefile 0.35% CSS 0.20% Rust 0.64%
solarized-theme solarized-emacs emacs emacs-lisp color-theme

solarized-emacs's Introduction

License GPL 3 MELPA MELPA Stable Join the chat at https://gitter.im/bbatsov/solarized-emacs

Solarized for Emacs

Solarized for Emacs is an Emacs 24bit theme making use of of the Solarized palette, developed by Ethan Schoonover.

You can find several screenshots of Solarized for Emacs here.

Solarized for Emacs supports officially Emacs 24+, but should be working under Emacs 23 as well. The theme is implemented in terms of customisations and deftheme and does not require the color-theme-package.

Installation

Solarized for Emacs is available for installation via the MELPA using package.el. Assuming you've set it up you can install Solarized like this:

M-x package-install solarized-theme

This package will install two variants of the theme; solarized-light-theme and solarized-dark-theme. You can load one of the theme variants with M-x load-theme.

To load it automatically on Emacs startup add this to your init file:

(load-theme 'solarized-light t)

or

(load-theme 'solarized-dark t)

Alternative Palettes

The intent of this theme will always be that Solarized-dark/light will give you the best possible experience. Palettes other than Solarized will never have influence over theming decisions, they are complementary.

You should not expect the complementary themes to be fully accurate or the most suitable versions of how to apply those palettes into an emacs theme. The important aspect is that the color usage should be about the same as they are with the default Solarized palette.

Colors stand out with varying amounts depending on which palette is used. This theme aims for a very soft look, violet is one of the most pronounced accent colors in the Solarized palette and that is one reason why it's rarely used by the theme. Violet in another palette might stand out less and therefore be used more often if the theme was specifically designed with that palette in mind.

The original Zenburn palette doesn't have an violet it is created by blending blue and magenta to get it to fit into the theme so it's tilted towards translating into what this theme has decided.

TLDR; While solarized-gruvbox-light might be good complement for users of solarized-light, another theme not contained in this package (gruvbox-light or whatever) might be more finely tuned in relation to the Gruvbox palette.

Customisations

Theme-specific settings

If you don't like low-contrast modeline or fringe, you can customize them either by doing M-x customize-group solarized or setting the values using elisp code:

;; make the fringe stand out from the background
(setq solarized-distinct-fringe-background t)

;; Don't change the font for some headings and titles
(setq solarized-use-variable-pitch nil)

;; make the modeline high contrast
(setq solarized-high-contrast-mode-line t)

;; Use less bolding
(setq solarized-use-less-bold t)

;; Use more italics
(setq solarized-use-more-italic t)

;; Use less colors for indicators such as git:gutter, flycheck and similar
(setq solarized-emphasize-indicators nil)

;; Don't change size of org-mode headlines (but keep other size-changes)
(setq solarized-scale-org-headlines nil)

;; Change the size of markdown-mode headlines (off by default)
(setq solarized-scale-markdown-headlines t)

;; Avoid all font-size changes
(setq solarized-height-minus-1 1.0)
(setq solarized-height-plus-1 1.0)
(setq solarized-height-plus-2 1.0)
(setq solarized-height-plus-3 1.0)
(setq solarized-height-plus-4 1.0)

Note that these need to be set before load-theme is invoked for Solarized.

Underline position setting for X

If you are using Emacs under X you might like the following setting which puts the underline below the font bottomline instead of the baseline.

Imho it enhances the general readability and also it fits well with the default solarized-high-contrast-mode-line setting which uses an slightly emphazised underline for the modeline to create one horizontal window border in the same manner as the vertical border.

(setq x-underline-at-descent-line t)

Create theme using color palette

The Solarized Face settings consist of a palette of colors with eight accents in addition to the darkest and brightest colors. Recent changes allow you to freely create theme files using different palettes instead of the Solarized color palette. It consists of two steps:

  • creating a theme file
  • loading a theme

Creating/Loading Theme Files

Select the darkest and lightest colors and the eight accents to pass to the function. This creates a theme file in .emacs.d/themes/. If you need to make minor modifications, you can override Face individually by specifying a free Sexp as the fourth argument.

Once you have a theme file, you can load it with load-theme, like solarized.

;; inspired vim's jellybeans color-theme
(solarized-create-theme-file-with-palette 'light 'solarized-jellybeans-light
  '("#202020" "#ffffff"
    "#ffb964" "#8fbfdc" "#a04040" "#b05080" "#805090" "#fad08a" "#99ad6a" "#8fbfdc"))

(load-theme 'solarized-jellybeans-light t)
;; inspired emacs's mesa color-theme
(solarized-create-theme-file-with-palette 'light 'solarized-mesa-light
  '("#000000" "#faf5ee"
    "#3388dd" "#ac3d1a" "#dd2222" "#8b008b" "#00b7f0" "#1388a2" "#104e8b" "#00688b"))

(load-theme 'solarized-mesa-light t)
;; inspired emacs's solarized color-theme
(solarized-create-theme-file-with-palette 'light 'solarized-solarized-light
  '("#002b36" "#fdf6e3"
    "#b58900" "#cb4b16" "#dc322f" "#d33682" "#6c71c4" "#268bd2" "#2aa198" "#859900"))

(load-theme 'solarized-solarized-light t)
;; wombat color-theme with misc face definition
(solarized-create-theme-file-with-palette 'dark 'solarized-wombat-dark
  '("#2a2a29" "#f6f3e8"
    "#e5c06d" "#ddaa6f" "#ffb4ac" "#e5786d" "#834c98" "#a4b5e6" "#7ec98f" "#8ac6f2")
  '((custom-theme-set-faces
     theme-name
     `(default ((,class (:foreground ,(solarized-color-blend base03 base3 0.15 2) :background ,base03))))
     `(highlight ((,class (:background ,violet))))
     `(font-lock-builtin-face ((,class (:foreground ,magenta))))
     `(font-lock-constant-face ((,class (:foreground ,blue))))
     `(font-lock-comment-face ((,class (:foreground ,base00))))
     `(mode-line
       ((,class (:foreground ,base2 :background ,(solarized-color-blend base03 base3 0.85 2)))))
     `(mode-line-inactive
       ((,class (:foreground ,base00 :background ,(solarized-color-blend base03 "black" 0.85 2)))))
     `(mode-line-buffer-id ((,class (:foreground ,base3 :weight bold))))
     `(minibuffer-prompt ((,class (:foreground ,base1))))
     `(vertical-border ((,class (:foreground ,base03)))))))

(load-theme 'solarized-wombat-dark t)

Note: If the theme file already exists, solorized-create-theme-file does not regenerate the file. If the file exists, it can be overwritten by setting the fifth argument to t.

Versioning Policy

  • This package uses semantic versioning

  • Master branch is to be considered unstable (which isn't an excuse to constantly break behaviour). Use MELPA Stable if you want fewer breaking changes.

  • Next stable version will be 2.0 because of API changes in the master branch. Regular load-theme usage is unaffected by changes.

Bugs & Improvements

Please, report any problems that you find on the projects integrated issue tracker. If you've added some improvements and you want them included upstream don't hesitate to send me a patch or even better - a GitHub pull request.

License

Copyright © 2011-2021 Bozhidar Batsov, Thomas Frössman, and contributors.

Distributed under the GNU General Public License, version 3

solarized-emacs's People

Contributors

alphapapa avatar andersjohansson avatar andyleejordan avatar ane avatar asok avatar baskerville avatar bbatsov avatar blaenk avatar bradwright avatar conao3 avatar leandrocardoso avatar mallt avatar monsanto avatar myuhe avatar nmccarty avatar npostavs avatar purcell avatar pythonnut avatar ryanartecona avatar ssnnoo avatar swsnr avatar syl20bnr avatar tarsius avatar thblt avatar thomasf avatar to1ne avatar vspinu avatar wbolster-eiq avatar wunki avatar wyuenho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

solarized-emacs's Issues

Rename solarized-theme.el to solarized.el

With the -theme suffix on a non-theme file, customize-themes will show "solarized" as a theme (and crash when selecting it). If we rename without that suffix that shouldn't happen.

README needs to be fixed

It seems like the README file isn't really up to date. For example, you say that the solarized-theme comes by default with prelude when in reality it doesn't. Morever, you say you can do a M-x package-install solarized-theme and it doesn't get the package from Marmalade. It gets it from melpa (which your blog seems to indicate as well)

Add icicles faces

icicles is an extensive library of completion related functionality. It has a lot of faces. The list of faces (which was incidentally generated by an icicles call) is:

  • icicle-annotation
  • icicle-candidate-part
  • icicle-common-match-highlight-Completions
  • icicle-complete-input
  • icicle-completion
  • icicle-Completions-instruction-1
  • icicle-Completions-instruction-2
  • icicle-current-candidate-highlight
  • icicle-extra-candidate
  • icicle-historical-candidate-other
  • icicle-historical-candidate
  • icicle-input-completion-fail-lax
  • icicle-input-completion-fail
  • icicle-key-complete-menu-local
  • icicle-key-complete-menu
  • icicle-match-highlight-Completions
  • icicle-match-highlight-minibuffer
  • icicle-mode-line-help
  • icicle-msg-emphasis
  • icicle-multi-command-completion
  • icicle-mustmatch-completion
  • icicle-proxy-candidate
  • icicle-saved-candidate
  • icicle-search-context-level-1
  • icicle-search-context-level-2
  • icicle-search-context-level-3
  • icicle-search-context-level-4
  • icicle-search-context-level-5
  • icicle-search-context-level-6
  • icicle-search-context-level-7
  • icicle-search-context-level-8
  • icicle-search-current-input
  • icicle-search-main-regexp-current
  • icicle-search-main-regexp-others
  • icicle-special-candidate
  • icicle-whitespace-highlight

Obviously, this is a lot of work. There's no rush. I'm just posting this so it's on your radar. (I'd do it myself if I knew which way was up when it comes to elisp). The faces themselves should be somewhat similar to those of helm overall, though icicles is generally a superset of helm's functionality.

Thanks,
PythonNut

New magit faces

This was just added to magit, look at maybe setting these to something...

+(defface magit-diff-merge-current
+  '((t :inherit font-lock-preprocessor-face))
+  "Face for merge conflict marker 'current' line."
+  :group 'magit-faces)
+
+(defface magit-diff-merge-separator
+  '((t :inherit font-lock-preprocessor-face))
+  "Face for merge conflict marker seperator."
+  :group 'magit-faces)
+
+(defface magit-diff-merge-proposed
+  '((t :inherit font-lock-preprocessor-face))
+  "Face for merge conflict marker 'proposed' line."
+  :group 'magit-faces)

(defface magit-log-author
+  '((((class color) (background light))
+     :foreground "firebrick")
+    (((class color) (background dark))
+     :foreground "tomato"))
+  "Face for the author element of the log output."
+  :group 'magit-faces)
+
+(defface magit-log-date
+  '((t))
+  "Face for the date element of the log output."
+  :group 'magit-faces)
+

Disable variable-pitch?

It seems that the theme forces org-mode headings to use variable-pitch text. I often rely on monospaced text to align things, which is impossible to do.

Aside from changing the code, is there a way to disable this?

Org mode title faces

In 517fd96, Org title faces were changed to use scaled variable pitch faces.

While we can argue about variable pitch, the scaling was definitely for the worse. The new faces give overly strong emphasize to the titles, as compared to the content, and do not mix well with the cursor and the TODO faces.

The input cursor is not aligned to the heading markers anymore, but instead almost appears to be on a different line:

bildschirmfoto 2013-08-29 um 12 15 52

Letters in a header are also not aligned to the cursor anymore:

bildschirmfoto 2013-08-29 um 12 22 05

And worst of all, TODO tags are not scaled along with the headers, and thus are almost diminished, especially in high level headers:

bildschirmfoto 2013-08-29 um 12 22 54

Compared to the heading the TODO tag is so small now, that it hardly catches the eye.

I fail to see the rationale behind this change, and cannot but wonder whether anyone ever actually tested it. I would appreciate, if this theme did not introduce so intrusive faces, at least not without prior notice and some clean way to disable them.

Delimiters

For some unknown reason, I can not make a pull request from this branch..

Anyhow, this is the branch https://github.com/thomasf/solarized-emacs/tree/delimiters

I have finally found a "solution" for delimiter highlitning that works with both rainbow delimiters on/off and/or show-paren.

It uses only default solarized accent colors with inverse-video and matches the paren colors..
Check it out before it making a final decision, I do like feedback!

 git diff master 
diff --git a/solarized-theme.el b/solarized-theme.el
index 3c06bf5..9b07477 100644
--- a/solarized-theme.el
+++ b/solarized-theme.el
@@ -465,7 +465,8 @@
      `(rainbow-delimiters-depth-10-face ((,class (:foreground ,green))))
      `(rainbow-delimiters-depth-11-face ((,class (:foreground ,blue))))
      `(rainbow-delimiters-depth-12-face ((,class (:foreground ,red))))
-
+     `(rainbow-delimiters-unmatched-face
+       ((,class (:foreground ,solarized-fg :background ,solarized-bg :inverse-video t))))
      ;; rpm-mode
      `(rpm-spec-dir-face ((,class (:foreground ,green))))
      `(rpm-spec-doc-face ((,class (:foreground ,green))))
@@ -478,9 +479,10 @@
      `(rpm-spec-var-face ((,class (:foreground ,red))))

      ;; show-paren
-     `(show-paren-mismatch ((,class (:foreground ,red :background ,solarized-bg :weight bold))))
-     `(show-paren-match ((,class (:foreground ,blue :background ,solarized-bg :weight bold))))
-
+     `(show-paren-mismatch
+       ((,class (:foreground ,red :background ,solarized-bg :weight normal :inverse-video t))))
+     `(show-paren-match
+       ((,class (:foreground ,cyan :background ,solarized-bg :weight normal :inverse-video t))))
      ;; SLIME
      `(slime-repl-inputed-output-face ((,class (:foreground ,red)))) 

error on emacs start: -zip-with function not found

Hello!

Just upgraded solarized theme and now each time I start emacs I get this error:

Debugger entered--Lisp error: (void-function -zip-with)
  (-zip-with (quote (lambda (it other) (+ (* alpha it) (* other (- 1 alpha))))) (solarized-color-name-to-rgb color1) (solarized-color-name-to-rgb color2))
  (apply (quote solarized-color-rgb-to-hex) (-zip-with (quote (lambda (it other) (+ (* alpha it) (* other (- 1 alpha))))) (solarized-color-name-to-rgb color1) (solarized-color-name-to-rgb color2)))
  solarized-color-blend("#b58900" "#dc322f" 0.5)
  (cons 40 (solarized-color-blend yellow red (/ 2.0 4)))
  (list (cons 20 red) (cons 40 (solarized-color-blend yellow red (/ 2.0 4))) (cons 60 (solarized-color-blend yellow red (/ 3.0 4))) (cons 80 yellow) (cons 100 (solarized-color-blend green yellow (/ 2.0 6))) (cons 120 (solarized-color-blend green yellow (/ 3.0 6))) (cons 140 (solarized-color-blend green yellow (/ 4.0 6))) (cons 160 (solarized-color-blend green yellow (/ 5.0 6))) (cons 180 green) (cons 200 (solarized-color-blend cyan green (/ 2.0 6))) (cons 220 (solarized-color-blend cyan green (/ 3.0 6))) (cons 240 (solarized-color-blend cyan green (/ 4.0 6))) (cons 260 (solarized-color-blend cyan green (/ 5.0 6))) (cons 280 cyan) (cons 300 (solarized-color-blend blue cyan (/ 2.0 5))) (cons 320 (solarized-color-blend blue cyan (/ 3.0 5))) (cons 340 (solarized-color-blend blue cyan (/ 4.0 5))) (cons 360 blue))
  (list (quote quote) (list (cons 20 red) (cons 40 (solarized-color-blend yellow red (/ 2.0 4))) (cons 60 (solarized-color-blend yellow red (/ 3.0 4))) (cons 80 yellow) (cons 100 (solarized-color-blend green yellow (/ 2.0 6))) (cons 120 (solarized-color-blend green yellow (/ 3.0 6))) (cons 140 (solarized-color-blend green yellow (/ 4.0 6))) (cons 160 (solarized-color-blend green yellow (/ 5.0 6))) (cons 180 green) (cons 200 (solarized-color-blend cyan green (/ 2.0 6))) (cons 220 (solarized-color-blend cyan green (/ 3.0 6))) (cons 240 (solarized-color-blend cyan green (/ 4.0 6))) (cons 260 (solarized-color-blend cyan green (/ 5.0 6))) (cons 280 cyan) (cons 300 (solarized-color-blend blue cyan (/ 2.0 5))) (cons 320 (solarized-color-blend blue cyan (/ 3.0 5))) (cons 340 (solarized-color-blend blue cyan (/ 4.0 5))) (cons 360 blue)))
  (list (quote vc-annotate-color-map) (list (quote quote) (list (cons 20 red) (cons 40 (solarized-color-blend yellow red (/ 2.0 4))) (cons 60 (solarized-color-blend yellow red (/ 3.0 4))) (cons 80 yellow) (cons 100 (solarized-color-blend green yellow (/ 2.0 6))) (cons 120 (solarized-color-blend green yellow (/ 3.0 6))) (cons 140 (solarized-color-blend green yellow (/ 4.0 6))) (cons 160 (solarized-color-blend green yellow (/ 5.0 6))) (cons 180 green) (cons 200 (solarized-color-blend cyan green (/ 2.0 6))) (cons 220 (solarized-color-blend cyan green (/ 3.0 6))) (cons 240 (solarized-color-blend cyan green (/ 4.0 6))) (cons 260 (solarized-color-blend cyan green (/ 5.0 6))) (cons 280 cyan) (cons 300 (solarized-color-blend blue cyan (/ 2.0 5))) (cons 320 (solarized-color-blend blue cyan (/ 3.0 5))) (cons 340 (solarized-color-blend blue cyan (/ 4.0 5))) (cons 360 blue))))
  (custom-theme-set-variables theme-name (list (quote ansi-color-names-vector) (vector base03 red green yellow blue magenta cyan base0)) (quote (compilation-message-face (quote default))) (list (quote cua-normal-cursor-color) base0) (list (quote cua-read-only-cursor-color) green) (list (quote cua-global-mark-cursor-color) cyan) (list (quote cua-overwrite-cursor-color) yellow) (list (quote fci-rule-color) base02) (quote (magit-diff-use-overlays nil)) (list (quote highlight-changes-colors) (list (quote quote) (list magenta violet))) (list (quote highlight-tail-colors) (list (quote quote) (list (cons base02 (quote 0)) (cons green-lc (quote 20)) (cons cyan-lc (quote 30)) (cons blue-lc (quote 50)) (cons yellow-lc (quote 60)) (cons orange-lc (quote 70)) (cons magenta-lc (quote 85)) (cons base02 (quote 100))))) (list (quote smartrep-mode-line-active-bg) (cons (quote solarized-color-blend) (cons green (cons s-mode-line-bg (quote (0.2)))))) (list (quote vc-annotate-color-map) (list (quote quote) (list (cons 20 red) (cons 40 (solarized-color-blend yellow red (/ 2.0 4))) (cons 60 (solarized-color-blend yellow red (/ 3.0 4))) (cons 80 yellow) (cons 100 (solarized-color-blend green yellow (/ 2.0 6))) (cons 120 (solarized-color-blend green yellow (/ 3.0 6))) (cons 140 (solarized-color-blend green yellow (/ 4.0 6))) (cons 160 (solarized-color-blend green yellow (/ 5.0 6))) (cons 180 green) (cons 200 (solarized-color-blend cyan green (/ 2.0 6))) (cons 220 (solarized-color-blend cyan green (/ 3.0 6))) (cons 240 (solarized-color-blend cyan green (/ 4.0 6))) (cons 260 (solarized-color-blend cyan green (/ 5.0 6))) (cons 280 cyan) (cons 300 (solarized-color-blend blue cyan (/ 2.0 5))) (cons 320 (solarized-color-blend blue cyan (/ 3.0 5))) (cons 340 (solarized-color-blend blue cyan (/ 4.0 5))) (cons 360 blue)))) (quote (vc-annotate-very-old-color nil)) (quote (vc-annotate-background nil)) (list (quote weechat-color-list) (list (quote quote) (list (quote unspecified) base03 base02 red-d red green-d green yellow-d yellow blue-d blue magenta-d magenta cyan-d cyan base0 base00))))
  (let* ((class (quote ((class color) (min-colors 89)))) (s-base03 "#002b36") (s-base02 "#073642") (s-base01 "#586e75") (s-base00 "#657b83") (s-base0 "#839496") (s-base1 "#93a1a1") (s-base2 "#eee8d5") (s-base3 "#fdf6e3") (yellow "#b58900") (orange "#cb4b16") (red "#dc322f") (magenta "#d33682") (violet "#6c71c4") (blue "#268bd2") (cyan "#2aa198") (green "#859900") (yellow-d "#7B6000") (yellow-l "#DEB542") (orange-d "#8B2C02") (orange-l "#F2804F") (red-d "#990A1B") (red-l "#FF6E64") (magenta-d "#93115C") (magenta-l "#F771AC") (violet-d "#3F4D91") (violet-l "#9EA0E5") (blue-d "#00629D") (blue-l "#69B7F0") (cyan-d "#00736F") (cyan-l "#69CABF") (green-d "#546E00") (green-l "#B4C342") (base0 (if (eq variant (quote light)) s-base00 s-base0)) (base00 (if (eq variant (quote light)) s-base0 s-base00)) (base1 (if (eq variant (quote light)) s-base01 s-base1)) (base01 (if (eq variant (quote light)) s-base1 s-base01)) (base2 (if (eq variant (quote light)) s-base02 s-base2)) (base02 (if (eq variant (quote light)) s-base2 s-base02)) (base3 (if (eq variant (quote light)) s-base03 s-base3)) (base03 (if (eq variant (quote light)) s-base3 s-base03)) (solarized-fg (if (eq variant (quote light)) s-base00 s-base0)) (solarized-bg (if (eq variant (quote light)) s-base3 s-base03)) (solarized-hl (if (eq variant (quote light)) s-base2 s-base02)) (solarized-emph (if (eq variant (quote light)) s-base01 s-base1)) (solarized-comments (if (eq variant (quote light)) s-base1 s-base01)) (solarized-fg-hc (if (eq variant (quote light)) s-base3 s-base03)) (solarized-fg-lc (if (eq variant (quote light)) s-base03 s-base3)) (s-line (if (eq variant (quote light)) "#cccec4" "#284b54")) (yellow-hc (if (eq variant (quote light)) yellow-d yellow-l)) ...) (custom-theme-set-faces theme-name (quote (button ((t (:underline t))))) (list (quote default) (list (list class (list (quote :foreground) base0 (quote :background) base03)))) (list (quote shadow) (list (list class (list (quote :foreground) base01)))) (list (quote match) (list (list class (cons (quote :background) (cons base02 (cons ... ...)))))) (list (quote cursor) (list (list class (cons (quote :foreground) (cons base03 (cons ... ...)))))) (list (quote mouse) (list (list class (cons (quote :foreground) (cons base03 (cons ... ...)))))) (list (quote escape-glyph-face) (list (list class (list (quote :foreground) red)))) (list (quote fringe) (list (list class (list (quote :foreground) s-fringe-fg (quote :background) s-fringe-bg)))) (list (quote highlight) (list (list class (list (quote :background) base02)))) (list (quote link) (list (list class (cons (quote :foreground) (cons yellow (quote ...)))))) (list (quote link-visited) (list (list class (cons (quote :foreground) (cons yellow (quote ...)))))) (list (quote success) (list (list class (list (quote :foreground) green)))) (list (quote warning) (list (list class (list (quote :foreground) yellow)))) (list (quote error) (list (list class (list (quote :foreground) orange)))) (list (quote lazy-highlight) (list (list class (cons (quote :foreground) (cons base03 (cons ... ...)))))) (list (quote escape-glyph) (list (list class (list (quote :foreground) violet)))) (list (quote compilation-column-face) (list (list class (cons (quote :foreground) (cons cyan (quote ...)))))) (list (quote compilation-column-number) (list (list class (cons (quote :inherit) (cons (quote font-lock-doc-face) (cons ... ...)))))) (list (quote compilation-enter-directory-face) (list (list class (cons (quote :foreground) (cons green (quote ...)))))) (list (quote compilation-error) (list (cons class (quote ((:inherit error :underline nil)))))) (list (quote compilation-error-face) (list (list class (cons (quote :foreground) (cons red (quote ...)))))) (list (quote compilation-face) (list (list class (cons (quote :foreground) (cons base0 (quote ...)))))) (list (quote compilation-info) (list (list class (cons (quote :foreground) (cons base01 (quote ...)))))) (list (quote compilation-info-face) (list (list class (cons (quote :foreground) (cons blue (quote ...)))))) (list (quote compilation-leave-directory-face) (list (list class (cons (quote :foreground) (cons green (quote ...)))))) (list (quote compilation-line-face) (list (list class (cons (quote :foreground) (cons green (quote ...)))))) (list (quote compilation-line-number) (list (list class (cons (quote :foreground) (cons green (quote ...)))))) (list (quote compilation-warning) (list (cons class (quote ((:inherit warning :underline nil)))))) (list (quote compilation-warning-face) (list (list class (cons (quote :foreground) (cons yellow (quote ...)))))) (list (quote compilation-mode-line-exit) (list (list class (cons (quote :inherit) (cons (quote compilation-info) (cons ... ...)))))) (list (quote compilation-mode-line-fail) (list (list class (cons (quote :inherit) (cons (quote compilation-error) (cons ... ...)))))) (list (quote compilation-mode-line-run) (list (list class (cons (quote :foreground) (cons orange (quote ...)))))) (list (quote cua-global-mark) (list (list class (list (quote :background) yellow (quote :foreground) base03)))) (list (quote cua-rectangle) (list (list class (list (quote :inherit) (quote region) (quote :background) magenta (quote :foreground) base03)))) (list (quote cua-rectangle-noselect) (list (list class (list (quote :inherit) (quote region) (quote :background) base02 (quote :foreground) base01)))) (list (quote diary) (list (list class (list (quote :foreground) yellow)))) (list (quote dired-directory) (list (list class (cons (quote :foreground) (cons blue (quote ...)))))) (list (quote dired-flagged) (list (list class (list (quote :foreground) red)))) (list (quote dired-header) (list (list class (list (quote :foreground) base03 (quote :background) blue)))) (list (quote dired-ignored) (list (cons class (quote ((:inherit shadow)))))) (list (quote dired-mark) (list (list class (cons (quote :foreground) (cons yellow (quote ...)))))) (list (quote dired-marked) (list (list class (cons (quote :foreground) (cons magenta (quote ...)))))) (list (quote dired-perm-write) (list (list class (cons (quote :foreground) (cons base0 (quote ...)))))) (list (quote dired-symlink) (list (list class (cons (quote :foreground) (cons cyan (quote ...)))))) (list (quote dired-warning) (list (list class (cons (quote :foreground) (cons orange (quote ...)))))) (list (quote dired-async-message) (list (list class (list (quote :background) (if (eq variant ...) yellow-l yellow))))) (list (quote dired-async-mode-message) (list (list class (list (quote :background) (if (eq variant ...) red-l red))))) (list (quote dired-efap-face) (list (list class (cons (quote :box) (cons nil (cons ... ...)))))) ...) (custom-theme-set-variables theme-name (list (quote ansi-color-names-vector) (vector base03 red green yellow blue magenta cyan base0)) (quote (compilation-message-face (quote default))) (list (quote cua-normal-cursor-color) base0) (list (quote cua-read-only-cursor-color) green) (list (quote cua-global-mark-cursor-color) cyan) (list (quote cua-overwrite-cursor-color) yellow) (list (quote fci-rule-color) base02) (quote (magit-diff-use-overlays nil)) (list (quote highlight-changes-colors) (list (quote quote) (list magenta violet))) (list (quote highlight-tail-colors) (list (quote quote) (list (cons base02 (quote 0)) (cons green-lc (quote 20)) (cons cyan-lc (quote 30)) (cons blue-lc (quote 50)) (cons yellow-lc (quote 60)) (cons orange-lc (quote 70)) (cons magenta-lc (quote 85)) (cons base02 (quote 100))))) (list (quote smartrep-mode-line-active-bg) (cons (quote solarized-color-blend) (cons green (cons s-mode-line-bg (quote (0.2)))))) (list (quote vc-annotate-color-map) (list (quote quote) (list (cons 20 red) (cons 40 (solarized-color-blend yellow red (/ 2.0 4))) (cons 60 (solarized-color-blend yellow red (/ 3.0 4))) (cons 80 yellow) (cons 100 (solarized-color-blend green yellow (/ 2.0 6))) (cons 120 (solarized-color-blend green yellow (/ 3.0 6))) (cons 140 (solarized-color-blend green yellow (/ 4.0 6))) (cons 160 (solarized-color-blend green yellow (/ 5.0 6))) (cons 180 green) (cons 200 (solarized-color-blend cyan green (/ 2.0 6))) (cons 220 (solarized-color-blend cyan green (/ 3.0 6))) (cons 240 (solarized-color-blend cyan green (/ 4.0 6))) (cons 260 (solarized-color-blend cyan green (/ 5.0 6))) (cons 280 cyan) (cons 300 (solarized-color-blend blue cyan (/ 2.0 5))) (cons 320 (solarized-color-blend blue cyan (/ 3.0 5))) (cons 340 (solarized-color-blend blue cyan (/ 4.0 5))) (cons 360 blue)))) (quote (vc-annotate-very-old-color nil)) (quote (vc-annotate-background nil)) (list (quote weechat-color-list) (list (quote quote) (list (quote unspecified) base03 base02 red-d red green-d green yellow-d yellow blue-d blue magenta-d magenta cyan-d cyan base0 base00)))) (if childtheme (progn (funcall childtheme))))
  create-solarized-theme(light solarized-light)
  eval-buffer()  ; Reading at buffer position 149
  load-theme(solarized-light)
  eval-buffer(#<buffer  *load*> nil "/home/dimka/.emacs.d/init.el" nil t)  ; Reading at buffer position 1174
  load-with-code-conversion("/home/dimka/.emacs.d/init.el" "/home/dimka/.emacs.d/init.el" t t)
  load("/home/dimka/.emacs.d/init" t t)

font-lock-preprocessor-face color

This may be not an issue at all, but I was wondering why this implementation of solarized (which is by far the best theme I've seen for emacs yet) uses the blu color for preprocessor directives (as well as for constants, vars, and functions making C++ code much more flat and homogeneous).

I'm just building my thoughts around the screenshot seen here for vim http://ethanschoonover.com/solarized/img/screen-c-dark.png and upon my experience with c/c++ code in emacs.

hl-line face is not changed

I use prelude with emacs 24.2, and have (load-theme 'solarized-light) in custom.el.

hl-line's background is something near black which is unreadable together with solarized's foreground. describe-face hl-line says:

Background: #383838
Inherit: highlight

describe-face highlight says:

Background: #eee8d5

The other values are "unspecified".

tuareg-mode

Thanks for this implementation of solarized. It generally looks great, but the colors are severely off in tuareg-mode (Emacs major mode for OCaml). I am a recent convert to Emacs from vim (using Evil-mode) so I'm not really very aware of what changes would need to be made to make solarized look better when editing OCaml files, but if you were to point me in the right direction, I'd be happy to work on making the changes myself.

Thanks!

Child themes

I want to be able to use the solarized color definitions for child themes.
I have a bunch of faces that should be set but doesn't make sense for general theme settings since they are dependent on other personal configuration.

I think my options might be:

  • Moving the let expression to a separate function
  • Taking a function as an optional argument to the create-theme function
  • Create a macro that copies create-theme and inserts my definitions inside the copy (?? I'm not familiar with macros yet)

I'm not very fluent in (e)lisp so I am wondering what you suggests.

Disable italics

Please provide a variable which can be used to disable italics in the the theme. I find it distracting, and only certain fonts tolerate it well.

It's hard to distinguish the modeline from the buffer text contents

Solarized uses the same face for the modeline and for the normal text. This means that sometimes it is hard to notice the modeline.

For instance, starting with a buffer with text enough to fill its window, do C-x 2 to split the window. See how it is easy to confuse the modeline of the window on the upper part of the frame with the buffer's text.

I suggest to use special backgrounds for the faces mode-line and mode-line-inactive (better make them different.)

Solarized needs to be customized for Latex-mode

latex solarized

  1. All the titles get a ugly yellow color. 'cornflower blue' looks pretty good for titles.
  2. \texttt{typewriter} gets a special orange color, which is not required.
  3. We should make \textbf{bold} bold, \textit{italic} italic, \textsc{small caps} small caps etc
  4. \textup{this could be in uppercase may be?}

Linum-mode background too dark.

Linum mode color is the same as default background color on dark version

``(linum ((,class (:foreground ,solarized-comments :background ,solarized-bg))))`

On dark version it is base02: #002b36 while it should be base03: #073642

Some colors are not working in light version of theme.

For me some or all colors that inherits font-lock-comment-face in light theme inherits the default emacs blue instead of the solarized scoped one. org-agenda-date is one such instance.
All colors seems to work in dark mode.

Incorrect Colours in Terminal

I'm not sure if this is a bug of solarized-emacs or my fault but when I load up emacs in a terminal window this is what i get:

However, my terminal has 256 color support and M-x list-colors-display displays all of the colours correctly. I don't know how to diagnose the issue further to determine where the problem lies.

solarized.el: invalid inherit

the original problem was: line 475 in solarized.el: invalid inherit, i've already commented this.
Another problem is when I do (load-theme 'solarized-dark t), the M-x color-theme-select won't work. It will give me the error: Variable binding depth exceeds max-specpdl-size. I tried to debug but could not find the source for this.

Modeline underlined

With GNU Emacs 24.3.1 I have the modeline broken with an underline.

emacs

It look like the issue #101.

web-mode-builtin-face

     `(web-mode-builtin-face ((,class (:foreground ,red))))

Why is this overridden to be :red? IMO using the regular builtin-face would be much better. There's no reason builtins should look different in this mode, right?

Furthermore, the :red color is very strong and one that I associate with errors of some kind. Using a builtin is commonplace and innocuous; there's no need to bring it to the users attention in this manner.

highlighted diffs in magis have holes in them

I don't know when this was introduced but after my recent update magit diffs started having holes in them. So they look like this:

bad_diff

Now it is difficult to see what is what, especially with small changes.

AFAICS the reason is either the explisit base03 background of the diffs (why would one do that?) or enforcing magit-diff-use-overlays to be nil ( aren't users supposed to set this for themselves?).

Magit and modeline look broken

Looking at:

screen shot 2014-03-12 at 11 57 09

Note that the tag looks broken (describe-face says: inherits from magit-header which inherits from inherit-line) and the modeline looks broken.

Solarized-light background turns bright yellow

I'm loading solarized-emacs through Emacs Prelude. When I start Emacs it comes up with the default Zenburn theme like it should. When I enter 'M-x load-theme' and select solarized-light the terminal background color turns bright yellow #ffffd7,
instead of the base3 pale yellow #fdf6e3.

solarized-light: Org checkboxes are difficult to read

org-checkbox foreground is set to "white", which makes it difficult to read in light mode.

Maybe a solarized-fg foreground would be enough, since check-boxes already have a distinctive box around them.

Also, org-agenda-date-today has the same white foreground. It may benefit from the same change.

Regards.

Fringe has same background ... all the code looks indented

18b009c introduced a "controversial change". That now I cannot see
the fringe drives me nuts. The code looks indented and I always have the tendency to delete empty spaces at bol because I never know whether the cursor is really at bol.

I fail to see the reason behind this change. If it doesn't matter much for other
people, could this comit please be reverted?

Thanks.

Review usage of orange/red/magenta

  • Red/orange should be used for errors/warnings with possible rare exceptions.
  • Magenta should mostly be used for temporary highlight, avoid other usage if possible.

Wrong type argument: stringp, nil

M-x load-theme
solarized
file-name-as-directory: Wrong type argument: stringp, nil

marmalade package: solarized-theme 0.1

This is GNU Emacs 24.0.91.1 (x86_64-apple-darwin, NS apple-appkit-1038.35)
of 2011-10-31 on virtualmac.porkrind.org

Symbol's value as variable is void: solarized-hl

Did a standard install from marmalade. Then M-x load-theme solarized-dark and it fails to load with the error message

Symbol's value as variable is void: solarized-hl

Same for solarized-light.

emacs 24.0.94.1 on OS 10.7.3

conflict with ansi-term and other term modes

If I run ansi-term or another other "modern" terminal mode with Solarized loaded, I get this error:

Debugger entered--Lisp error: (wrong-type-argument symbolp "#586e75")
  internal-get-lisp-face-attribute("#586e75" :foreground nil)
  face-attribute("#586e75" :foreground nil default)
  face-foreground("#586e75" nil default)
  term-handle-colors-array(0)
  term-handle-ansi-escape(#<process MULTI-TERM-DEDICATED> 109)
  term-emulate-terminal(#<process MULTI-TERM-DEDICATED> "

Commenting out the ansi-term-color-vector assignment from https://github.com/bbatsov/solarized-emacs/blob/master/solarized.el#L980 prevents this error from occurring. I'm not sure what's supposed to be in that vector, but I don't think what's in there is it.

Dark theme flashes when loading light theme

When calling (load-theme 'solarized-light t), my Emacs window briefly goes a dark cyan (seems like one of the base colours from the dark theme). It's a little disconcerting when launching Emacs. I'm using the solarized package from 2013-10-03 on Emacs 24.3.1 on OS X, and it also happens in 24.3.1 on Cygwin.

Is there a way to load the theme that doesn't do this?

problems when building the melpa packages

it seems like the solarized-theme-pkg.el file is causing an error in the melpa build because in the requirements dash is quoted. is this allowed in the package format? my understanding is that it should be an unquoted literal. if this is our error we can fix it but we should verify that it's allowed.

cscope faces are too dark

For example:

(defface cscope-file-face
  '((((class color) (background dark))
     (:foreground "yellow"))
    (((class color) (background light))
     (:foreground "blue"))
    (t (:bold t)))
  "Face used to highlight file name in the *cscope* buffer."
  :group 'cscope)

The faces define colors for a dark and light background. But for some reason the light colors are used.

So there are 2 options to fix this:

  • Fix this theme, so the dark color is used. I have no idea how?

  • Define colors for all cscope faces. These are the faces:

    cscope-file-face
    cscope-function-face
    cscope-line-number-face
    cscope-line-face
    cscope-mouse-face

Wrong type argument: stringp null

I am using emacs 24 and I keep getting the error "Wrong type argument: stringp null" in the mini buffer when I attempt to M-x load-theme. I can load other themes just fine, so this leads me to believe the problem is in solarized.

I'm pretty new with emacs and elisp, so I'm not sure where the problem is yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.