4

現在、 Google prettifyとここで見つけたファイルを使用して、自分の Web サイトで Ada コードを強調表示しようとしています。ただし、後のファイルを prettify で使用することはできず、自動言語検出によって ' 文字 (Array'first または integer'image など) で属性が台無しになり、それらが文字列の区切り記号として強調表示されます。

たとえば、次のサンプル コードがあり、自分のページで正しく書式設定したいと考えています。

procedure mergesort (V: in out TV_integer; iterations: in out integer) is
-- {} => {V is sorted}
    m : integer := (V'first + V'last) / 2;
begin -- mergesort
    if V'length > 1 then
        mergesort(V(V'first..m), iterations);
        mergesort(V(m+1..V'last), iterations);
        merge(V(V'first..m),V(m+1..V'last),V,iterations);
    end if;
end mergesort;

どんな助けでも大歓迎です。

編集: pre class="prettyprint lang-ada"タグを使用して、lang-ada カスタム スクリプトを使用しようとしましたが、成功しませんでした。

4

2 に答える 2

9

私は google code prettify 用の Ada lexer の作成者です。これを使用するには、これをページに追加します。

<head>
    <!-- ... -->

    <link href="css/prettify.css" media="screen" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/prettify.js"></script>
    <script type="text/javascript" src="js/lang-ada.js"></script>
</head>

<body onload="prettyPrint()">

自動ローダーは使用しないでください。カスタム lexers は使用されません (Google コード prettify のファイルを配置する場所へのパスを変更します)。それが完了したら、次のようにウェブサイトのコードを強調表示できます。

<pre class="prettyprint lang-ada"><code>
-- Ada code
</code></pre>

または、タグにクラスを追加できないマークダウンなどを使用している場合:

<?prettify lang=ada?>
<pre><code>
-- here goes your Ada code
</code></pre>

ところで、Ada lexer は Ada 属性をクラスatn(デフォルトでは紫色) でマークします。他のコードと同じ色にしたい場合は、編集してprettify.cssください。

于 2013-11-21T18:56:44.343 に答える
2

Ada はサポートされていません。lexer は fordprefect86 によって提出されましたが、(まだ) 含まれていません。詳細については、 Issue 312を参照してください

于 2013-11-21T17:03:43.997 に答える