在某些罕见的极端情况下,Prism 对代码的高亮显示不正确。
Prism 会出现故障的极端情况有一些。在任何基于正则表达式的语法高亮显示器中始终存在此类情况。
然而,Prism 敢于公开这种情况并诚实地加以说明。如果某个故障在此处列出,并不意味着它永远无法修复。此情况更像是一种“已知故障”列表,只不过列出了某种类型的故障。
(* Nested block
(* comments
(* on more than
2 levels *)
are *)
not supported *)
#cs
#cs
foo()
#ce
#ce
{
if($1) {
if($2) {
}
}
} // <- Broken
%%
%%
/+ /+ /+ this does not work +/ +/ +/
q{ q{ q{ this does not work } } }
'#{:atom} <- this should not be highligted'
2 / 3 / 4
The box 1A is a container
`${ /* } */ a + b }`
`${ '}' }`
`${foo({ a: { b: { c: true } } })}`
@import "some file.less";
@import "@{themes}/tidal-wave.less";
nav ul {
&:extend(.inline);
background: blue;
}
.a:extend(.b) {}
foobar"param";
mov ax,1100_1000b
mov ax,1100_1000y
mov ax,0b1100_1000
mov ax,0y1100_1000
dd 1.222_222_222
# Doesn't work
# Does work
# Does work when prefixed with a space
^if(
$age>=4 # not too young
&& $age<=80 # and not too old
)
halt.
trace.
:- if(test1).
section_1.
:- elif(test2).
section_2.
:- elif(test3).
section_3.
:- else.
section_else.
:- endif.
"Foobar ${foo({
bar => {baz => 42}
baz => 42
})} <- broken"
{
或 }
的字符串的插值表达式f"{'}'}"
\d .
+---------------+----------+
| column 1 | column 2 |
+--------------+-----------+
| **bold**? | *italic*? |
+--------------+-----------+
不应该在以下代码中高亮显示任何内联标记。
2 * x a ** b (* BOM32_* ` `` _ __ |
"*" '|' (*) [*] {*} <*> ‘*’ ‚*‘ ‘*‚ ’*’ ‚*’ “*” „*“ “*„ ”*” „*” »*« ›*‹ «*» »*» ›*›
/* Nested block
/* comments
are */
not supported */
|x| x + 1i;
.page
color = 5px + 9px
!width = 13px
.icon
width = !width
a:hover
text-decoration: underline
/* Nested block
/* comments
are */
not supported */
case-lambda
参数列表的第一个参数高亮显示为函数(define plus
(case-lambda
(() 0)
((x) x)
((x y) (+ x y))
((x y z) (+ (+ x y) z))
(args (apply + args))))
/* Nested block
/* comments
are */
not supported */
但在 HTML 中的 Textile 应该完全没问题。
<strong>This _should_ work properly.</strong>
*But this is <em>definitely</em> broken.*
<div{% if foo %} class="bar"{% endif %}></div>
{{#switch:{{PAGENAME}}
| L'Aquila = No translation
| L = Not OK
| L'Aquila = Entity escaping
| L'Aquila = Numeric char encoding
}}
''Italic with '''bold''' inside''
我们的一些主题与某些布局不兼容。
如果结合了 float 或 flexbox 布局,Coy 的阴影和背景可能无法正确环绕代码。
有 2 种可能的变通方法
第一种变通方法是为 pre
元素设置 display: flex-root;
。这将解决问题,但 flex-root
具有有限的浏览器支持。
第二种方法是向 pre
元素的样式中添加 clear: both;
。这将解决问题,但它会改变代码块与其他元素重叠时的行为方式。