既知の問題

Prism がコードを正しく強調表示しない珍しい特殊事例のリストです。

Prism が失敗する特定の特殊事例があります。このような事例は、正規表現ベースの構文ハイライターには常にあるものです。
ただし、Prism はそれに関してオープンかつ正直であるようにしています。ここでは、失敗がリストされていても、修正されないという意味ではありません。これはむしろ「既知のバグ」リストであり、単にバグのタイプが異なるだけです。

コメントはネスト化レベル 1 のみサポート

(* Nested block
	(* comments
		(* on more than
		2 levels *)
	are *)
not supported *)

ネスト化されたブロックコメント

#cs
	#cs
		foo()
	#ce
#ce

C セクション内でのネスト化レベル 2

{
	if($1) {
		if($2) {

		}
	}
} // <- Broken
%%
%%

コメントはネスト化レベル 1 のみサポート

/+ /+ /+ this does not work +/ +/ +/

トークン文字列はネスト化レベル 1 のみサポート

q{ q{ q{ this does not work } } }

単一引用符で囲まれた文字列での文字列補完

'#{:atom} <- this should not be highligted'

同じ行での 2 つの割り当て

2 / 3 / 4

数字から始まる名前

The box 1A is a container

閉じ括弧を含む文字列補完

`${ /* } */ a + b }`
`${ '}' }`

深度にネスト化された括弧を使用した文字列補完

`${foo({ a: { b: { c: true } } })}`

変数のように見える at ルール

@import "some file.less";

補完を含む at ルール

@import "@{themes}/tidal-wave.less";

extend は一貫して強調表示されない

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.

補完内のネスト化された括弧のレベルが 1 を超える

"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;

非推奨の Sass 構文はサポートされません

.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 */

Textile 内の HTML はサポートされていません

ただし、HTML 内の Textile は問題ありません。

<strong>This _should_ work properly.</strong>
*But this is <em>definitely</em> broken.*

Twig を含むタグは強調表示されません

<div{% if foo %} class="bar"{% endif %}></div>

ネスト化された magic word はサポートされていません

{{#switch:{{PAGENAME}}
| L'Aquila = No translation
| L = Not OK
| L'Aquila = Entity escaping
| L'Aquila = Numeric char encoding
}}

ボールドとイタリックのネスト化はサポートされていません

''Italic with '''bold''' inside''

テーマ

テーマの中には、特定のレイアウトと互換性がないものもあります。

Coy

Coy のシャドウと背景は、float や flexbox レイアウトと組み合わせると、コードを正しく囲まない場合があります。

回避策

2 つ考えられる回避策があります

1 つ目は、pre 要素に display: flex-root; を設定することです。これにより問題は修正されますが、flex-rootブラウザーサポートは限定的 です。

2 つ目は、pre 要素のスタイルに clear: both; を追加することです。これにより問題は修正されますが、コードブロックと他の要素が重なった場合の動きが変わります。