Page 1 of 19

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

Posted: Fri 06 May, 2005 12:47
by Tim Sobolev
[анонс]

В версии 1.25 была найдена и исправлена бага c обработкой длинных имен, да вот автора выловить проблемно :-(. Кроме того, есть ряд предложений, которые скорее всего буду реализовать я сам, но все-таки желательно бы сконтактировать с автором. Кто постоянно общается с сабжем, помогите пожалуйста его найти?

ЗЫ. Fido`шники, может поможете?

Posted: Fri 06 May, 2005 18:31
by 4ekucT
Да ты пока изменяй исходники то доступны, а с автором мы потом чуть что договоримся :wink:
Я думаю если он выложил исходники, то знал на что шел...

Posted: Fri 20 May, 2005 20:00
by 4ekucT
Както эта версия (1.25,1.25+) хренова рботет. Юзал 1.24 все было ок, а теперь вот такая херь... Причем 50/50 то работает, то падает... Падает видимо когда меню создает или дето там.. Мот кто знает как лечить? Или у меня у одного такое как всегда ))

Code: Select all

╔═════════════════ Exception occurred ══════════════════╗    
║ Plugin     : Programming templates                    ║    
║ File name  : Z:\...ditor\TrueTemplate\True-Tpl.dll    ║    
║ Handle     : 110362624 (0x6940000)                    ║    
║ Exception  : Access violation (read from 0x00000000)  ║    
║ Address    : 0x06947D51                               ║    
║ Function   : OpenPlugin                               ║    
╟───────────────────────────────────────────────────────╢    
║ [x] Call ExitFAR on unload                            ║    
║ [ ] Reload unloaded plugin                            ║    
╟───────────────────────────────────────────────────────╢    
║         Unload  Skip error  External handler          ║    
╚═══════════════════════════════════════════════════════╝

Posted: Fri 20 May, 2005 20:02
by 4ekucT
забыл сказать проблемма появляется тогда когда пытаюсь компиллер запустить, он запускается, отрабатывает и когда пытается меню создать падает

Если никто не отзавется полезу в сурцы... Но так ломает. :?

Posted: Tue 24 May, 2005 02:33
by 4ekucT
Итак бага прибита

File: True-tpl.cpp
Line: 2304

Было
fnSplit(n2, drv, dir2, fil2, ext2);
Нужно
fnSplit(n2, tmp, dir2, fil2, ext2);
В противном случае пропадало имя диска изза специфики работы GetShortPathName
MSDN:
When an application calls this function and specifies a path on a volume that does not support 8.3 aliases, the function fails with ERROR_INVALID_PARAMETER if the path is longer than 67 bytes.

Posted: Tue 24 May, 2005 03:51
by 4ekucT
Нашел еще один очень прикольный баг. Если попытаться скомпилировать чтонить в каталоге (или подкаталогах) самого True-tpl, то также получим вылет по полной программе место вылита тут:

File: True-Tpl.cpp
Line: 2693
for ( unsigned i = 0 ; i < lng->compilerColl.getCount() ; i++ )
{
e = (TCompiler*)(lng->compilerColl);
.......
}


Что пирикольно так это то что lng->compilerColl.getCount() возвращает мильены этих компиляторов. гыгыгы :P
Кароче пока не выличим, в папке самого True-tpl ничего не компилировать :!:

Posted: Tue 24 May, 2005 12:30
by Onanymous
А можно попросить о паре мелких дополнений в плагине.
Во-первых было бы хорошо чтобы если данному типу файлов соответствовала только одна внешняя команда, то она выполнялась автоматически по f11 t e (т.е. список из одной команды не выпадал бы).
И еще хотелось бы чтобы в менюшке была возможность вывести список всех доступных структур для данного типа файла с автоматическим присвоением горячих клавиш (как в astruct), это очень удобно когда большое количество структур имеют длинное одинаковое начало (например в техе многие структуры начаинаются с \begin{что-то} ).

Posted: Wed 25 May, 2005 20:10
by 4ekucT
Onanymous wrote:А можно попросить о паре мелких дополнений в плагине.
Во-первых было бы хорошо чтобы если данному типу файлов соответствовала только одна внешняя команда, то она выполнялась автоматически по f11 t e (т.е. список из одной команды не выпадал бы).
Резонно, на выходных могу сделать. Или пусть Тим сделает. Кароче чуть что я навыходных добалю опцию.
Onanymous wrote: И еще хотелось бы чтобы в менюшке была возможность вывести список всех доступных структур для данного типа файла с автоматическим присвоением горячих клавиш (как в astruct), это очень удобно когда большое количество структур имеют длинное одинаковое начало (например в техе многие структуры начаинаются с \begin{что-то} ).
Чукча непонимать... Поподробней

Posted: Wed 25 May, 2005 20:56
by Onanymous
В плагине astruct, в каком-то смысле младшем брате этого, по ctrl+j вызывается список всех определенных для данного типа файла конструкций, то есть имен этих конструкций (в truetpl ведь есть тэг name у конструкции?), и в каждом имени подсвечена буква, нажмешь на эту клавишу и, о чудо, конструкция в тексте.
в truetpl можно было бы в менюшке плагина кроме `Template set selection' и `External command ' добавить скажем `Commands list' которая бы делала что-то в этом духе.

Posted: Wed 25 May, 2005 22:50
by 4ekucT
В тру темплайте это сделать не получится, потому что в файле это определяется как

<Expand Pattern="\{" At=".*\p" To="{\n \p\n}"/>


тоесть имени нету!

Есть выход покруче. Денис Давыдов как то мне прислал новую версию Templates (version 1.0.15). На плугринге вроде старая. Так вот там есть такая возможность - называется Snipets. Штука крутая. Посмотри если на плагринге старье то я могу прислать то что у меня есть. Но там уже не родной дистриб, а навернутый мною...

Posted: Thu 26 May, 2005 09:59
by Onanymous
Жаль. придется как обычно пользоваться тремя плагинами вместо одного нормального. Templates на plugring старый, 1.0.2, но он мне вообще не понравился ни с какого боку.

Posted: Thu 26 May, 2005 20:57
by 4ekucT
А какие ты юзаешь если не секрет?

Posted: Thu 26 May, 2005 23:30
by Onanymous
4ekucT wrote:А какие ты юзаешь если не секрет?
ну если в тему этой ветки то astruct, compiler, truetpl. но compiler наверное выкину после этих выходных :). А вообще непонятно, ассоциации файлов в панелях есть, а в редакторе уже нету, не поверю что есть существенная разница.

Posted: Fri 27 May, 2005 01:24
by 4ekucT
Кароче посмотрел я. Да в самом True-tpl такую менюшку сделсть вполне реально тока надо добавить в xml такую фишку

<Expand Name="public" Pattern="pu|blic" To="public:"/>
<Expand Name="private" Pattern="pri|vate" To="private:"/>
<Expand Name="&protected" Pattern="pro|tected" To="protected:"/>
<Expand Pattern="r|eturn" At="End" To="return \p;"/>
В этом случае меню будет таким:
public
private
[p]rotected

Такое впринципе сделать я могу, тока со сроками большой вопрос ибо вообще у меня диплом ща )))
Вообще интересно бы знать что об этом всем автор думает? Слухи прошли что t-rex с ним говорил.

Posted: Fri 27 May, 2005 16:48
by Onanymous
дык о сроках вообще разговора нет.
Если когда-нибудь соберешься, то тэг name стоит сделать необязательным, чтобы неименованные макросы в выпадающий список не входили (да и макросы из прежней поставки исправлять не придется). Я тоже глянул на код, боюсь увязну, я вообще не программист, а там ни одного коммента нету :), хотя попробовать могу если морально поддержишь. Надо только жену отправить сначала за пивом а потом в отпуск.