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

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 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, в дистрибутиве)

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

Полезное по теме: См. также:
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Latest post of the previous page:

Shmuel wrote: они все ломаются при этом.
И в самом фаре, в главном меню (в других местах нормально, хотя всё не проверял).
В Писании явно не сказано, вот никто и не учитывает такую ситуацию.
Shmuel wrote: Можете поместить на мантис.
Осталось понять, чего желать.
Учитывать только в возвращаемом значении недостаточно.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

John Doe wrote: Осталось понять, чего желать.
Как по мне, то можно оставить всё как есть. Не фиг лезть в чужое меню, удалять там пункты или менять их местами.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Shmuel wrote: Не фиг лезть в чужое меню, удалять там пункты или менять их местами.
Практика показывает что иногда надо: http://forum.farmanager.com/viewtopic.p ... 47#p129347
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Это - хак, мне подобные вещи не нравятся. Впрочем, о вкусах не спорят.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Shmuel wrote: Это - хак
Не уверен, что это можно так квалифицировать. Используется легальное апи, по назначению.
У вас насколько я помню был макрос, убирающий скобки с кнопок. Хак или нет? Где грань?
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

John Doe wrote: У вас насколько я помню был макрос, убирающий скобки с кнопок. Хак или нет? Где грань?
Это был хак. Но данный макрос я писал не для себя.
А грани чёткой действительно нет, поэтому каждый руководствуется своим чувством меры.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Shmuel wrote: Как по мне, то можно оставить всё как есть.
Полез посмотреть я как же оно в c api, и... завис.
Возвращаемое значение
Функция возвращает или -1, если пользователь отменил меню, или номер выбранного элемента меню.
Т.е. вижу что возвращается номер пункта, и всё.
Хоть убей НЕ ПОНИМАЮ как же тогда (например) в меню плагинов после удаления одного или нескольких пунктов по Enter вызывается правильный плагин?!

P.S.
Видимо изнутри фара меню не то же самое, что доступно через апи плагинам.
И как ни крути far.Menu невозможно научить тому, чего нет в апи.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

А не поломалось ли колоночное апи? Или я не то делаю?

Code: Select all

Column types
N,<test>

Code: Select all

function export.GetContentFields(ColNames)
  for i,v in ipairs(ColNames) do
    if v:lower()=="test" then return true end
  end
end

function export.GetContentData (FilePath, ColNames)
  local data = {}
  for i,v in ipairs(ColNames) do
    if v:lower()=="test" then
      data[i] = "test"
    end
  end
  return next(data) and data
end
В результате колонка пустая.
(раньше вроде работало)
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Вы это, случайно, не в LuaMacro делаете? Если в нём, то работать и не должно, т.к. luamacro.dll не экспортирует соответствующие функции.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Я использую выложенные вами шаблоны плагинов. И функции реально вызываются, хотя как-то странно...
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Сейчвс проверил на 3.0.4409 с вашим скриптом - работает.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Что не всегда работает - это переход на данный режим из диалога настройки режима по CtrlEnter. Иногда работает сразу, иногда надо сначала сделать CtrlEnter из другого режима, затем повторить в данном. Раньше такого не замечал.
Отбой, я просто делал это неправильно.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Shmuel wrote: Иногда работает сразу, иногда надо сначала сделать CtrlEnter из другого режима, затем повторить в данном.
Отображение заголовков включено?
При первом переходе режим панели устанавливается сразу, вот только панель не обновляется. Т.е. приходится жать CtrlR, чтобы заполнилась наша колонка.
Если в этой папке попереключать режимы дальше, то панель уже будет обновляться сама.
Но если перейти в другую папку, то всё по новой.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

John Doe wrote: Отображение заголовков включено?
Включено.
(Предыдущее сообщение отредактировано).
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

А моё наблюдение подтверждаете? На мантис?
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

John Doe wrote: А моё наблюдение подтверждаете? На мантис?
Не могу повторить, вроде всё работает без CtrlR. Распишите подробнее, по шагам, для тупых.
Post Reply

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