Длинные строки Lua не отображаются правильно с помощью подсветки синтаксиса geshi

Я храню свой новый код Lua в системе Dokuwiki, которая использует маркер geshi (написанный на php). Как только у меня возникают проблемы с длинными определениями строк, например, в 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 и многострочные комментарии работают нормально, это просто многострочные строки которые не являются

1 ответ

Решение

Благодаря Бенни Бауманн в списке геши-пользователей

Строки в GeSHi 1.0.X имеют ограничение, что маркер начала и конца должны быть одинаковыми. Если это ограничение не выполняется, вы должны прибегнуть к выделению строк с помощью COMMENT_REGEXP.

Чтобы правильно раскрасить длинные строки в lua.php В массиве $language_data = (добавить

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

В таблицу стилей добавить

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

изменить только второй тип комментария, чтобы он выглядел как строка, когда используется на источнике Lua.

Другие вопросы по тегам