Page 78 of 99
Posted: Fri Jul 10, 2015 8:56 am
by FeyFre
Предвкушаю вопросы:
если закрывающий тег является открывающим тегом следующего блока?
Code: Select all
#if cond
...
#elseif cond2
...
#endif
Может ввести в заблуждение если скрыто неправильно
Posted: Mon Jul 13, 2015 8:46 am
by Drugmix
FeyFre
да, хороший вопрос.
Я не подумал об этом, т.к. у меня сворачивание кода в блоки идёт по тегам "{" и "}" и хоть синтаксис и позволяет, но я никогда не использую "} else {".
Всё зависит от реализации:
если настройка будет глобальной - то да, возможны проблемы;
если локальной для каждого правила - то для таких случаев удобней делать правило "#if - #elseif" без сворачивания закрывающего тега, а правило "#elseif - #endif" уже произвольно, по желанию.
Либо и вовсе ограничиться "#if - #endif".
А ещё против снизить вероятность заблуждения в описанной ситуации можно используя отступы для кода внутри блоков.
Posted: Mon Jul 13, 2015 9:26 am
by Skif_off
FeyFre
Drugmix
Вероятно, будет ещё один флаг, необязательный, разве это проблема? Если закрывающий тег одновременно и открывающий другого блока зачем его скрывать? Добавляете флаг - знаете, что делаете. Или сами себе злобный Буратино.
Posted: Mon Jul 13, 2015 9:53 pm
by FeyFre
Skif_off
Не проблема. Прикол в том что лучше я заранее упомяну потенциальное спорное место и Инструктор о нем не забудет и спокойно позаботится, чем потом после релиза буде срочно доделывать.
Posted: Sun Aug 02, 2015 7:14 am
by Skif_off
Не удержался от любопытства, собрать пока нет возможности, полез в CVS:
строка 4616 и ниже - чтение опций плага, там есть HideFoldEnd, т.е. фича глобальная?
Posted: Sun Aug 09, 2015 3:20 pm
by FeyFre
В очередной раз настаиваю на создании
java.coder. В cpp.coder не место.
Posted: Sun Aug 09, 2015 6:06 pm
by Cuprum
В coder-файле в QuotesRE не могу добиться обработки вложенных скобок. Правило:
Code: Select all
0 "(\w(\d)\w)" "\1=(0,${VAR},0) \2=(0,${TAG},0)"
в строке
a1a подсвечивает всю строку целиком цветом VAR. Как подсветить цифру в центре другим цветом? Или поддерживаются только последовательные выражения в скобках?
Posted: Sun Aug 09, 2015 6:33 pm
by Skif_off
Cuprum
Последавательно, регулярное выражение с группами же.
Code: Select all
0 "(\w)(\d)(\w)" "\1=(0,${VAR},0) \2=(0,${TAG},0) \3=(0,${VAR},0)"
Posted: Mon Aug 10, 2015 8:19 am
by Instructor
FeyFre
Можно переименовать в "_java.coder" и удалить "cache" - будет использоваться ваш файл вместо "cpp.coder".
Posted: Mon Aug 10, 2015 10:36 am
by FeyFre
Instructor
Та знаю я знаю. Для себя я делаю как мне удобно, мне не лень из cpp.coder удалить лишнее. Но в последнее время я уж слишком часто это делаю, при этом не понимаю по каким причинам java-у в семью С/С++ включили.
Posted: Tue Aug 11, 2015 10:12 am
by Cuprum
Товарищи, как можно обрабатывать множественные появления текста внутри диапазона в coder-файле? Есть такая строка:
**Some text to show that the *reference* links *follow* later**
К примеру, строку целиком (между ** и **) надо подсветить одним цветом, но внутри ее, текст в одиночных * надо закрасить другим. Через регулярку в QuotesRE получается сделать, только если внутри строки единственное вхождение текста в одиночных *, т. е.
**Some text to show that the *follow* later**
Но хочется обрабатывать все вхождения.
Posted: Tue Aug 11, 2015 1:49 pm
by Instructor
Cuprum
С
тестовой можно так попробовать:
Code: Select all
QuotesRE:
;===========================================================================
;Flags Pattern \BackRef=(FontStyle,ColorText,ColorBk) \BackRef=...
;===========================================================================
1 "(?:(?<=\*)|(?=\*))([^\*]*+)(?:(\*\*)|(\*.+?\*))" `\1=(0,${STR},0) \2=(0,${STR},0) \3=(0,${NUM},0)`
Posted: Tue Aug 11, 2015 2:40 pm
by Cuprum
Instructor
На тестовой работает, спасибо!!
Правда я слегка припух от такой конструкции
Буду разбираться в паттерне.
Posted: Tue Aug 11, 2015 5:18 pm
by FeyFre
Posted: Wed Aug 12, 2015 10:59 am
by Instructor
Cuprum,
FeyFre
Пользуюсь
http://regex101.com/