LuaFAR — библиотека для создания плагинов на языке Lua

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 11144
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 73 times

LuaFAR — библиотека для создания плагинов на языке Lua

Post by John Doe » Wed 29 Jul, 2009 21:41

Библиотека LuaFAR делает возможным написание плагинов на языке Lua, предоставляя им адаптированную версию FAR API.

Входит в состав FAR manager (начиная с 3.0 build 2851), и доступна для использования в макросах.

Справка по функциям библиотеки — luafar_manual.chm (в дистрибутиве, папка Encyclopedia).
Мануал весьма лаконичен, предполагает что вы ориентируетесь в FAR Plugins API (FarEncyclopedia.ru.chm, в дистрибутиве)

Дополнения к мануалу:

Полезное по теме: См. также:

User avatar
DrKnS
Posts: 4589
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 116 times
Contact:

LuaFAR — библиотека для создания плагинов на языке Lua

Post by DrKnS » Mon 07 Mar, 2016 01:03

Latest post of the previous page:

zg wrote: а фар разве под итаниум собирается?
Теоретически собрать было возможно, но реально ни одной официальной версии не было (и не будет, т. к. поддержку итаниума в VS > 2010 дропнули).

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

LuaFAR — библиотека для создания плагинов на языке Lua

Post by zg » Mon 07 Mar, 2016 01:33

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

Smitis
Posts: 1455
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 13 times
Been thanked: 23 times
Contact:

LuaFAR — библиотека для создания плагинов на языке Lua

Post by Smitis » Fri 24 Jun, 2016 10:30

far.Message при параметре Button=="" сразу возвращает управление lua:far.Message("1","TEST","") far.Message("2","TEST")
Логичнее было бы дождаться Enter/Esc (Как при ";Ok", только без рисования кнопки).
А если вот так lua:far.Message("ERROR","TEST","") на экране остаётся фантомное изображение сообщения.

Возможно, это глюк не luafar, а функции Message.
Разум когда-нибудь победит.

Shmuel
Posts: 5166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 15 times
Been thanked: 145 times

LuaFAR — библиотека для создания плагинов на языке Lua

Post by Shmuel » Fri 24 Jun, 2016 10:36

Smitis wrote: Возможно, это глюк не luafar, а функции Message.
far.Message в основном не меняет поведение ф-ции Message (несколько расширяет её возможности). То, что вы привели как глюк, это не глюк, это фича ф-ции Message. Вызывающая ф-ция ответственна за очищение экрана в этом случае.

Smitis
Posts: 1455
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 13 times
Been thanked: 23 times
Contact:

LuaFAR — библиотека для создания плагинов на языке Lua

Post by Smitis » Fri 24 Jun, 2016 11:07

Понял. Из справки было не совсем понятно поведение при пустой строке кнопок. Надо было смотреть справку по Message.
Разум когда-нибудь победит.

IgorZ
Posts: 459
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 6 times
Been thanked: 9 times

LuaMacro — Lua как язык макросов

Post by IgorZ » Tue 16 May, 2017 08:06

Возникло у меня некоторое недопонимание в процессе работы.
  1. local guid = "742910F1-02ED-4542-851F-DEE37C2E13B2" -- EMenu
  2. local path = far.GetPluginInformation(far.FindPlugin(far.Flags.PFM_GUID,win.Uuid(guid))).ModuleName:match("^(.*)\\[^\\]*$")
  3. far.ShowHelp(path          ,nil,far.Flags.FHELP_CUSTOMPATH) -- работает
  4. far.ShowHelp(win.Uuid(guid),nil,far.Flags.FHELP_GUID) -- не работает
  5. far.ShowHelp(guid          ,nil,far.Flags.FHELP_GUID) -- не работает
Почему первый вариант работает, а второй нет (третий я уже на всякий случай попробовал)?

Shmuel
Posts: 5166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 15 times
Been thanked: 145 times

LuaMacro — Lua как язык макросов

Post by Shmuel » Tue 16 May, 2017 09:49

Исправлено, спасибо за репорт.

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

LuaFAR — библиотека для создания плагинов на языке Lua

Post by John Doe » Thu 17 Aug, 2017 14:23

В статье о far.SendDlgMessage сказано, что для DM_LISTSETCURPOS возвращаемое значение имеет тип Integer, а о смысле возвращаемого значения ничего, т.е. отсылает к Энциклопедии, где сказано:

Code: Select all

Скорректированная позиция курсора в списке с учётом разделительных линий и недоступных пунктов. 
И вот тут всплывает, что позиция курсора считается в luafar c 1, а не с 0.
Вопрос: так и задумано, возвращать значение без корректировки?

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

LuaFAR — библиотека для создания плагинов на языке Lua

Post by zg » Thu 17 Aug, 2017 14:31

вряд ли.

Shmuel
Posts: 5166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 15 times
Been thanked: 145 times

LuaFAR — библиотека для создания плагинов на языке Lua

Post by Shmuel » Thu 17 Aug, 2017 14:49

Спасибо за репорт, исправлено.

Post Reply

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