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

Здесь можно обсудить ваш любимый плагин.
Post Reply
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

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

Post by Tim Sobolev »

[анонс]

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

ЗЫ. Fido`шники, может поможете?
Last edited by HaRT on Fri 07 Apr, 2023 11:32, edited 1 time in total.
Reason: Расширен заголовок Темы
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

Да ты пока изменяй исходники то доступны, а с автором мы потом чуть что договоримся :wink:
Я думаю если он выложил исходники, то знал на что шел...
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post 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          ║    
╚═══════════════════════════════════════════════════════╝
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

забыл сказать проблемма появляется тогда когда пытаюсь компиллер запустить, он запускается, отрабатывает и когда пытается меню создать падает

Если никто не отзавется полезу в сурцы... Но так ломает. :?
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post 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.
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post 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 ничего не компилировать :!:
Onanymous
Posts: 76
Joined: Wed 16 Mar, 2005 11:18
Contact:

Post by Onanymous »

А можно попросить о паре мелких дополнений в плагине.
Во-первых было бы хорошо чтобы если данному типу файлов соответствовала только одна внешняя команда, то она выполнялась автоматически по f11 t e (т.е. список из одной команды не выпадал бы).
И еще хотелось бы чтобы в менюшке была возможность вывести список всех доступных структур для данного типа файла с автоматическим присвоением горячих клавиш (как в astruct), это очень удобно когда большое количество структур имеют длинное одинаковое начало (например в техе многие структуры начаинаются с \begin{что-то} ).
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

Onanymous wrote:А можно попросить о паре мелких дополнений в плагине.
Во-первых было бы хорошо чтобы если данному типу файлов соответствовала только одна внешняя команда, то она выполнялась автоматически по f11 t e (т.е. список из одной команды не выпадал бы).
Резонно, на выходных могу сделать. Или пусть Тим сделает. Кароче чуть что я навыходных добалю опцию.
Onanymous wrote: И еще хотелось бы чтобы в менюшке была возможность вывести список всех доступных структур для данного типа файла с автоматическим присвоением горячих клавиш (как в astruct), это очень удобно когда большое количество структур имеют длинное одинаковое начало (например в техе многие структуры начаинаются с \begin{что-то} ).
Чукча непонимать... Поподробней
Onanymous
Posts: 76
Joined: Wed 16 Mar, 2005 11:18
Contact:

Post by Onanymous »

В плагине astruct, в каком-то смысле младшем брате этого, по ctrl+j вызывается список всех определенных для данного типа файла конструкций, то есть имен этих конструкций (в truetpl ведь есть тэг name у конструкции?), и в каждом имени подсвечена буква, нажмешь на эту клавишу и, о чудо, конструкция в тексте.
в truetpl можно было бы в менюшке плагина кроме `Template set selection' и `External command ' добавить скажем `Commands list' которая бы делала что-то в этом духе.
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

В тру темплайте это сделать не получится, потому что в файле это определяется как

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


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

Есть выход покруче. Денис Давыдов как то мне прислал новую версию Templates (version 1.0.15). На плугринге вроде старая. Так вот там есть такая возможность - называется Snipets. Штука крутая. Посмотри если на плагринге старье то я могу прислать то что у меня есть. Но там уже не родной дистриб, а навернутый мною...
Onanymous
Posts: 76
Joined: Wed 16 Mar, 2005 11:18
Contact:

Post by Onanymous »

Жаль. придется как обычно пользоваться тремя плагинами вместо одного нормального. Templates на plugring старый, 1.0.2, но он мне вообще не понравился ни с какого боку.
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

А какие ты юзаешь если не секрет?
Onanymous
Posts: 76
Joined: Wed 16 Mar, 2005 11:18
Contact:

Post by Onanymous »

4ekucT wrote:А какие ты юзаешь если не секрет?
ну если в тему этой ветки то astruct, compiler, truetpl. но compiler наверное выкину после этих выходных :). А вообще непонятно, ассоциации файлов в панелях есть, а в редакторе уже нету, не поверю что есть существенная разница.
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post 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 с ним говорил.
Onanymous
Posts: 76
Joined: Wed 16 Mar, 2005 11:18
Contact:

Post by Onanymous »

дык о сроках вообще разговора нет.
Если когда-нибудь соберешься, то тэг name стоит сделать необязательным, чтобы неименованные макросы в выпадающий список не входили (да и макросы из прежней поставки исправлять не придется). Я тоже глянул на код, боюсь увязну, я вообще не программист, а там ни одного коммента нету :), хотя попробовать могу если морально поддержишь. Надо только жену отправить сначала за пивом а потом в отпуск.
Post Reply

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