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

Здесь можно обсудить ваш любимый плагин.
User avatar
DJ-Andrey-sXe
Posts: 50
Joined: Wed 21 Sep, 2005 10:33
Location: Тольятти
Been thanked: 1 time
Contact:

Post by DJ-Andrey-sXe »

Latest post of the previous page:

Kildor wrote: А я наоборот, хочу повесить комментарий на макрос, и поэтому хочу динамическое меню ;)
PPS:
если выделить вертикальный блок, и попытаться его закомментировать, получается лажа;) (знаки комментария вставляются не в начало строки, а в начало блока в первой строке и в начало блока+1 символ на всех последующих строках
а плагин "remarques" пробовал?
меня лично устраивает: есть и комментирование и раскомментирование блоков. намакросить можно.
в конфиге можно добавить любые комменты для любых расширений
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Post by Tim Sobolev »

Kildor wrote:4ekucT
если выделить вертикальный блок, и попытаться его закомментировать, получается лажа;) (знаки комментария вставляются не в начало строки, а в начало блока в первой строке и в начало блока+1 символ на всех последующих строках
Так и задумывалось изначально -- в строчном блоке комменты сначала, в блочном -- в начале блока
Volodya
Posts: 268
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 30 times

Post by Volodya »

Вставляем в шаблон для нового файла @@DATE@@. Получаем дату в формате ДД.ММ. ГГГГ, что не совпадает с настройками Windows. Я понимаю, что можно задать формат в явном виде. Но то, что не совпадает вставленное значение и значение по умолчанию - это баг или фича или я что-то делаю не так?
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Post by Tim Sobolev »

Volodya

по дефолту задано:

const char fmtTime[]="HH:mm:ss";
const char fmtDate[]="dd.MM.yyyy";
const char fmtDateTime[]="HH:mm:ss dd.MM.yyyy";
Volodya
Posts: 268
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 30 times

Post by Volodya »

=Tim Sobolev=
Так и я про это. нельзя ли по дефолту брать Windows-овские настройки
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Post by Tim Sobolev »

Volodya

К 4ekucTy -- у меня щас полных последних сырцов нету, мержил он ...
VoDmAl
Posts: 5
Joined: Wed 16 Mar, 2005 07:12
Contact:

Post by VoDmAl »

Предлагаю немного реструктуризировать конфигурационные файлы, что бы сделать более безболезненной процедуру настройки шаблонов под себя и совмещение с обновленными файлами из новых версий. (Всем известно, насколько тяжела процедура обновления конифгов из новой версии после того, как они были тщательно переработаны под свои нужды. Обычно это заканчиваетя тем, что из новой версии просто копируется dll-файл).

Что я сделал:

1. Вынес определения "Разделителей", "Парные шаблоны" в файл true-global.xml тем самым избежал дублирование этих двух блоков в нескольких файлах (я насчитал 3 штуки).

2. В определении "Разделителей" добавил "Символические имена" commentaryStart, commentaryEnd. Благодаря чему, указав в файлах true-source-c#.xml, true-source-c++.xml и т.д. языккозависимые символы для открытия комментария и его закрытия, получил единый набор "Разделителей" в который подставляется правильный символ для комментариев!

3. Файловые шаблоны переместил в отдельный каталог и рассортировал их по типу, что бы они не путались под ногами и было понятно что к чему.

Предложенные изменения не решают, конечно, озвученной проблемы, но чуточку приближают нас к этому.

Осталось одно важное дополнение - персонализация Indent. Но я пока смутно представлю, как бы так организовать файлы с шаблонами, что бы их легко можно было под себя менять и при обновлении эти изменения оставались в силе.

Ну что скажете насчет такой реструктуризации? :oops:

PS: В архив включены описания для asp, php. Пока это почти копия из старой версии (создавал для TrueTemplate 1.28), но я веду работы по приведению их к новому формату (Submenu и вообще концептуально). Когда завершу, выложу обязательно. :roll:
Attachments
templates.by.VoDmAl.zip
Архив с моими шаблонами
(111.97 KiB) Downloaded 430 times
User avatar
DJ-Andrey-sXe
Posts: 50
Joined: Wed 21 Sep, 2005 10:33
Location: Тольятти
Been thanked: 1 time
Contact:

Post by DJ-Andrey-sXe »

4ekucT wrote:Шаблон perl забрал, появиться в ближайшее время в релизе.
(давно заметил, да руки не доходили написать) если написать, скажем, param, нажать пробел, оно допишется до param(''). а если написать тот же param вот тут (там где подчёркивание): if ( _ ), то не дописывает. И так же с другими вещями. Корочё: если есть что-то кроме табов или пробелов, то не дописывает. Обидно, что некоторые фичи часто не используются из-за ошибки. Пофиксить бы. Я попытаюсь насколько сумею, но если кто-то пофиксит быстрее - будет прекрасно :) адрес шаблона на пред. странице
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Post by Centaur »

