Page 11 of 19

Posted: Wed 05 Sep, 2007 08:44
by maxdrfl

Latest post of the previous page:

предложение (прошу прощение если повторю кого-нибудь):
при навигации, предлагать создавать файл, если он не существует.
- Возможно + диалог запроса расширения.

Posted: Thu 18 Oct, 2007 12:18
by 4ekucT
Выложил багфикс версию

Posted: Thu 18 Oct, 2007 12:50
by DJ-Andrey-sXe
Ссылка? (зачеркнуто) Пардон, все нашел.
P.s. А почему бы не приклеить ссылку на анонсы в эту тему в первое сообщение?

Posted: Thu 18 Oct, 2007 13:38
by 4ekucT
В анонсах.

Posted: Fri 26 Oct, 2007 03:01
by Tim Sobolev
Кое-что еще пофикшено, тестим...

Posted: Thu 01 Nov, 2007 08:31
by Volodya
Хотелось бы иметь в To код \u для вставки имени текущего пользователя (аналог @@USER_NAME@@).

Posted: Thu 01 Nov, 2007 15:07
by Tim Sobolev
Volodya
В следующей сборке скорее всего будет

Posted: Tue 04 Dec, 2007 17:16
by jk
Помогите, плиз.

Хочу запользовать этот плагин для индентации и кое-какого форматирования (идентация по 4 пробела при длине таба в 8 пробелов), чистка концов строк (пробелы в конце) и т.д.

Задачка: когда нажимаешь два ентера при включеной автоиндентации получаются две пустые строки из одних пробелов (или табуляций), которые были вставлены автоматически для индентации (это фар так себя сам ведет, независимо от плугина). Хочется, чтобы при нажатии Энтера в строке, состоящей только из пробелов, курсор переходил на следующуюю строчку с сохранением индентации, но предыдуцая сторочка становилась пустой (только перевод строки, без лишних пробелов).

Беру файлик "true-source-c++-base.xml" и вставляю туда строчку:

Code: Select all

<Expand Pattern="[\t ]+" Key="Enter" At="[\t ]+\p" To="\{ShiftHome}\{CtrlDel}\r" />
При срабатывании фар падает. Видимо, хвостовая рекурсия переполнила стек. Хотя ее быть не должно, т.к. согласно документации:
\n - Enter
\r - Enter (с учетом Smart Indent)
\r исполняет только правила индентации, к которым Expand по идее не относится.
Если меняю строчку на :

Code: Select all

<Expand Pattern="[\t ]+" Key="Enter" At="[\t ]+\p" To="\{ShiftHome}\{CtrlDel}\n" />
Оно нифига не удаляет и оставляет мне выделенный блок.

Помогло вот это:

Code: Select all

<Expand Pattern="[\t ]+" Key="Enter" At="[\t ]+\p" To="\{ShiftHome}\{CtrlDel}\{Enter}" />
Работает как надо.

Но появилась другая проблема. Перестала работать хитрая индентация. Точнее, те ее действия, которые должны происходить по нажатию "Enter". Скажем, Enter после "{" делает обычную индентацию, без дополнительного отступа (я вырубил "автораскрывание" скобок, и вообще все автораскрывание, оставил только индентацию).

Как заставить работать этот макрос с сохранением Smart Indent?

Posted: Wed 05 Dec, 2007 13:14
by jk
Не работают два привила Expand назначенные на одну кнопку:

Code: Select all

  <Expand Key="Tab" At="[\t]*  \p" To="\b\b\t" />
  <Expand Key="Tab" At="[\t]*\p" To="  " />
Работает только первое.

Не работает Expand по вводу табуляции:

Code: Select all

  <Expand Pattern="\t" Imm="\t" At=".*\p" To="zzz" />

