When you start Emacs with emacs -Q
, there appears to be some sort of default color scheme. Where are these colors defined? The default theme does not show up with M-x customize
, nor can I find it in etc/themes
. I have even tried taking a screenshot of the theme, figuring out the hex codes and doing grep -r 'a020f0' .
and grep -r 'b22222' .
inside the source tree, but I can't find anything.
Asked
Active
Viewed 2,360 times
7

Jackson
- 1,218
- 9
- 19
-
4`faces.el` has a few. `font-lock.el` has a few. `org-faces.el` has a few. You can type `M-x find-face` or `M-x customize-face` or `M-x list-faces-display`. The faces are spread out. A custom theme merely has a few common faces that the theme author has hand selected. – lawlist Jan 18 '15 at 06:54
-
1You can also grep the Emacs source code for the word `defface`, which will give **900+** faces -- give or take a few :) – lawlist Jan 18 '15 at 07:43
1 Answers
3
Thanks lawlist for pointing me in the right direction.
I realize I was not being clear in my question. I was primarily concerned with finding the default font-lock
faces. Found them in font-lock.el
:
;;; Color etc. support.
;; Note that `defface' will not overwrite any faces declared above via
;; `custom-declare-face'.
(defface font-lock-comment-face
'((((class grayscale) (background light))
:foreground "DimGray" :weight bold :slant italic)
(((class grayscale) (background dark))
:foreground "LightGray" :weight bold :slant italic)
(((class color) (min-colors 88) (background light))
:foreground "Firebrick")
(((class color) (min-colors 88) (background dark))
:foreground "chocolate1")
(((class color) (min-colors 16) (background light))
:foreground "red")
(((class color) (min-colors 16) (background dark))
:foreground "red1")
(((class color) (min-colors 8) (background light))
:foreground "red")
(((class color) (min-colors 8) (background dark))
:foreground "yellow")
(t :weight bold :slant italic))
"Font Lock mode face used to highlight comments."
:group 'font-lock-faces)
(defface font-lock-comment-delimiter-face
'((default :inherit font-lock-comment-face))
"Font Lock mode face used to highlight comment delimiters."
:group 'font-lock-faces)
(defface font-lock-string-face
'((((class grayscale) (background light)) :foreground "DimGray" :slant italic)
(((class grayscale) (background dark)) :foreground "LightGray" :slant italic)
(((class color) (min-colors 88) (background light)) :foreground "VioletRed4")
(((class color) (min-colors 88) (background dark)) :foreground "LightSalmon")
(((class color) (min-colors 16) (background light)) :foreground "RosyBrown")
(((class color) (min-colors 16) (background dark)) :foreground "LightSalmon")
(((class color) (min-colors 8)) :foreground "green")
(t :slant italic))
"Font Lock mode face used to highlight strings."
:group 'font-lock-faces)
(defface font-lock-doc-face
'((t :inherit font-lock-string-face))
"Font Lock mode face used to highlight documentation."
:group 'font-lock-faces)
(defface font-lock-keyword-face
'((((class grayscale) (background light)) :foreground "LightGray" :weight bold)
(((class grayscale) (background dark)) :foreground "DimGray" :weight bold)
(((class color) (min-colors 88) (background light)) :foreground "Purple")
(((class color) (min-colors 88) (background dark)) :foreground "Cyan1")
(((class color) (min-colors 16) (background light)) :foreground "Purple")
(((class color) (min-colors 16) (background dark)) :foreground "Cyan")
(((class color) (min-colors 8)) :foreground "cyan" :weight bold)
(t :weight bold))
"Font Lock mode face used to highlight keywords."
:group 'font-lock-faces)
(defface font-lock-builtin-face
'((((class grayscale) (background light)) :foreground "LightGray" :weight bold)
(((class grayscale) (background dark)) :foreground "DimGray" :weight bold)
(((class color) (min-colors 88) (background light)) :foreground "dark slate blue")
(((class color) (min-colors 88) (background dark)) :foreground "LightSteelBlue")
(((class color) (min-colors 16) (background light)) :foreground "Orchid")
(((class color) (min-colors 16) (background dark)) :foreground "LightSteelBlue")
(((class color) (min-colors 8)) :foreground "blue" :weight bold)
(t :weight bold))
"Font Lock mode face used to highlight builtins."
:group 'font-lock-faces)
(defface font-lock-function-name-face
'((((class color) (min-colors 88) (background light)) :foreground "Blue1")
(((class color) (min-colors 88) (background dark)) :foreground "LightSkyBlue")
(((class color) (min-colors 16) (background light)) :foreground "Blue")
(((class color) (min-colors 16) (background dark)) :foreground "LightSkyBlue")
(((class color) (min-colors 8)) :foreground "blue" :weight bold)
(t :inverse-video t :weight bold))
"Font Lock mode face used to highlight function names."
:group 'font-lock-faces)
(defface font-lock-variable-name-face
'((((class grayscale) (background light))
:foreground "Gray90" :weight bold :slant italic)
(((class grayscale) (background dark))
:foreground "DimGray" :weight bold :slant italic)
(((class color) (min-colors 88) (background light)) :foreground "sienna")
(((class color) (min-colors 88) (background dark)) :foreground "LightGoldenrod")
(((class color) (min-colors 16) (background light)) :foreground "DarkGoldenrod")
(((class color) (min-colors 16) (background dark)) :foreground "LightGoldenrod")
(((class color) (min-colors 8)) :foreground "yellow" :weight light)
(t :weight bold :slant italic))
"Font Lock mode face used to highlight variable names."
:group 'font-lock-faces)
(defface font-lock-type-face
'((((class grayscale) (background light)) :foreground "Gray90" :weight bold)
(((class grayscale) (background dark)) :foreground "DimGray" :weight bold)
(((class color) (min-colors 88) (background light)) :foreground "ForestGreen")
(((class color) (min-colors 88) (background dark)) :foreground "PaleGreen")
(((class color) (min-colors 16) (background light)) :foreground "ForestGreen")
(((class color) (min-colors 16) (background dark)) :foreground "PaleGreen")
(((class color) (min-colors 8)) :foreground "green")
(t :weight bold :underline t))
"Font Lock mode face used to highlight type and classes."
:group 'font-lock-faces)
(defface font-lock-constant-face
'((((class grayscale) (background light))
:foreground "LightGray" :weight bold :underline t)
(((class grayscale) (background dark))
:foreground "Gray50" :weight bold :underline t)
(((class color) (min-colors 88) (background light)) :foreground "dark cyan")
(((class color) (min-colors 88) (background dark)) :foreground "Aquamarine")
(((class color) (min-colors 16) (background light)) :foreground "CadetBlue")
(((class color) (min-colors 16) (background dark)) :foreground "Aquamarine")
(((class color) (min-colors 8)) :foreground "magenta")
(t :weight bold :underline t))
"Font Lock mode face used to highlight constants and labels."
:group 'font-lock-faces)
For a light background (also, another point I was vague on; I only really cared about the case of a light background), they are:
- Comment: Firebrick
- String: VioletRed4
- Keyword: Purple
- Builtin: dark slate blue
- Function name: Blue1
- Variable name: sienna
- Type: ForestGreen
- Constant: dark cyan

Jackson
- 1,218
- 9
- 19