а вообще в планах переписать все это дело, используя динамический буфер и секьюрные функи CRT (strcpy_s и strncpy_s). Но это в очереди после Exe Browser...
А вот ещё бага.
У меня трутемплейт стабильно крашится на втором фаре, при попытке ввести пробел в пустую строку.
Точнее, до последних билдов крашился только тру-темплейт, а вот после последнего обновления фара — начал крашиться и фар (с повреждением стека). FStd_trap.log не содержит ничего путного.
Ошибка вызова плагина. Исключительная ситуация:
Нарушение доступа (чтение из 0xFFFFFFFF)
Адрес исключения - 0x1000E5C6, модуль: true-tpl.dll
Сабж начал переписываться с нуля, под именем "True-Template+", только под фар версий 2.00+, совместимость шаблонов останется, возможно появится поддержка шаблонов в стиле "WebEditor".
Здорово!
Нужна будет помощь как тестера -- обращайся, я кажется достаточно неплохо изучил его и шаблоны.
Ну и вообще, всякая скриптовая-веб-кухня -- готов выдать свой пакет.
Tim Sobolev wrote:Сабж начал переписываться с нуля, под именем "True-Template+", только под фар версий 2.00+, совместимость шаблонов останется, возможно появится поддержка шаблонов в стиле "WebEditor".
Хочу сделать дословно следующее:
«Все элементы, которые имеют особенность много раз повторяться строка за строкой, теперь имеют механизм, который позволяет после написания первой строки сразу же приступать к написанию второй — достаточно нажать Tab после одного из следующих закрывающих тегов: </p>, </li>, </tr>, </th>, </td> или </option>.»
Всплыли странности.
<Expand Pattern="</p>>" To="</p>\n<p>\p</p>" Imm=">" At="&End;" />
Работает, но во первых не по Tab, а на >, во вторых только для p
<Expand Pattern="</(p)>>" To="</\$1>\n<\$1>\p</\$1>" Imm=">" At="&End;" />
работает странно, превращая
</p> в
Если убрать трюк с imm, и вешать срабатывание на пробел, то картина аналогичная.
<Expand Pattern="</(p|li)>>" To="</\$1>\n<\$1>\p</\$1>" Imm=">" At="&End;" />
уже не работает совсем.
На Tab срабатывание подстановки мне повешать не удалось в принципе.
------------------------
Соответственно непонятки:
1. Откуда лишний >
2. Почему не работает регулярка?
3. Как повесить срабатывание на Tab?
Что готово: Макрокоманды. Разделённые по областям свойства и функции, и кое-что по мелочам. Что не готово:
Общие функции.
Как работает:
Первый символ области плюс точка по пробелу либо по второй точке раскрывается в область. Раскрытая область + две точки дают меню с выбором свойств и функций, либо (в редакторе) для выбора функций надо использовать .?.
$$$ (по третьему $) даёт меню с выбором макрокоманд.
Бонусом, в меню указываются параметры, включая необязательные, также такие необязательные аргументы рисуются в редакторе (Editor.pos(, [, ]))
Для того, чтоб было удобнее с таким жить, рекомендую поставить макрос на Del, который будет удалять всю необязательную часть по одному нажатию.
Я поковырял исходники плагина на вопрос «откуда берётся лишний символ в случае <Expand Pattern="12(3)45" To="_-\$1-_"/> (выдаётся 34 вместо 3)». Исправил влоб, вроде никаких сторонних эффектов не увидел.
Попутно добавил фильтрацию \n в меню
Ещё, к \$[0-9] добавил \$l[0-9] и \$u[0-9] (преобразовать регистр соответствующей подстановки).
Ну и напоследок, тут и там раскидал по коду const (иначе не собиралось в C::B+minGW). Кроме того поправил инклюд файла в случае
В архиве: Собранный плагин+модифицированные исходники+ файл проекта для C::B+ дефайны для GCC+ файлики true-text-fml.xml, true-text-macro.xml, true-text-macro-common.xml
Так как в остальном шаблоны у меня крайне модифицированные, и я не готов их показывать широкой публике, даю кусок для подключения:
Kildor
жаль, хороший плагин, даже отличный я бы сказал. но без юникода как то не спокойно его использовать
а почему Вы не хотите поделится своими шаблонами ?
я только начал его ковырять, и готовые примеры бы здорово помогли.
> а почему Вы не хотите поделится своими шаблонами ?
А кто такой Вы, и почему, спрашивая у этого персонажа, ты обращаешься ко мне?
Я отказываюсь отвечать на вопросы, заданные таким тоном.
А если серьёзно — нечем там делиться. Мои шаблоны в целом пока представляют собой собранные на коленках лоскутки. За исключением как-раз far.macro, который я собственно уже представил и вскоре обновлю.
> жаль, хороший плагин, даже отличный я бы сказал. но без юникода как то не спокойно его использовать
Есть такая фигня. Дружно ждём Тима, который обещал когда-нибудь переписать его с нуля (но с +/- сохранением совместимости по шаблонам).
А вот интересно, ANSI плагин, может узнать, что он на самом деле работает под враппером в FAR2 и обойдя враппер обратиться напрямую к FAR2 API? Или это очень плохая идея?...