Длинные строки 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.