如何引用.emacs中主题包定义的颜色名称?

时间:2015-12-27 10:19:55

标签: emacs colors themes

如何在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不会给出任何错误,但颜色不会像那样定义。

1 个答案:

答案 0 :(得分:0)

如果没有看到剩下的代码,我无法确定,但在这种特殊情况下,你无法按名称引用它们。

let绑定仅在范围内,而正在评估let表单的主体。

无论该形式的正文中发生了什么,都可能会使用这些命名值,但这些符号后来不会继续保留这些值。

如果他们这样做,你会将它们称为base0A,而不是"base0A" - 前者是一个符号,它评估分配给它的值,而后者是一个字符串值(可以被实习以获取该名称的变量,但如果没有充分的理由通常不会这样做。)