True Template — использование текстовых шаблонов при написании кода

Здесь можно обсудить ваш любимый плагин.
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Re: True Template

Post by Andrey Budko »

Latest post of the previous page:

zg wrote:

Code: Select all

char s[MAX_STR_LEN];
lstrcpyn(s, gs.StringText, gs.StringLength+1)
автор этих строк забыл как работает lstrcpyn?
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: True Template

Post by zg »

Andrey Budko wrote:
zg wrote:

Code: Select all

char s[MAX_STR_LEN];
lstrcpyn(s, gs.StringText, gs.StringLength+1)
автор этих строк забыл как работает lstrcpyn?
да, забыл :)
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Re: True Template

Post by Tim Sobolev »

zg wrote:
Andrey Budko wrote:
zg wrote:

Code: Select all

char s[MAX_STR_LEN];
lstrcpyn(s, gs.StringText, gs.StringLength+1)
автор этих строк забыл как работает lstrcpyn?
да, забыл :)
ну, кто автор этих строк щас выяснить трудновато 8)

а вообще в планах переписать все это дело, используя динамический буфер и секьюрные функи CRT (strcpy_s и strncpy_s). Но это в очереди после Exe Browser...

PS. Или вообще забодяжить все на шаблонах...
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: True Template

Post by Kildor »

А вот ещё бага.
У меня трутемплейт стабильно крашится на втором фаре, при попытке ввести пробел в пустую строку.

Точнее, до последних билдов крашился только тру-темплейт, а вот после последнего обновления фара — начал крашиться и фар (с повреждением стека). FStd_trap.log не содержит ничего путного.

Ошибка вызова плагина. Исключительная ситуация:
Нарушение доступа (чтение из 0xFFFFFFFF)
Адрес исключения - 0x1000E5C6, модуль: true-tpl.dll
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Re: True Template

Post by Tim Sobolev »

Сабж начал переписываться с нуля, под именем "True-Template+", только под фар версий 2.00+, совместимость шаблонов останется, возможно появится поддержка шаблонов в стиле "WebEditor".
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: True Template

Post by Kildor »

Здорово!
Нужна будет помощь как тестера -- обращайся, я кажется достаточно неплохо изучил его и шаблоны.
Ну и вообще, всякая скриптовая-веб-кухня -- готов выдать свой пакет.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
topmo3
Posts: 155
Joined: Mon 21 Aug, 2006 15:36
Has thanked: 35 times
Been thanked: 6 times

Re: True Template

Post by topmo3 »

слышал, с помошью сабжа можно пристроить компилятор к редактору. а где его скачать-то, этот TrueTemplate (для Far 2.0)?
User avatar
Wave
Posts: 1885
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

Re: True Template

Post by Wave »

Tim Sobolev wrote:Сабж начал переписываться с нуля, под именем "True-Template+", только под фар версий 2.00+, совместимость шаблонов останется, возможно появится поддержка шаблонов в стиле "WebEditor".
Можно поинтересоваться, как идут дела?
Пользуюсь ФАРом больше 20 лет © собирательный.
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: True Template

Post by Kildor »

Вопросы.

Хочу сделать дословно следующее:
«Все элементы, которые имеют особенность много раз повторяться строка за строкой, теперь имеют механизм, который позволяет после написания первой строки сразу же приступать к написанию второй — достаточно нажать Tab после одного из следующих закрывающих тегов: </p>, </li>, </tr>, </th>, </td> или </option>.»

Всплыли странности.


Следующий вопрос (скорее пожелание).

Есть у меня такой блок подстановок

Атрибут To разбит на несколько строк для удобства.
Соответственно, когда я набираю && Space, то появляется меню:

Code: Select all

'&' - Ampersand♪◙
'"' - Quote♪◙
Судя по всему плагин не выедает символы перевода строки. Не на что это не влияет, исключительно «некрасиво». Можно ли сделать такую фильтрацию?
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: True Template

Post by Kildor »

Сделал полурабочую схему для фаровских макросов.

Что готово: Макрокоманды. Разделённые по областям свойства и функции, и кое-что по мелочам.
Что не готово:
Общие функции.
Как работает:
Первый символ области плюс точка по пробелу либо по второй точке раскрывается в область. Раскрытая область + две точки дают меню с выбором свойств и функций, либо (в редакторе) для выбора функций надо использовать .?.

$$$ (по третьему $) даёт меню с выбором макрокоманд.

Бонусом, в меню указываются параметры, включая необязательные, также такие необязательные аргументы рисуются в редакторе (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). Кроме того поправил инклюд файла в случае

Code: Select all

<Expand Pattern="newPHP" Name="PHP Template" Init="1" At="&AnyWhere;" To="\?'File description'e''?\i'$\templates\includes\begin.php'"/>
. У меня оно не срабатывало.

В архиве: Собранный плагин+модифицированные исходники+ файл проекта для C::B+ дефайны для GCC+ файлики true-text-fml.xml, true-text-macro.xml, true-text-macro-common.xml
Так как в остальном шаблоны у меня крайне модифицированные, и я не готов их показывать широкой публике, даю кусок для подключения:
Attachments
TrueTemplate.7z
Собранный плагин+модифицированные исходники+ файлики true-text-fml.xml, true-text-macro.xml, true-text-macro-common.xml
(177.69 KiB) Downloaded 200 times
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
lordmuzer
Posts: 533
Joined: Mon 12 Nov, 2007 22:05
Location: Киев
Has thanked: 20 times
Contact:

Re: True Template

Post by lordmuzer »

а собрать unicode версию реально ?
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: True Template

Post by Max Rusov »

Очень хочется "Group undo". Может это в FAR 1.75 тоже есть?...
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: True Template

Post by Kildor »

> а собрать unicode версию реально ?
не-а.
Во всяком случае я это не осилю в принципе.

> Очень хочется "Group undo". Может это в FAR 1.75 тоже есть?...
Тоже хочется, но не-а.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
lordmuzer
Posts: 533
Joined: Mon 12 Nov, 2007 22:05
Location: Киев
Has thanked: 20 times
Contact:

Re: True Template

Post by lordmuzer »

Kildor
жаль, хороший плагин, даже отличный я бы сказал. но без юникода как то не спокойно его использовать
а почему Вы не хотите поделится своими шаблонами ?
я только начал его ковырять, и готовые примеры бы здорово помогли.
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: True Template

Post by Kildor »

> а почему Вы не хотите поделится своими шаблонами ?
А кто такой Вы, и почему, спрашивая у этого персонажа, ты обращаешься ко мне?

Я отказываюсь отвечать на вопросы, заданные таким тоном. :-D

А если серьёзно — нечем там делиться. Мои шаблоны в целом пока представляют собой собранные на коленках лоскутки. За исключением как-раз far.macro, который я собственно уже представил и вскоре обновлю.

> жаль, хороший плагин, даже отличный я бы сказал. но без юникода как то не спокойно его использовать
Есть такая фигня. Дружно ждём Тима, который обещал когда-нибудь переписать его с нуля (но с +/- сохранением совместимости по шаблонам).
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: True Template

Post by Max Rusov »

А вот интересно, ANSI плагин, может узнать, что он на самом деле работает под враппером в FAR2 и обойдя враппер обратиться напрямую к FAR2 API? Или это очень плохая идея?...
Post Reply

Return to “Обсуждение плагинов”