Spring — внедрение Lua в качестве макроязыка

Здесь обсуждается всё, что касается макросов.
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

Latest post of the previous page:

lort wrote: А почему не плагин, кстати, хоть бы и стандартный? Думаю лучше было бы расширить апи и отделить макродвижок от фара, тогда и для других языков движки сделать можно будет, я вот javascript себе прикрутить хочу.
Это, видимо, стоит обсуждать в другой теме.
lort wrote: Сейчас, насколько я вижу, из основного функционала в апи не хватает аналогов mmode, clip, history.disable() и функций для работы с меню.
Это не так, всё вышеперечисленное уже есть.
lort
Posts: 33
Joined: Thu 25 Dec, 2008 19:42

Re: Spring — внедрение Lua в качестве макроязыка

Post by lort »

Shmuel wrote:Это не так, всё вышеперечисленное уже есть.
Я это не про Spring, а про то, чего сейчас не хватает в far api для реализации полноценного макродвижка в плагине.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by Aidar »

Если у кого-то возникли трудности с переносом FAR-макросов на Lua для Spring - могу помочь.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by Aidar »

Shmuel wrote: 2. Мануал Lua 5.1 на русском: http://www.lua.ru/doc/ (кажется в нём не хватает каких-то частей).
Вот собранная в chm-версия, найденная на каком-то сайте.
Переработчиком добавлена отсутствующая информация.
Lua_5_1_Man.7z
(85.98 KiB) Downloaded 159 times
Также добавлю "Lua 5.1: Краткий справочник" (сост.: Т. Лауэр, англ.),
его удобно распечатать и держать "под рукой".
Lua_5_1_Lauer.7z
(110.69 KiB) Downloaded 150 times
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by Aidar »

Ещё добавлю ссылку на Википедию, в разделе "Ссылки" есть подраздел "Lua на русском".
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by NightRoman »

После конвертации конвертером получил такой макрос для панелей

Code: Select all

if  Plugin.Menu("10435532-9BB3-487B-A045-B0E6ECAAB6BC", "58AD5E13-D2BA-4F4C-82CD-F53A66E9E8C0") then
	Keys("1")
else
	Keys("AKey")
end
Вместо выбора хоткея 1 в меню он печатает "1" в командной строке. Где что не так?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by NightRoman »

Поправка - сначала показывается меню и оно висит открытым (ожидался выбор пункта с хоткеем). После эскейпа (например) меню закрывается и печатается "1" в комстроке.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by Aidar »

Похоже, Plugin.Menu ожидает закрытия меню
вместо возврата управления сразу после отображения меню.
Вероятнее всего, баг.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by NightRoman »

Да, похоже на баг. Бюрократический вопрос тогда. Куда такие баги постить теперь? В эту ветку, в плагины (LuaMacro) или на мантис, как обычно (ибо часть Фара это все теперь)?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by NightRoman »

И еще вопрос архитектурный (чисто из любопытства, а не из критики и т.п.). Зачем макро движок в плагине LuaMacro, а не в самом Фаре? Как бы макросы совсем отдельно формально теперь идут от Фара?
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by NightRoman »

Еще не работает такой макрос

Code: Select all

            <macro area="Dialog" key="CtrlShiftU" flags="EVSelection|DisableOutput" description="PSF: Selected text to upper case">
                <text>
                    <![CDATA[Keys("F11") if  Menu.Select("PowerShellFar", 3) > 0 then  Keys("Enter u") else Keys("Esc") end]]>
</text>
Тот же макрос не работает в редакторе. А вот в Shell именно такой же макрос работает.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by Aidar »

NightRoman wrote:Да, похоже на баг. Бюрократический вопрос тогда. Куда такие баги постить теперь? ...
Пока выложил в виде issue сюда.
User avatar
Michael Lukashov
Posts: 517
Joined: Mon 23 Jan, 2006 09:38
Has thanked: 6 times
Been thanked: 21 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by Michael Lukashov »

Всячески приветствую благое начинание. Все таки Issue tracker на github удобнее этого вашего мантиса.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by Aidar »

NightRoman wrote:Еще не работает такой макрос ... "PSF: Selected text to upper case" ...

Недостаток: не сохраняет позицию курсора (после выполнения курсор оказывается в конце выделения) и само выделение.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by NightRoman »

Aidar
Спасибо, и это полезно, хотя бы для начального изучения луа. Но, да, это не заменяет мой вариант.

Но тут вопрос о баге в новом макродвижке прежде всего. Макрос-то мой должен работать, как раньше (у меня и другие подобные макросы есть с вызовом PowerShellFar). Или что-то другое должно быть явно предложено для подобных сценариев -- на самый худой случай.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by Aidar »

NightRoman wrote: ...
Но тут вопрос о баге в новом макродвижке прежде всего. Макрос-то мой должен работать, как раньше ... Или что-то другое должно быть явно предложено для подобных сценариев -- на самый худой случай.
Думаю, тут может быть более общая проблема, связанная с одновременным использованием Keys и других макро-функций.
Так что она может проявиться ещё где-то.
Более точно ответ может дать Shmuel (и/или предложить вариант решения).
Locked

Return to “Обсуждение макросов”