LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Wed 29 Jul, 2009 21:41
by John Doe
Библиотека LuaFAR делает возможным написание плагинов на языке Lua, предоставляя им адаптированную версию FAR API.
Входит в состав FAR manager (начиная с 3.0 build 2851), и доступна для использования в макросах.
Справка по функциям библиотеки — luafar_manual.chm (в дистрибутиве, папка Encyclopedia).
Мануал весьма лаконичен, предполагает что вы ориентируетесь в FAR Plugins API (FarEncyclopedia.ru.chm, в дистрибутиве)
Дополнения к мануалу:
far.Menu: в описании приведена ссылка на статью Энциклопедии Виртуальные коды клавиш. Однако не все перечисленные там клавиши на самом деле обрабатываются фаром. В частности, в качестве BreakKey не могут выступать кнопки мыши.
LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Fri 09 Oct, 2015 19:15
by HaRT
Latest post of the previous page:
Shmuel, нет — я только что перепроверил.
LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Fri 09 Oct, 2015 19:26
by Shmuel
Исследовать это проблематично, поскольку проявляется крайне нерегулярно, но рабочее предположение - что Фар вызывает функции плагина из неосновного потока, причём перекрывая эти вызовы во времени с вызовами из основного потока. Это только в AltF7 Фар делает, насколько мне известно. В LuaFAR-плагинах есть защита от этого, но, как видно, не полная. Вообще Фар не должен был бы этого делать, по крайней мере плагинам в отношении FAR API это не разрешается.
LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Fri 18 Dec, 2015 16:06
by Smitis
В библиотеке явно "потерялась" функция для удаления значений в реестре. Всё остальное есть, перечисление, установка значения, а удаления нет. Может добавите win.DeleteRegValue (по аналогии с win.DeleteRegKey)?
LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Fri 18 Dec, 2015 17:51
by Shmuel
Smitis wrote: Может добавите win.DeleteRegValue (по аналогии с win.DeleteRegKey)?
Добавлено.
LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Fri 18 Dec, 2015 18:55
by Smitis
Спасибо, только там ошибка, в win_DeleteRegValue обработка двух параметров (Root, ValueName), а надо три (Root, Key, ValueName), ну и в RegDeleteValueW соответственно
Ошибка.
Тут получается, что в winapi есть RegDeleteValueW с двумя параметрами и RegDeleteKeyValueW с тремя параметрами.
По логике, win.DeleteRegValue нужно делать с тремя параметрами, RootKey и Key раздельно, по аналогии с другими функциями.
LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Fri 18 Dec, 2015 19:20
by Shmuel
Спасибо, исправлено.
LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Fri 18 Dec, 2015 19:55
by Smitis
Заработало! Спасибо.
LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Sun 20 Dec, 2015 13:06
by Smitis
Баг: win.SetRegKey не правильно определяет длину expandstring lua:win.SetRegKey("HKCU","Environment","A","string","%systemroot%") - пишет правильно lua:win.SetRegKey("HKCU","Environment","A","expandstring","%systemroot%") - пишет ровно половину multistring не проверял multistring вообще непонятно что пишется
LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Sun 20 Dec, 2015 14:11
by Shmuel
Smitis wrote: Баг:
Пробуйте.
LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Mon 21 Dec, 2015 09:06
by Smitis
Спасибо, пробую
LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Tue 22 Dec, 2015 08:12
by Smitis
Справка macroapi_manual.ru.chm (+en) раздел Плагин LuaMacro\Работа с командной строки - упоминание macro: и lm: можно уже убирать.
LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Tue 22 Dec, 2015 08:26
by Shmuel
Smitis wrote: Справка macroapi_manual.ru.chm (+en) раздел Плагин LuaMacro\Работа с командной строки - упоминание macro: и lm: можно уже убирать.
Не понял. Почему можно уже убирать? Что изменилось?
LuaFAR — библиотека для создания плагинов на языке Lua
Posted: Tue 22 Dec, 2015 09:09
by Smitis
А, сорри, оказывается это ещё работает. Пребывал в абсолютной уверенности, что эти префиксы давно убрали, что даже не проверил.
LuaFAR — библиотека для создания плагинов на языке Lua