如何在emacs的另一部分中引用由颜色主题定义的颜色名称?
在base16-solarized-dark-theme.el
文件中定义了以下颜色:
(deftheme base16-solarized-dark)
(let ((base00 "#002b36")
(base01 "#073642")
(base02 "#586e75")
(base03 "#657b83")
(base04 "#839496")
(base05 "#93a1a1")
(base06 "#eee8d5")
(base07 "#fdf6e3")
(base08 "#dc322f")
(base09 "#cb4b16")
(base0A "#b58900")
(base0B "#859900")
(base0C "#2aa198")
(base0D "#268bd2")
(base0E "#6c71c4")
(base0F "#d33682"))
现在,我正在尝试在我的.emacs中定义auto-complete
包的面部颜色,如下所示:
(set-face-foreground 'ac-candidate-face "base02")
(set-face-background 'ac-candidate-face "base0A")
但它不起作用。 Emacs不会给出任何错误,但颜色不会像那样定义。
答案 0 :(得分:0)
如果没有看到剩下的代码,我无法确定,但在这种特殊情况下,你无法按名称引用它们。
let
绑定仅在范围内,而正在评估let
表单的主体。
无论该形式的正文中发生了什么,都可能会使用这些命名值,但这些符号后来不会继续保留这些值。
如果他们这样做,你会将它们称为base0A
,而不是"base0A"
- 前者是一个符号,它评估分配给它的值,而后者是一个字符串值(可以被实习以获取该名称的变量,但如果没有充分的理由通常不会这样做。)