добрый день, товарищи!
на форуме electronix.ru поступила просьба о расширение количества ключевых слов для folding-a языка Verilog. т.к. стандарт этого языка вышел уже 2005 году с расширенным синтаксисом, а ключевые слова для фолдинга конечному пользователю самостоятельно изменить не представляется возможным, т.к. они намертво зашиты в парсере scintilla
http://scite-ru.googlecode.com/svn/trunk/src/scintilla/src/LexVerilog.cxx в функции
FoldNoBoxVerilogDoc. чтобы не вносить принципиальных изменений в логику парсера (имею ввиду добавить возможность пользователю определять этот список) не могли бы вы в следующий раз пересобрать редактор с добавлением 3 новых ключевых слов для фолдинга, а именно: блок if на строке 239 указанного файла:
Код: if (style == SCE_V_WORD && stylePrev != SCE_V_WORD) {
unsigned int j = i;
if (styler.Match(j, "case") ||
styler.Match(j, "casex") ||
styler.Match(j, "casez") ||
styler.Match(j, "function") ||
styler.Match(j, "fork") ||
styler.Match(j, "table") ||
styler.Match(j, "task") ||
styler.Match(j, "generate") ||
styler.Match(j, "specify") ||
styler.Match(j, "primitive") ||
(styler.Match(j, "module") && foldAtModule) ||
styler.Match(j, "begin")) {
levelNext++;
} else if (styler.Match(j, "endcase") ||
styler.Match(j, "endfunction") ||
styler.Match(j, "join") ||
styler.Match(j, "endtask") ||
styler.Match(j, "endgenerate") ||
styler.Match(j, "endtable") ||
styler.Match(j, "endspecify") ||
styler.Match(j, "endprimitive") ||
(styler.Match(j, "endmodule") && foldAtModule) ||
(styler.Match(j, "end") && !IsAWordChar(styler.SafeGetCharAt(j+3)))) {
levelNext--;
}