From f76c252940a11aedf94e220e386bd22883336d22 Mon Sep 17 00:00:00 2001 From: Bradley Wright Date: Mon, 31 Dec 2012 00:10:40 +0000 Subject: [PATCH] Dynamically generate appropriate ansi-term colors Now when ansi-term is run, the colours on the terminal are correct as of what Solarized would say they were. --- solarized-definitions.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/solarized-definitions.el b/solarized-definitions.el index d6b1a5c..d7376f7 100644 --- a/solarized-definitions.el +++ b/solarized-definitions.el @@ -520,18 +520,22 @@ the \"Gen RGB\" column in solarized-definitions.el to improve them further." (background-color . ,back) (background-mode . ,mode) (cursor-color . ,(when (<= 16 (display-color-cells)) - base0))))))))) + base0)) + (ansi-term-color-vector . [unspecified ,base02 ,red ,green ,yellow ,blue ,magenta ,cyan ,base2])))))))) (defmacro create-solarized-theme (mode) (let* ((theme-name (intern (concat "solarized-" (symbol-name mode)))) (defs (solarized-color-definitions mode)) (theme-vars (mapcar (lambda (def) (list (car def) (cdr def))) (second defs))) - (theme-faces (first defs))) + (theme-faces (first defs)) + (ansi-term-color-vector (remove-if-not (lambda (def) (eq (symbol-name (car def)) 'ansi-term-color-vector)) theme-vars))) `(progn (deftheme ,theme-name ,solarized-description) (apply 'custom-theme-set-variables ',theme-name ',theme-vars) (apply 'custom-theme-set-faces ',theme-name ',theme-faces) + (eval-after-load 'term + (setq ansi-term-color-vector ,ansi-term-color-vector)) (provide-theme ',theme-name)))) ;;;###autoload