Page 10 of 19

Posted: Tue 04 Apr, 2006 18:09
by Kildor

Latest post of the previous page:

4ekucT
http://kildor.gorodok.net/templates.7z
поправил ошибки, рассортировал шаблоны…
PS: 2All: кому интересно, по этой ссылке лежат мои шаблоны для php, html, xml, js, css, trueTemplate разной степени полноты и настроенности.

Posted: Tue 04 Apr, 2006 20:14
by 4ekucT
Так тестовая версия пока без новых шаблонов, зато с блочными комментариями (спецом для Тима протестить).
Новые шаблоны надо привести в порядок так что чутка подождите.

Posted: Wed 05 Apr, 2006 05:15
by Kildor
вопрос-пожелание
хотелось бы иметь возможность разрывать To на несколько строк (как минимум в меню), типа такого:

Code: Select all

    <Expand Name="Doctypes  »" Pattern="__dtype" To="\~dxst=XHTML 1.0 Strict
    	\~dxtransit=XHTML 1.0 Transitional"/>
однако этот шаблон раскрывается в меню показывая \r\n, что выглядит не сильно красиво.
хотелось бы либо трансформации \r\n в \20 (внутри \~), что не должно привести к порче чего-либо,
либо возможность заэкранировать перевод строк, тогда бы шаблон выглядел как

Code: Select all

    <Expand Name="Doctypes  »" Pattern="__dtype" To="\~dxst=XHTML 1.0 Strict\
    	\~dxtransit=XHTML 1.0 Transitional"/>
PS: экранирование перевода строки было бы вообще очень полезной фичей. ;)
PPS: xml вроде разрешает переносы строк в значениях атрибутов.

UPD: ещё хочется обработки цифровых entities, вида &#\d+;, разворота их в символ с соответствующим десятичным кодом.

Posted: Wed 12 Apr, 2006 05:13
by Kildor
Ещё одно пожелание
Сделать меню динамическим:
Скрывать пункт меню «Комментарии», если в для данного типа файлов не определено BlockComment

Posted: Wed 12 Apr, 2006 08:02
by 4ekucT
Вот я против динамического меню. Потому как если повесить коментарии на макрос то будет лажа.

Posted: Wed 12 Apr, 2006 08:24
by Kildor
4ekucT
хм ;-)
А я наоборот, хочу повесить комментарий на макрос, и поэтому хочу динамическое меню ;)
ЗЫЖ

Code: Select all

F11 t $if(checkhotkey("C")) C $else Esc $end
PPS:
если выделить вертикальный блок, и попытаться его закомментировать, получается лажа;) (знаки комментария вставляются не в начало строки, а в начало блока в первой строке и в начало блока+1 символ на всех последующих строках

Posted: Fri 14 Apr, 2006 16:00
by DJ-Andrey-sXe
Kildor wrote: А я наоборот, хочу повесить комментарий на макрос, и поэтому хочу динамическое меню ;)
PPS:
если выделить вертикальный блок, и попытаться его закомментировать, получается лажа;) (знаки комментария вставляются не в начало строки, а в начало блока в первой строке и в начало блока+1 символ на всех последующих строках
а плагин "remarques" пробовал?
меня лично устраивает: есть и комментирование и раскомментирование блоков. намакросить можно.
в конфиге можно добавить любые комменты для любых расширений

Posted: Fri 14 Apr, 2006 21:05
by Tim Sobolev
Kildor wrote:4ekucT
если выделить вертикальный блок, и попытаться его закомментировать, получается лажа;) (знаки комментария вставляются не в начало строки, а в начало блока в первой строке и в начало блока+1 символ на всех последующих строках
Так и задумывалось изначально -- в строчном блоке комменты сначала, в блочном -- в начале блока

Posted: Wed 10 May, 2006 07:41
by Volodya
Вставляем в шаблон для нового файла @@DATE@@. Получаем дату в формате ДД.ММ. ГГГГ, что не совпадает с настройками Windows. Я понимаю, что можно задать формат в явном виде. Но то, что не совпадает вставленное значение и значение по умолчанию - это баг или фича или я что-то делаю не так?

Posted: Thu 11 May, 2006 12:22
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";

Posted: Thu 11 May, 2006 15:36
by Volodya
=Tim Sobolev=
Так и я про это. нельзя ли по дефолту брать Windows-овские настройки

Posted: Thu 11 May, 2006 19:02
by Tim Sobolev
Volodya

К 4ekucTy -- у меня щас полных последних сырцов нету, мержил он ...

Posted: Fri 19 May, 2006 23:47
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:

Posted: Thu 21 Sep, 2006 10:30
by DJ-Andrey-sXe
4ekucT wrote:Шаблон perl забрал, появиться в ближайшее время в релизе.
(давно заметил, да руки не доходили написать) если написать, скажем, param, нажать пробел, оно допишется до param(''). а если написать тот же param вот тут (там где подчёркивание): if ( _ ), то не дописывает. И так же с другими вещями. Корочё: если есть что-то кроме табов или пробелов, то не дописывает. Обидно, что некоторые фичи часто не используются из-за ошибки. Пофиксить бы. Я попытаюсь насколько сумею, но если кто-то пофиксит быстрее - будет прекрасно :) адрес шаблона на пред. странице

Posted: Sun 31 Dec, 2006 12:19
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);

Posted: Mon 28 May, 2007 15:34
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.