Posted: Thu 06 Dec, 2007 10:07
by jk
(Тихо сам с собой)
Залез в исходники, сделал поддержку нескольких правил на одной кнопке. Наконец-то получил "Fake half tabs" из Midnignt Commander'а (индентация в 4 пробела с сохранением стандартной табуляции). Плюс автоиндентация и уменьшение индентации по BackSpace.

Не понятно только где откопали такую кривую библиотечку regexp'ов. Неужели в Colorer'e? Он, вроде не страдал особыми странностями.
1. Дебаг версия падает по переполнению стека при попытке сравнить строку "// <4093 пробела> " с регэкспом /\/\/.*/. Т.к. строка расширяется до 4096 символов автоматически, не приходится надеяться на то, что у пользователя такого не произойдет если в его файлах строки будут короче. Для релиз версии стека еще хватает.
Собственно, глюк заключается в том, что размер стека не должен зависеть от длины строки (стек допуксается использовать только для возвратов на применение правила, а не на входной символ). А тут операция ".*" реализована хвостовой рекурсией а не итерацией. Т.е. стек жрется по уровню на каждый входной символ, а не на два уровня (на выражение "((.)*)" и на подвыражение "(.)"), как положено.
2. При попытке решить проблему 1.) изменил
#define MAX_STR_LEN 4096
на
#define MAX_STR_LEN 1024
После чего плугин начал падать из-за повреждение стека (запись за границу массива. Воистину magic number...

Re: True Template

Posted: Fri 05 Sep, 2008 07:34
by maxdrfl
TrueTemplate 2.09

не работает:

Code: Select all

<Navigation Mask="\\include\{(.+)\}" Pos="1" Path="." Suffixes=".tex" Rect="0%,0%,100%,100%" Viewer="0"/>
работает:

Code: Select all

<Navigation Mask="\\include\{(.+)\}" Pos="1" Path="." Rect="0%,0%,100%,100%" Viewer="0"/>

Re: True Template

Posted: Wed 08 Oct, 2008 14:48
by dolzenko
А возможно ли
1. штатными средствами плагина натравить например на текущее выделение замену по регэкспам
2. передать \ч параметры в вызове внешней команды через \o

вопрос новичка по truetemplate

Posted: Thu 23 Oct, 2008 03:37
by amigo421
Добрый день

пара вопросов:
1. в выпадающем списке походящих под введенную последовательность вариантов (в моем случае - список функций) есть возможность прирутить (или это уже есть и просто неумею пользоваться) быстрый выбор по первым набранным буквам (в некоторых случаях список велик и прокручивать разыскивая "на глаз" долго)?
2. может кто то пробовал написать обработку для *.h файлов для генерации xml с правилами?

Заранее спасибо

Re: True Template

Posted: Tue 25 Nov, 2008 13:00
by d.k.Brazz
такой вот баг (заметил случайно):
берем голый фар (Far171.b2449.x86.rar)
устанавливаем TrueTemplate_2_09.7z
создаем файл test.sql
и с самого начала строки вводим знак '-' (минус) 4194 раза
при вводе 4195-го минуса - плагин падает

Code: Select all

╔════════════ Ошибка вызова плагина ════════════╗
║           Исключительная ситуация:            ║
║   "Нарушение доступа (запись в 0x2D3FB8DD)"   ║
║    Адрес исключения - 0x1001EA0F, модуль:     ║
║ C:\Far-Test\Plugins\TrueTemplate\true-tpl.dll ║
╟───────────────────────────────────────────────╢
║            Плагин будет выгружен!             ║
║                  Продолжить                   ║
╚═══════════════════════════════════════════════╝
При дальнейшем вводе минусов падает Colorer (если он установлен)

Re: True Template

Posted: Tue 25 Nov, 2008 13:08
by WARP ItSelf
d.k.Brazz

Image

Re: True Template

Posted: Tue 25 Nov, 2008 17:52
by zg
WARP ItSelf wrote:d.k.Brazz

Image
да с тру темлейт — боян вообще-то, там где-то статические буфера под строки, раньше меньше были, сейчас видимо увеличили.