Вот ещё одна штука.

Баг: при обработке @@EXEC:…@@ некорректно обрабатываются конвейеры.

Воспроизведение:

Code: Select all

//: pipe-test.txt
@@EXEC:cmd /c dir|sort@@
//# pipe-test.txt

//: true-text-txt.xml
<Expand Name="Pipe test" At="&AnyWhere;" To="\i'$\templates\text\pipe-test.txt'"/>
//# true-text-txt.xml
  • Создать новый файл (Shift+F4) test.txt
  • Применить шаблон (F11 "True Template" "List of templates" "Pipe test")
Ожидается:
  • В файл, открытый в редакторе, добавляется отсортированный листинг текущего каталога
Наблюдается:
  • Открывается новая консоль 1.
  • В новую консоль 1 выводится листинг каталога.
  • Новая консоль 1 закрывается.
  • Открывается новая консоль 2.
  • Текст, введённый в новую консоль 2, сортируется и выводится в той же консоли.
  • Новая консоль 2 закрывается.
  • В файл, открытый в редакторе, ничего не добавляется.
Обход:
Следующий патч вроде бы решает эту конкретную проблему. Кто-нибудь может объяснить, чем грозит отсутствие флага DETACHED_PROCESS?

Code: Select all

--- D:\Program Files\Far\Plugins\Editor\TrueTemplate\source\true-tpl.cpp	Thu Dec 15 19:38:16 2005
+++ true-tpl.cpp	Sun Dec 31 16:52:48 2006
@@ -2280,7 +2280,7 @@
  si.hStdOutput=GetStdHandle(STD_OUTPUT_HANDLE);
  si.hStdInput=GetStdHandle(STD_INPUT_HANDLE);
  si.hStdError=GetStdHandle(STD_ERROR_HANDLE);
- if (CreateProcess(NULL,pf,NULL,NULL,TRUE,DETACHED_PROCESS|NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi)==TRUE)
+ if (CreateProcess(NULL,pf,NULL,NULL,TRUE,/*DETACHED_PROCESS|*/NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi)==TRUE)
  {
   RunFlag=true;
   WaitForSingleObject(pi.hProcess,INFINITE);
Alexey Lubkin
Posts: 106
Joined: Sun 23 Oct, 2005 10:02
Location: Томск
Has thanked: 1 time
Contact:

Post by Alexey Lubkin »

Странное дело с отступами.

.C
Хочу чтобы отступ представлял из себя 2 пробела.
Возможно ли такое?
Ничего кроме неотрицательного числа tab'ов сделать не получается. :(

Вот такая штука:

Code: Select all

  <Bracket Pattern="\{"               Match="\}(;?)|(\s*while\s*\(.*\);)" Shift="1" Relative="{"   ImmOpen="{" ImmClose="}"/>
понимает Shift только в tab'ах. Можно ли её заставить работать с пробелами?

Upd: Видимо единственным решением будет в настройках редактора:
1. Установить "Преобразовывать табуляцию" в "Преобразовывать новые символы табуляции в пробелы"
2. "Размер табуляции" установить =2.
maxdrfl
Posts: 486
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Post by maxdrfl »

предложение (прошу прощение если повторю кого-нибудь):
при навигации, предлагать создавать файл, если он не существует.
- Возможно + диалог запроса расширения.
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

Выложил багфикс версию
User avatar
DJ-Andrey-sXe
Posts: 50
Joined: Wed 21 Sep, 2005 10:33
Location: Тольятти
Been thanked: 1 time
Contact:

Post by DJ-Andrey-sXe »

Ссылка? (зачеркнуто) Пардон, все нашел.
P.s. А почему бы не приклеить ссылку на анонсы в эту тему в первое сообщение?
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

В анонсах.
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Post by Tim Sobolev »

Кое-что еще пофикшено, тестим...
Volodya
Posts: 268
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 30 times

Post by Volodya »

Хотелось бы иметь в To код \u для вставки имени текущего пользователя (аналог @@USER_NAME@@).
Post Reply

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