参考范围
样式化范围
通用范围旨在用于任何语言,但在语义正确时也可以使用其他范围。例如,如果您有一种允许内联 URL 的通用语言:
var GOOGLE = 'https://www.google.com/'
即使您的语言不是标记语言,使用link
类也是合理的。但是,许多主题在设计时可能没有考虑到这一点,所以更好的选择(为了获得最佳主题支持)可能是string
。
一般用途 | |
---|---|
keyword | 常规 Algol 风格语言中的关键字 |
built_in | 内置或库对象(常量、类、函数) |
type | 数据类型,如:string ,int |
literal | 特殊字符,如:true ,false |
number | 数字 |
operator | 运算符 |
punctuation | 标点符号 |
property | 对象属性,如:obj.prop1.prop2.value |
regexp | 正则表达式 |
string | 字符串,字符 |
char.escape | 转义字符\n |
subst | 子字符串 |
symbol | symbol |
class | 类 |
function | 函数 |
variable | 变量 |
variable.language | 语言关键字,如:this ,window ,super |
variable.constant | 常量 |
title | 类或函数的名称 |
title.class | 类名称 |
title.class.inherited | 继承的类名称 |
title.function | 函数名 |
title.function.invoke | 函数名(被调用时) |
params | 声明的函数参数 |
comment | 注释 |
doctag | 注释中的文档标记,如:@params |
Meta | |
meta | 标志、修饰符、注释、处理指令、预处理器指令等 |
meta prompt | REPL或shell提示或类似 |
meta keyword | 内嵌在meta中的关键字 |
meta string | 内嵌在meta中的字符串 |
标签,属性,配置 | |
section | 配置文件中章节的标题,文本标记中的标题 |
tag | XML/HTML标签 |
name | XML标签名称 |
attr | 没有语言定义语义的属性名称,如JSON键 |
attribute | 后跟结构化值部分的属性名称,如CSS属性 |
文本标记 | |
bullet | 列表项符号 |
code | 代码 |
emphasis | 强调 |
strong | 强烈强调 |
formula | 数学公式 |
link | 超链接 |
quote | 引用或块引用 |
CSS | |
selector-tag | 标签选择器 |
selector-id | #id 选择器 |
selector-class | .class 选择器 |
selector-attr | [attr] 选择器 |
selector-pseudo | :pseudo 选择器 |
模板 | |
template-tag | 模板标签 |
template-variable | 模板变量 |
差异 | |
addition | 添加或修改线 |
deletion | 删除线 |
子作用域
上面的一些作用域名称具有一个.
,我们使用这种表示法来指定子作用域。在生成的HTML中,这将输出多个计算出来的类名。嵌套的深度决定了附加到子作用域名称的下划线的数量。例如,我们说的作用域title.class.other
。
生成的CSS类名如下:
hljs-title
class_
other__
顶层作用域始终是应用了配置前缀的作用域。
生成的HTML将是:
<span class="hljs-title class_ other__">Render</span>
然后一个主题可以简单地使用以下CSS:
.hljs-title.class_.other__ {
color: blue;
}
新增作用域
最近添加的一些作用域不支持通用主题。对于没有支持的主题,这些项目将不会被高亮显示。这并不意味着不使用它们,只是随着支持的改进,它们会被更好地高亮显示。
这些作用域的列表:
- 运算符
- 标点符号
- 属性
保留项
下面的作用域(ReasonML)出于文档的扩展目的留在这里,但可能不会用于其他语法,因为它们在所有主题中都没有得到很好的支持。
ReasonML | |
---|---|
pattern-match | 模式匹配器 |
typing | 对函数参数进行类型签名 |
constructor | 类型构造函数 |
module-access | 对模块的范围访问 |
module | 范围访问中的模块引用 |