В принципе ничего сложного нет. Необходимо для начала скачать модуль для Друпала geshifilter. В папке модуля необходимо залить в папку geshi непосредственно сам модуль GeSHi. Внутри этой папки есть опять папка geshi, в которой лежат настройки для каждого поддреживаемого языка.
Для 1С я создал там файл 1c7.php. И надо не забыть включить новый язык settings/geshifilter/languages.
За основу я сначала взял файл vb.php и все бы ничего, но не получалось подсветить красным цветом символы, типа "=", ";" и т.д. Помучался немного и взял за основу php.php, т.к. в нем подсветка символов работала. После недолгих экспериментов выяснилось, что массив для раздела 'SYMBOLS' надо обязательно начинать с нуля, а не с 1, как я пытался сделать в самом начале. Немного странно, т.к. теже 'KEYWORDS' в php.php начинаются с 1.
Ну а дальше надо только добавлять необходимые KEYWORDS.
Прикрепленный файл | Размер | Хиты | Последнее скачивание |
---|---|---|---|
1c7.php_.txt | 11.12 кб | 2616 | 1 день 17 часов назад |
Как говорится, сказал А, говори и Б.
Дополните, пожалуйста, Ваш пост:
1. Выложите здесь ваш вариант файла 1c7.php.
2. Уточните подробно как включить новый язык.
Заранее, спасибо.
P.S.: Кстати, Ваш пост идет первым в поиске http://www.google.ru/search?q=GeSHi+1C
Прикрепил файл. А вот на счет включения нового языка даже не знаю какие могут быть там проблемы.
А для 1С 8.1-8.2 подобный файл есть?
Я его и для 8-ки использую. Лень дополнять.
У меня ещё пара вопросов:
1. Как установить основной цвет текста (хочу сделать синий как в 1С)?
2. Как интегрировать geshi в ckeditor?
Буду очень благодарен за ответы.
По поводу первого вопроса. Посмотрел как у меня сделано. Код выводится в теге
<pre class="_1c7 geshifilter-1c7">
У вас, возможно, будет другой класс. В моем случае я просто для класса _1c7 прописал в css файле:
По второму вопросу не знаю. Не пробовал.
Почему-то некоторые ключевые слова не подсвечиваются (в частности, КонецПроцедуры). Хотя в файле языка они есть. Не подскажете, в чём может быть причина?
Глянул у себя, у меня подсвечивается. Но у меня почти всегда после КонецПроцедуры есть еще что-нибудь. Может быть у вас это самое последнее слово в коде и может быть из-за этого что-нибудь?
Отправить комментарий