LUA Format Block

Здесь можно обсудить ваш любимый плагин.
ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

LUA Format Block

Post by ladserg » Tue 09 Sep, 2014 19:22

Расширенное форматирование абзацев.

Анонс
Пларинг

User avatar
SUSim
Posts: 1479
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 4 times
Been thanked: 4 times

Re: LUA Format Block

Post by SUSim » Sat 13 Sep, 2014 21:24

А зачем, именно, плагин, почему не скрит-макрос???
и поддерживать легче и две версии (64-86) не надо, быстродействие ведь не критично!
SimSU ··· ·· -- ··· ··-

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

Re: LUA Format Block

Post by ladserg » Sat 13 Sep, 2014 21:34

Мне макрос не легче, Renewal макросы не обновляет, нет проблем с пространствами имен, даю свои имена модулям и не парюсь. Распространять проще. Отдельно хранятся настройки. Простая поддержка локализации и справки. И т.д.

К тому же желающие всегда могут из плагина сделать макрос.

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

Re: LUA Format Block

Post by ladserg » Sat 13 Sep, 2014 21:37

Ах, да, совсем забыл, я когда тестил свои макросы при помощи LuaMacro, то раз 100500 выщелкивал LuaMacro, и все макросы совсем переставали работать, а так выгружается только проблемный плагин.

Ну и это аналог действующего плагина, но только под Far 2.

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

Re: LUA Format Block

Post by ladserg » Sat 13 Sep, 2014 21:38

Забыл :-) В моих плагинах нет проблем с отдельной поддержкой x32/x64, обе версии в одном каталоге, DLL не изменяются. Те пункты где я компилировал DLL сам, связаны чисто с моим любопытством.

User avatar
John Doe
Бюрократ
Posts: 11389
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 100 times

Re: LUA Format Block

Post by John Doe » Mon 15 Sep, 2014 10:45

ladserg wrote:когда тестил свои макросы при помощи LuaMacro, то раз 100500 выщелкивал LuaMacro, и все макросы совсем переставали работать
Для тестирования макросов необязательно выщёлкивать LuaMacro.

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

Re: LUA Format Block

Post by ladserg » Mon 15 Sep, 2014 11:37

John Doe wrote:Для тестирования макросов необязательно выщёлкивать LuaMacro.
Я имел в виду свои ошибки, да вы правы, ошибаться необязательно, но я увы не совершенен, то букву забуду, то цифру поставлю не там.

User avatar
John Doe
Бюрократ
Posts: 11389
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 100 times

Re: LUA Format Block

Post by John Doe » Mon 15 Sep, 2014 12:01

К своим ошибкам сказанное относится ровно в той же мере.

plastikat
Posts: 58
Joined: Fri 17 Jul, 2009 10:55

LUA Format Block

Post by plastikat » Wed 24 Dec, 2014 06:51

ladserg: Скажите, а есть ли где-нибудь архив версий? Хотел попробовать на стабильном 3.0.4040 - а не вышло...
(Кстати в описании требований на странице анонса указана устаревшая информация).

Shmuel
Posts: 5226
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

LUA Format Block

Post by Shmuel » Wed 24 Dec, 2014 07:25

plastikat wrote: Хотел попробовать на стабильном 3.0.4040 - а не вышло...
В файле _globalinfo.lua есть строчка MinFarVersion = { 3, 0, 0, 4094 }.
Исправьте 4094 на 4040 и перезапустите Фар.

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

LUA Format Block

Post by ladserg » Wed 24 Dec, 2014 08:01

plastikat, да, действительно изменение версии должно помочь. Информацию в анонсе поправил. Архив есть, но я сей плагин делать начал с версии 4074, но если вы приведете ошибки, кои возникают, то попробую что нибудь придумать.

Хотя если честно, обновиться тут было бы, наверно, проще :-)

По моему с версии 4040 до 4094 в плане Lua много вроде было изменено, хотя могу ошибаться.

plastikat
Posts: 58
Joined: Fri 17 Jul, 2009 10:55

LUA Format Block

Post by plastikat » Thu 25 Dec, 2014 16:40

Shmuel wrote: Исправьте 4094 на 4040 и перезапустите Фар.
Попробовал. При запуске больше не ругается, в списке плагинов появляется, в списке настроек плагинов - нет. При вызове в редакторе (и выделенном блоке) не делает ничего, ошибок тоже не бросает.

Но и ладно, мне не очень к спеху, а там и обновлюсь уже поди.

Shmuel
Posts: 5226
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

LUA Format Block

Post by Shmuel » Thu 25 Dec, 2014 17:06

plastikat wrote: При вызове в редакторе (и выделенном блоке) не делает ничего
Прошу прощения за плохой совет: давал его, не попробовав на практике. Сейчас попробовал - плагин действительно не работает в 4040, даже после коррекции MinFarVersion. Причина - в способе проверки области вызова плагина: вместо традиционной проверки параметра OpenFrom (для чего этот параметр и предназначен) автор использует far.MacroGetArea().

Code: Select all

function main.Open(OpenFrom, Guid, Item)
    -- Если мы не в редакторе, то уходим отсюда нафиг
    if far.MacroGetArea()~=F.MACROAREA_EDITOR then
        return
    end

User avatar
SUSim
Posts: 1479
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 4 times
Been thanked: 4 times

LUA Format Block

Post by SUSim » Thu 25 Dec, 2014 18:45

Ещё раз предлагаю: может, всё-таки, макрос???

P.S. интересно Ваш код немного преобразовывать - модифицировать под специальные(не тривиальные задачи), а самому реализовывать времени нет :(
SimSU ··· ·· -- ··· ··-

ladserg
Posts: 214
Joined: Thu 19 Feb, 2009 14:51
Has thanked: 1 time
Been thanked: 1 time

LUA Format Block

Post by ladserg » Thu 25 Dec, 2014 20:40

Shmuel wrote:
plastikat wrote: При вызове в редакторе (и выделенном блоке) не делает ничего
Прошу прощения за плохой совет: давал его, не попробовав на практике. Сейчас попробовал - плагин действительно не работает в 4040, даже после коррекции MinFarVersion. Причина - в способе проверки области вызова плагина: вместо традиционной проверки параметра OpenFrom (для чего этот параметр и предназначен) автор использует far.MacroGetArea().

Code: Select all

function main.Open(OpenFrom, Guid, Item)
    -- Если мы не в редакторе, то уходим отсюда нафиг
    if far.MacroGetArea()~=F.MACROAREA_EDITOR then
        return
    end
Если приведете как нужно правильно (хотя вроде сбоев с последней версии плагина не было), то я изменю код и обновлю плагин.

Настроек у плагина нет, да и идей по поводу того, что настраивать у него, пока нет.

А такой способ проверки - это просто атавизм, я изначально писал обычный макрос, который вешался на быструю клавишу, ну и воткнул проверку, потом макрос обернул в плагин.

Shmuel
Posts: 5226
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

LUA Format Block

Post by Shmuel » Thu 25 Dec, 2014 20:45

Так, как вы сделали - тоже правильно, но не для 4040. А делают обычно так:

Code: Select all

if OpenFrom ~= F.OPEN_EDITOR then
    return
end

Post Reply

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