4

我目前正在尝试使用google prettify和我在这里找到的文件在我的网站上突出显示 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

我是 Ada lexer for google code prettify 的作者。要使用它,请将其添加到您的页面:

<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()">

不要使用自动加载器,它不会使用自定义词法分析器(将路径更改为放置谷歌代码美化文件的位置)。完成后,您可以像这样突出显示您网站上的代码:

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

或者如果您使用降价或其他阻止您向标签添加类的东西:

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

顺便说一句,Ada 词法分析器将用类标记 Ada 属性atn(默认情况下为紫色)。如果您希望它们与其他代码具有相同的颜色,只需编辑prettify.css.

于 2013-11-21T18:56:44.343 回答
2

不支持艾达。一个词法分析器已由 fordprefect86 提交,但(尚未)包括在内。有关详细信息,请参阅问题 312

于 2013-11-21T17:03:43.997 回答