True Template — использование текстовых шаблонов при написании кода
- Tim Sobolev
- Posts: 729
- Joined: Fri 01 Apr, 2005 14:46
- Location: Украина
- Has thanked: 1 time
- Been thanked: 7 times
True Template — использование текстовых шаблонов при написании кода
[анонс]
В версии 1.25 была найдена и исправлена бага c обработкой длинных имен, да вот автора выловить проблемно . Кроме того, есть ряд предложений, которые скорее всего буду реализовать я сам, но все-таки желательно бы сконтактировать с автором. Кто постоянно общается с сабжем, помогите пожалуйста его найти?
ЗЫ. Fido`шники, может поможете?
В версии 1.25 была найдена и исправлена бага c обработкой длинных имен, да вот автора выловить проблемно . Кроме того, есть ряд предложений, которые скорее всего буду реализовать я сам, но все-таки желательно бы сконтактировать с автором. Кто постоянно общается с сабжем, помогите пожалуйста его найти?
ЗЫ. Fido`шники, может поможете?
Last edited by HaRT on Fri 07 Apr, 2023 11:32, edited 1 time in total.
Reason: Расширен заголовок Темы
Reason: Расширен заголовок Темы
Както эта версия (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 ║
╚═══════════════════════════════════════════════════════╝
Итак бага прибита
File: True-tpl.cpp
Line: 2304
Было
File: True-tpl.cpp
Line: 2304
Было
НужноfnSplit(n2, drv, dir2, fil2, ext2);
В противном случае пропадало имя диска изза специфики работы GetShortPathNamefnSplit(n2, tmp, dir2, fil2, ext2);
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.
Нашел еще один очень прикольный баг. Если попытаться скомпилировать чтонить в каталоге (или подкаталогах) самого True-tpl, то также получим вылет по полной программе место вылита тут:
File: True-Tpl.cpp
Line: 2693
Что пирикольно так это то что lng->compilerColl.getCount() возвращает мильены этих компиляторов. гыгыгы
Кароче пока не выличим, в папке самого True-tpl ничего не компилировать
File: True-Tpl.cpp
Line: 2693
for ( unsigned i = 0 ; i < lng->compilerColl.getCount() ; i++ )
{
e = (TCompiler*)(lng->compilerColl);
.......
}
Что пирикольно так это то что lng->compilerColl.getCount() возвращает мильены этих компиляторов. гыгыгы
Кароче пока не выличим, в папке самого True-tpl ничего не компилировать
А можно попросить о паре мелких дополнений в плагине.
Во-первых было бы хорошо чтобы если данному типу файлов соответствовала только одна внешняя команда, то она выполнялась автоматически по f11 t e (т.е. список из одной команды не выпадал бы).
И еще хотелось бы чтобы в менюшке была возможность вывести список всех доступных структур для данного типа файла с автоматическим присвоением горячих клавиш (как в astruct), это очень удобно когда большое количество структур имеют длинное одинаковое начало (например в техе многие структуры начаинаются с \begin{что-то} ).
Во-первых было бы хорошо чтобы если данному типу файлов соответствовала только одна внешняя команда, то она выполнялась автоматически по f11 t e (т.е. список из одной команды не выпадал бы).
И еще хотелось бы чтобы в менюшке была возможность вывести список всех доступных структур для данного типа файла с автоматическим присвоением горячих клавиш (как в astruct), это очень удобно когда большое количество структур имеют длинное одинаковое начало (например в техе многие структуры начаинаются с \begin{что-то} ).
Резонно, на выходных могу сделать. Или пусть Тим сделает. Кароче чуть что я навыходных добалю опцию.Onanymous wrote:А можно попросить о паре мелких дополнений в плагине.
Во-первых было бы хорошо чтобы если данному типу файлов соответствовала только одна внешняя команда, то она выполнялась автоматически по f11 t e (т.е. список из одной команды не выпадал бы).
Чукча непонимать... ПоподробнейOnanymous wrote: И еще хотелось бы чтобы в менюшке была возможность вывести список всех доступных структур для данного типа файла с автоматическим присвоением горячих клавиш (как в astruct), это очень удобно когда большое количество структур имеют длинное одинаковое начало (например в техе многие структуры начаинаются с \begin{что-то} ).
В плагине astruct, в каком-то смысле младшем брате этого, по ctrl+j вызывается список всех определенных для данного типа файла конструкций, то есть имен этих конструкций (в truetpl ведь есть тэг name у конструкции?), и в каждом имени подсвечена буква, нажмешь на эту клавишу и, о чудо, конструкция в тексте.
в truetpl можно было бы в менюшке плагина кроме `Template set selection' и `External command ' добавить скажем `Commands list' которая бы делала что-то в этом духе.
в truetpl можно было бы в менюшке плагина кроме `Template set selection' и `External command ' добавить скажем `Commands list' которая бы делала что-то в этом духе.
В тру темплайте это сделать не получится, потому что в файле это определяется как
тоесть имени нету!
Есть выход покруче. Денис Давыдов как то мне прислал новую версию Templates (version 1.0.15). На плугринге вроде старая. Так вот там есть такая возможность - называется Snipets. Штука крутая. Посмотри если на плагринге старье то я могу прислать то что у меня есть. Но там уже не родной дистриб, а навернутый мною...
<Expand Pattern="\{" At=".*\p" To="{\n \p\n}"/>
тоесть имени нету!
Есть выход покруче. Денис Давыдов как то мне прислал новую версию Templates (version 1.0.15). На плугринге вроде старая. Так вот там есть такая возможность - называется Snipets. Штука крутая. Посмотри если на плагринге старье то я могу прислать то что у меня есть. Но там уже не родной дистриб, а навернутый мною...
Кароче посмотрел я. Да в самом True-tpl такую менюшку сделсть вполне реально тока надо добавить в xml такую фишку
public
private
[p]rotected
Такое впринципе сделать я могу, тока со сроками большой вопрос ибо вообще у меня диплом ща )))
Вообще интересно бы знать что об этом всем автор думает? Слухи прошли что t-rex с ним говорил.
В этом случае меню будет таким:
<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 с ним говорил.
дык о сроках вообще разговора нет.
Если когда-нибудь соберешься, то тэг name стоит сделать необязательным, чтобы неименованные макросы в выпадающий список не входили (да и макросы из прежней поставки исправлять не придется). Я тоже глянул на код, боюсь увязну, я вообще не программист, а там ни одного коммента нету :), хотя попробовать могу если морально поддержишь. Надо только жену отправить сначала за пивом а потом в отпуск.
Если когда-нибудь соберешься, то тэг name стоит сделать необязательным, чтобы неименованные макросы в выпадающий список не входили (да и макросы из прежней поставки исправлять не придется). Я тоже глянул на код, боюсь увязну, я вообще не программист, а там ни одного коммента нету :), хотя попробовать могу если морально поддержишь. Надо только жену отправить сначала за пивом а потом в отпуск.