24.7.7 字体锁定专用外观

字体锁定模式可使用任意外观进行高亮,但 Emacs 专门定义了若干外观供字体锁定高亮文本使用。 这些字体锁定外观如下所列。 主模式也可在字体锁定模式之外用它们进行语法高亮(see 主模式编码规范)。

这些符号既是外观名,也是变量,其默认值为符号自身。 例如 font-lock-comment-face 的默认值即为 font-lock-comment-face

下列外观按典型用途说明,并按醒目程度从高到低排列。 若某模式的语法分类与用途描述不完全匹配,可按该顺序作为分配依据。

font-lock-warning-face

用于异常结构(例如 Emacs Lisp 符号中未转义的易混淆引号,如 ‘‘foo’), 或会大幅改变其他文本含义的结构,如 Emacs Lisp 中的 ‘;;;###autoload’ 和 C 语言中的 ‘#error’。

font-lock-function-name-face

用于被定义或声明的函数名。

font-lock-function-call-face

用于被调用的函数名。该外观默认继承自 font-lock-function-name-face

font-lock-variable-name-face

用于被定义或声明的变量名。

font-lock-variable-use-face

用于被引用的变量名。该外观默认继承自 font-lock-variable-name-face

font-lock-keyword-face

用于具有特殊语法意义的关键字,如 C 语言中的 ‘for’ 和 ‘if’。

font-lock-comment-face

用于注释。

font-lock-comment-delimiter-face

用于注释定界符,如 C 语言中的 ‘/*’ 和 ‘*/’。 在多数终端上,该外观继承自 font-lock-comment-face

font-lock-type-face

用于用户自定义数据类型名。

font-lock-constant-face

用于常量名,如 C 语言中的 ‘NULL’。

font-lock-builtin-face

用于内置函数名。

font-lock-preprocessor-face

用于预处理指令。该外观默认继承自 font-lock-builtin-face

font-lock-string-face

用于字符串常量。

font-lock-doc-face

用于程序代码中以特殊格式注释或字符串嵌入的文档内容。 该外观默认继承自 font-lock-string-face

font-lock-doc-markup-face

用于使用 font-lock-doc-face 的文本中的标记元素。 通常用于代码内嵌文档中的标记结构,遵循 Haddock、Javadoc 或 Doxygen 等规范。 该外观默认继承自 font-lock-constant-face

font-lock-negation-char-face

用于容易被忽略的取反字符。

font-lock-escape-face

用于字符串中的转义序列。 该外观默认继承自 font-lock-regexp-grouping-backslash

以下为 Python 示例,其中使用了转义序列 \n

print('Hello world!\n')
font-lock-number-face

用于数字。

font-lock-operator-face

用于运算符。

font-lock-property-name-face

用于对象属性,如结构体中字段的声明。 该外观默认继承自 font-lock-variable-name-face

font-lock-property-use-face

用于对象属性的使用,如结构体字段的访问。 该外观默认继承自 font-lock-property-name-face

示例:

typedef struct
{
  int prop;
//    ^ property
} obj;

int main()
{
  obj o;
  o.prop = 3;
//  ^ property
}
font-lock-punctuation-face

用于括号、定界符等标点符号。

font-lock-bracket-face

用于各类括号(如 ()[]{})。 该外观默认继承自 font-lock-punctuation-face

font-lock-delimiter-face

用于语句定界符(如 ;:,)。 该外观默认继承自 font-lock-punctuation-face

font-lock-misc-punctuation-face

用于非括号、非定界符的其他标点。 该外观默认继承自 font-lock-punctuation-face


emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike