我目前正在尝试使用google prettify和我找到的here文件突出显示我网站上的Ada代码。 但是,我无法使用后期文件进行美化,并且自动语言检测会使用'字符(例如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自定义脚本,但没有成功。
答案 0 :(得分:7)
我是谷歌代码美化的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()">
不使用自动加载器,它不会使用自定义词法分析器(更改您放置谷歌代码文件美化的路径)。完成后,您可以在网站上突出显示以下代码:
<pre class="prettyprint lang-ada"><code>
-- Ada code
</code></pre>
或者如果您使用markdown或其他阻止您向代码添加类的内容:
<?prettify lang=ada?>
<pre><code>
-- here goes your Ada code
</code></pre>
顺便说一下,Ada词法分析器会将Ada属性标记为atn
类(默认为紫色)。如果您希望它们与其他代码具有相同的颜色,只需编辑prettify.css
。
答案 1 :(得分:2)
不支持Ada。 fordprefect86已经提交了词法分析器,但尚未包括在内。 有关详细信息,请参阅Issue 312