【问题标题】:Lua long strings not displaying correctly using geshi syntax highlighting使用 geshi 语法突出显示的 Lua 长字符串无法正确显示
【发布时间】:2010-09-09 19:58:26
【问题描述】:

我将我的新 Lua 代码存储到使用 geshi 荧光笔(用 php 编写)的 Dokuwiki 系统中。例如,我如何在 lua 中遇到长字符串定义的问题

strLong = [[If this is a long string then I don't want it 
highlighted as code else it looks very silly]]

可以使用 geshi lua.php 文件来纠正这个问题,我已经快速查看了http://qbnz.com/highlighter/geshi-doc.html 的文档,多行 cmets 工作正常,只是多行字符串不是。

【问题讨论】:

  • 我通常会将 Lua 代码片段从 Markdown 代码(缩进四个空格)更改为被
     标记,因为 Lua 获得了古怪的突出显示。但是对于这个问题,将奇怪的突出显示保留为重点是有意义的。 ;-)
  • 谢谢,我的问题不在于这里的输出,我怀疑它使用了类似的荧光笔,而是我的知识库,因为它使用 geshi 来显示代码。我怀疑我可能需要深入研究 geshi 代码以获得答案,或者避免使用多行字符串。
  • 我对 Q 和 A 都投了赞成票,感谢您的努力.... Lua 的来源很好。我确实在 Windows 上使用的奇怪而古老的 emacs 克隆(来自 www.luguru.com 的 epsilon)中大惊小怪地使用了原始 Lua 模式,这样它会使缩进更接近正确。我当然衷心赞同修复荧光笔而不是避免使用[[...]] 字符串。
  • @RBerteig - 感谢您的投票,我将在 www.lugaru.com 上查看 epsilon,看看我是怎么做的。我通常使用 PsPad 在 Windows 上进行编辑。如果我需要发布任何代码,我会记得在这里使用预提示。
  • 我在 Windows 3.0 发布之前就开始在 DOS 上使用 epsilon,并且从那以后一直为升级付费。我不得不佩服一家如此顽固地经营着的公司。他们在看到他在 TeX Book 上的工作后聘请 Duane Bibby 来说明他们的手册,尽管你可以很容易地争辩说编辑手册不需要 插图......

标签: php lua geshi


【解决方案1】:

感谢 Benny Baumann 在 geshi-users 列表中

GeSHi 1.0.X 中的字符串有开始和结束标记的限制 需要相同。如果这个约束没有得到满足,你必须 求助于使用 COMMENT_REGEXP 突出显示字符串。

正确地对长字符串进行颜色编码 在 lua.php 在 $language_data = 数组 ( 添加

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

在样式表中添加

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

在 Lua 源中使用时,仅将第二种注释类型更改为看起来像一个字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-26
    • 2018-05-19
    • 2015-11-01
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多