Lua长字符串不能正常显示,使用geshi语法高亮化。

我正在将新的 Lua 代码存储到使用 geshi 语法高亮器(由 PHP 编写)的 Dokuwiki 系统中。然而,我在处理 Lua 中的长字符串定义时遇到了问题,例如

strLong =[[如果这是一个长字符串,那么我不希望它
被突出显示为代码,否则它看起来很傻]]

可以使用 geshi lua.php 文件来进行更正。我已经快速查阅了文档,多行注释运行良好,只是多行字符串不行。

原文链接 https://stackoverflow.com/questions/3659606

点赞
stackoverflow用户438753
stackoverflow用户438753

感谢 geshi-users 列表上的 Benny Baumann

在 GeSHi 1.0.X 中,字符串有一个限制,即开始和结束标记需要相同。如果不能满足这个限制,就必须使用 COMMENT_REGEXP 来突出显示字符串。

要正确地着色长字符串,需要在 lua.php 中的 $language_data = array () 中添加以下内容:

    'COMMENT_REGEXP' => array(2 => '/\[\[(?s:.*?)\]\]/'),

在样式表中添加以下内容:

.lua  .co2  { color: #ff0000; font-style: normal;}

当在 Lua 源上使用时,这会仅仅改变第二种注释类型的外观,使其看起来像一个字符串。

2010-09-09 11:58:26