True Template

Здесь можно обсудить ваш любимый плагин.
maxdrfl
Posts: 484
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Post by maxdrfl » Wed 05 Sep, 2007 08:44

Latest post of the previous page:

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

User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT » Thu 18 Oct, 2007 12:18

Выложил багфикс версию

User avatar
DJ-Andrey-sXe
Posts: 50
Joined: Wed 21 Sep, 2005 10:33
Location: Тольятти
Contact:

Post by DJ-Andrey-sXe » Thu 18 Oct, 2007 12:50

Ссылка? (зачеркнуто) Пардон, все нашел.
P.s. А почему бы не приклеить ссылку на анонсы в эту тему в первое сообщение?

User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT » Thu 18 Oct, 2007 13:38

В анонсах.

User avatar
Tim Sobolev
Posts: 704
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time

Post by Tim Sobolev » Fri 26 Oct, 2007 03:01

Кое-что еще пофикшено, тестим...

Volodya
Posts: 239
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 2 times

Post by Volodya » Thu 01 Nov, 2007 08:31

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

User avatar
Tim Sobolev
Posts: 704
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time

Post by Tim Sobolev » Thu 01 Nov, 2007 15:07

Volodya
В следующей сборке скорее всего будет

jk
Posts: 4
Joined: Tue 04 Dec, 2007 16:51

Post by jk » Tue 04 Dec, 2007 17:16

Помогите, плиз.

Хочу запользовать этот плагин для индентации и кое-какого форматирования (идентация по 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?

jk
Posts: 4
Joined: Tue 04 Dec, 2007 16:51

Post by jk » Wed 05 Dec, 2007 13:14

Не работают два привила 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" />

jk
Posts: 4
Joined: Tue 04 Dec, 2007 16:51

Post by jk » Thu 06 Dec, 2007 10:07

(Тихо сам с собой)
Залез в исходники, сделал поддержку нескольких правил на одной кнопке. Наконец-то получил "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...

maxdrfl
Posts: 484
Joined: Mon 04 Apr, 2005 14:36
Location: Иркутск

Re: True Template

Post by maxdrfl » Fri 05 Sep, 2008 07:34

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"/>

dolzenko
Posts: 452
Joined: Wed 19 Apr, 2006 14:42
Location: Ростов-на-Дону

Re: True Template

Post by dolzenko » Wed 08 Oct, 2008 14:48

А возможно ли
1. штатными средствами плагина натравить например на текущее выделение замену по регэкспам
2. передать \ч параметры в вызове внешней команды через \o

amigo421
Posts: 11
Joined: Tue 25 Mar, 2008 16:16

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

Post by amigo421 » Thu 23 Oct, 2008 03:37

Добрый день

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

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

d.k.Brazz
Posts: 176
Joined: Wed 07 Sep, 2005 17:02
Location: дети берутся?

Re: True Template

Post by d.k.Brazz » Tue 25 Nov, 2008 13:00

такой вот баг (заметил случайно):
берем голый фар (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 (если он установлен)

User avatar
WARP ItSelf
Самый умный
Posts: 1011
Joined: Tue 15 Mar, 2005 23:19
Contact:

Re: True Template

Post by WARP ItSelf » Tue 25 Nov, 2008 13:08

d.k.Brazz

Image
Никто не знал, а я...

User avatar
zg
zero-gravity
Posts: 5623
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 104 times
Contact:

Re: True Template

Post by zg » Tue 25 Nov, 2008 17:52

WARP ItSelf wrote:d.k.Brazz

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

d.k.Brazz
Posts: 176
Joined: Wed 07 Sep, 2005 17:02
Location: дети берутся?

Re: True Template

Post by d.k.Brazz » Tue 25 Nov, 2008 18:01

zg wrote:
WARP ItSelf wrote:d.k.Brazz

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

Post Reply

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