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

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

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

Post by John Doe »

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

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

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

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

Полезное по теме: См. также:
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

Latest post of the previous page:

IgorZ wrote:Похоже, в editor.Editor позиционирование курсора было сломано лишний раз.
Спасибо за репорт. Поправлено, будет в следующей ночной сборке.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

DM_GETTEXT в меню возвращает мусор.

Code: Select all

Keys"F11"
local hDlg = far.AdvControl ("ACTL_GETWINDOWINFO").Id
far.Show(far.SendDlgMessage (hDlg, "DM_GETTEXT",1))
Или эта команда не применима к меню?
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

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

Post by t-rex »

не применима.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Цель: получить заголовок.
DM_LISTGETTITLES валит плагин.

Подскажите как работать с меню.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

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

Post by t-rex »

ты не можешь работать с меню диалоговыми функциями.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

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

Post by t-rex »

И луа тут не причём, иди читай плагин АПЙ.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Если бы прочитать было достаточно, так его ещё и разгадать надо )

В Plugin API нет понятия меню, но некоторые диалоговые функции работают, потому и искал среди них.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

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

Post by t-rex »

диалоговые функции это DialogRun, DialogInit, DialogFree in SendMessage, они к меню никакого отношения не имеют.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

John Doe wrote:Цель: получить заголовок.
DM_LISTGETTITLES валит плагин.

Подскажите как работать с меню.
А Object.Title чем не подходит?
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

t-rex wrote:диалоговые функции это DialogRun, DialogInit, DialogFree in SendMessage, они к меню никакого отношения не имеют.
В Писании никаких специальных функций для меню не предусмотрено, но ведь основа меню - диалоговая.
В ProcessDialogEvent приходят события из меню.

И (по крайней мере) некоторые команды SendDlgMessage прекрасно работают и с меню.
Shmuel wrote:А Object.Title чем не подходит?
Хотел не получить, а изменить заголовок, причём нижний.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

John Doe wrote:
Shmuel wrote:А Object.Title чем не подходит?
Хотел не получить, а изменить заголовок, причём нижний.
Что вы хотели, я знать не мог, отвечал на то, что вы сказали:
John Doe wrote:Цель: получить заголовок.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Shmuel wrote:Что вы хотели, я знать не мог, отвечал на то, что вы сказали:
John Doe wrote:Цель: получить заголовок.
Ну и мне ведь надо было с чего-то начать, прежде чем пытаться менять )
В Писании пробелов очень много, приходится восполнять практикой.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

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

Post by zg »

t-rex wrote:ты не можешь работать с меню диалоговыми функциями.
разве?
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

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

Post by t-rex »

я уже сам запутался где у нас что
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

IgorZ wrote:
Smitis wrote:
IgorZ wrote:И отдельная просьба. Не смог сам разобраться, как получить Descriptions.ListNames.
Far.Cfg_Get("Descriptions","ListNames")
Спасибо. А я-то копал

Code: Select all

far.CreateSettings("far")
Кстати, а через него можно?
Похоже, через него доступны только эти 26 параметров

Code: Select all

Confirmations.Copy            │number  │0x00000001 (1)
Confirmations.Delete          │number  │0x00000001 (1)
Confirmations.DeleteFolder    │number  │0x00000001 (1)
Confirmations.Drag            │number  │0x00000001 (1)
Confirmations.Esc             │number  │0x00000001 (1)
Confirmations.Exit            │number  │0x00000001 (1)
Confirmations.HistoryClear    │number  │0x00000001 (1)
Confirmations.Move            │number  │0x00000001 (1)
Confirmations.RO              │number  │0x00000001 (1)
Confirmations.RemoveConnection│number  │0x00000001 (1)
Dialog.DelRemovesBlocks       │number  │0x00000001 (1)
Dialog.EULBsClear             │number  │0x00000000 (0)
Dialog.EditBlock              │number  │0x00000000 (0)
Editor.WordDiv                │string  │"~!%^*()+|{}:"<>?`-=\[];',./"
Interface.ShowMenuBar         │number  │0x00000000 (0)
Panel.ShortcutAlwaysChdir     │number  │0x00000000 (0)
Panel.ShowHidden              │number  │0x00000001 (1)
PanelLayout.ColumnTitles      │number  │0x00000001 (1)
PanelLayout.DetailedJunction  │number  │0x00000000 (0)
PanelLayout.SortMode          │number  │0x00000001 (1)
PanelLayout.StatusLine        │number  │0x00000001 (1)
Screen.KeyBar                 │number  │0x00000001 (1)
System.CopyOpened             │number  │0x00000001 (1)
System.DeleteToRecycleBin     │number  │0x00000000 (0)
System.PluginMaxReadData      │number  │0x00020000 (131072)
System.ScanJunction           │number  │0x00000001 (1)
EGez
Posts: 145
Joined: Thu 04 Oct, 2012 13:53
Location: Hamburg, DE
Has thanked: 2 times
Been thanked: 2 times

Re: Ликбез по Lua

Post by EGez »

Есть ли возможность спросить версию Far из Lua?

Такой вот вариант как-то мне не очень нравится:
  1. Far.Title:match(' - Far ([%d%.]+)')
Post Reply

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