Как задать начало блока, если

22 views
Skip to first unread message

Denis Postanogov

unread,
Jun 19, 2013, 5:38:17 AM6/19/13
to color...@googlegroups.com
Здравствуйте,

Стоит такая задача:  подсвечивать в shell-скриптах блоки перла (awk и других языков).

Проблема: начало блока <block start=... требуется искать сразу в нескольких строках.

Пример (немного искусственный):

================= НАЧАЛО sh-скрипта
#!/bin/sh

perl \
-mMODULE1 \
-mMODULE2 \
-e '
while ( <> ) {
chomp $_;
print "input line length: " . length($_) . "\n";
}
'
КОНЕЦ ================== 

Начало блока хотелось бы задать регулярным выражением от perl до -e '.
Между ними может быть перевод строки (в реальной жизни имеются сотни таких скриптов с миксом shell, awk, perl и т.п.). 

В HRC Language Reference указано, что многострочный regex возможен только для тега <firstline>.

Можно ли использовать тот факт, что незаконченные строки кончаются бэк-слэшем \?

Спасибо,
Денис


Aleksey Dobrunov

unread,
Jun 19, 2013, 6:17:21 AM6/19/13
to color...@googlegroups.com
Добрый день.

Да, на текущий момент анализ идет по одной строке. 
Для реализации данной задачи можно пойти путем создания двух блоков. первый реагирует на одну строку от perl до -e' . Второй смотрит от -e' до ' . а между блоками добавить regexp на покраску   строк заканчивающихся на \  в цвет блока perl... -e. 

Алексей.


19 июня 2013 г., 15:38 пользователь Denis Postanogov <den...@gmail.com> написал:


--
Вы получили это сообщение, поскольку подписаны на группу Колорер по русски.
 
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес colorer_ru+...@googlegroups.com.
Настройки подписки и доставки писем: https://groups.google.com/groups/opt_out.
 
 

Reply all
Reply to author
Forward
0 new messages