لا تظهر سلاسل لوا الطويلة بشكل صحيح باستخدام تسليط الضوء على بناء جملة Geshi
سؤال
أقوم بتخزين رمز LUA الجديد في نظام Dokuwiki الذي يستخدم Geshi Highlighter (مكتوب في PHP). كيف أواجه مشكلة في تعريفات السلسلة الطويلة في لوا على سبيل المثال
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 والتعليقات المتعددة تعمل بشكل جيد ، إنها مجرد سلاسل متعددة غير موجودة.
المحلول
بفضل بيني بومان على قائمة مستخدمي Geshi
الأوتار في Geshi 1.0.x لها القيد الذي يجب أن يكون علامة البدء والنهاية هو نفسه. إذا لم يتم الوفاء بهذا القيد ، فيجب عليك اللجوء إلى تسليط الضوء على الأوتار باستخدام Comment_regexp.
لتلوين رمز الأوتار الطويلة بشكل صحيح في lua.php في $ language_data = صفيف (أضف
'COMMENT_REGEXP' => array(2 => '/\[\[(?s:.*?)\]\]/'),
في ورقة الأنماط إضافة
.lua .co2 { color: #ff0000; font-style: normal;}
لتغيير نوع التعليق الثاني فقط لتبدو وكأنه سلسلة ، عند استخدامها على مصدر لوا.