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
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

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

Post by Smitis »

Latest post of the previous page:

Баг: win.SetRegKey не правильно определяет длину expandstring
lua:win.SetRegKey("HKCU","Environment","A","string","%systemroot%") - пишет правильно
lua:win.SetRegKey("HKCU","Environment","A","expandstring","%systemroot%") - пишет ровно половину
multistring не проверял multistring вообще непонятно что пишется
Разум когда-нибудь победит.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Smitis wrote: Баг:
Пробуйте.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

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

Post by Smitis »

Спасибо, пробую
Разум когда-нибудь победит.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

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

Post by Smitis »

Справка macroapi_manual.ru.chm (+en) раздел Плагин LuaMacro\Работа с командной строки - упоминание macro: и lm: можно уже убирать.
Разум когда-нибудь победит.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Smitis wrote: Справка macroapi_manual.ru.chm (+en) раздел Плагин LuaMacro\Работа с командной строки - упоминание macro: и lm: можно уже убирать.
Не понял. Почему можно уже убирать? Что изменилось?
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

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

Post by Smitis »

А, сорри, оказывается это ещё работает. Пребывал в абсолютной уверенности, что эти префиксы давно убрали, что даже не проверил. :oops:
Разум когда-нибудь победит.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

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

Post by IgorZ »

win.SetRegKey портит записываемое значение.

Code: Select all

far.Show(win.GetRegKey("HKCU","Environment","TMP"))
win.SetRegKey("HKCU","Environment","TMP","expandstring",[[%USERPROFILE%\Local Settings\Temp]])
far.Show(win.GetRegKey("HKCU","Environment","TMP"))
Значение до:

Code: Select all

  ╔═══════════════════════════════════════╗
  ║  1│ %USERPROFILE%\Local Settings\Temp ║
  ║  2│ expandstring                      ║
  ╚═════════════ 2 arguments ═════════════╝
Значение после:

Code: Select all

  ╔══════════════════════════════╗
  ║  1│ %USERPROFILE%\Loc炂<c♠ij♀ ║
  ║  2│ expandstring             ║
  ╚════════ 2 arguments ═════════╝
Проверено на Windows XP, Far 3.04479 x86.
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

IgorZ, это было исправлено 3 дня назад.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

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

Post by IgorZ »

Shmuel wrote:IgorZ, это было исправлено 3 дня назад.
Спасибо за сверхоперативную реакцию. :)
aflexus
Posts: 74
Joined: Sat 12 Mar, 2011 16:57
Has thanked: 23 times
Been thanked: 1 time

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

Post by aflexus »

Как из меню фара при помощи lua запустить консольное приложение с повышенными правами? Что-то на подобие sudo, но чтобы можно было использовать переменные lua
2useven10
Posts: 5210
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

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

Post by 2useven10 »

попробуйте плагин Sudo.
aflexus
Posts: 74
Joined: Sat 12 Mar, 2011 16:57
Has thanked: 23 times
Been thanked: 1 time

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

Post by aflexus »

2useven10 wrote: попробуйте плагин Sudo.
Плагин давно пользую. Прекрасно работает. Но необходимо запустить процесс при помощи lua из пользовательского меню. После префикса lua: префикс sudo: уже не работает.
User avatar
cmd.exe
Posts: 378
Joined: Fri 16 Apr, 2010 18:26
Location: Нижний Новгород
Has thanked: 181 times
Been thanked: 10 times
Contact:

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

Post by cmd.exe »

Из юзер меню возвожно запускать внешние макросы по префиксу.
А что вам мешает по макроапи обратится к библиотеке? Можно и по плагин апи через ffi.
I've been using Vim for about 2 years now, mostly because I can't figure out how to exit it. (c) I Am Devloper
I know nothing except the fact of my ignorance. (с) Socrates
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

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

Post by Smitis »

aflexus wrote:После префикса lua: префикс sudo: уже не работает.
Plugin.Command не оно?
Разум когда-нибудь победит.
aflexus
Posts: 74
Joined: Sat 12 Mar, 2011 16:57
Has thanked: 23 times
Been thanked: 1 time

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

Post by aflexus »

Smitis wrote: Plugin.Command не оно?
Как? Можно какой-либо пример, плиз? В добавок, у Sudo даже настроек нет, как узнать его ID? А что если мне нужна функциональность с запросом. К примеру:

Code: Select all

set F_Port=!?Enter Port?!
sudo: netsh advfirewall firewall add rule name="Allow in TCP port %F_Port%" protocol=TCP localport=%F_Port% action=allow dir=IN
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

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

Post by Smitis »

aflexus wrote:Как? Можно какой-либо пример, плиз? В добавок, у Sudo даже настроек нет, как узнать его ID?
lua:Plugin.Command("C5DA0A14-FFAF-453E-9C3A-10B4C0FC0804","sudo:notepad.exe")
Разум когда-нибудь победит.
Post Reply

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