Менеджер Lua-скриптов для Farа

Здесь выкладываются готовые к использованию макросы и скрипты.
Post Reply
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Менеджер Lua-скриптов для Farа

Post by IgorZ »

Выводит список всех Lua-скриптов Farа и позволяет манипулировать ими.









Требуемая версия Far 3.0.5210+.

Начиная с версии 4.0, скрипт выполнен в виде модуля и набора вызывающих макросов.

Attachments
LuaManager.6.0.2.7z
Версия для Far 3.0.0.5934+
(65.47 KiB) Downloaded 81 times
LuaManager.5.2.0.7z
Версия для Far 3.0.0.5210+
(58.78 KiB) Downloaded 215 times
LuaManager.5.0.6.7z
Последняя опубликованная версия, поддерживающая Far 3.0.0.4000 и выше
(59.02 KiB) Downloaded 347 times
LuaManager.3.1.11.7z
Последняя версия, выполненная не в виде модуля
(50.56 KiB) Downloaded 510 times
Last edited by IgorZ on Wed 25 Oct, 2023 10:02, edited 24 times in total.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Re: Менеджер Lua-скриптов для Fara

Post by IgorZ »

1. Огромная благодарность
  • Всей команде Far (включая праотца Рошала) - за него, родимого;
  • Smuel - за LuaFar вообще и за макрос, выводящий список всех скриптов в Farе, послуживший изначальной заготовкой, в частности;
  • SimSU - за макрос InsertMacro, взятый за образец для диалога редактирования;
  • John Doe - за аккуратно собранную в одном месте информацию по обработке событий. Без этого я вряд ли разобрался бы в этом так быстро.
2. Заколебался тестить. Глаз уже замылился, и я пару раз натыкался на тривиальные ошибки в, казалось бы, насквозь проверенных местах. Так что за багрепорты буду благодарен отдельно.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Менеджер Lua-скриптов для Fara

Post by Max Rusov »

1. Это явно лишнее:


2. Часть макросов отказывается редактировать. Зависимость не понял.


Upd. Возможно, это из за того, что область задается через переменную:

Code: Select all

Macro { description="Use Alt-digit to switch between screens";
  area=allScreens; key="/^[LR]Alt[0-9]$/"; 
3. При открытии макроса в редакторе он открывается в модальном режиме. При этом не работают все макросы редактора, т.е. пользоваться этим невозможно. Возможно, лучше открывать в немодальном режиме.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Менеджер Lua-скриптов для Fara

Post by John Doe »

На какую ширину экрана рассчитано меню?

У меня есть длинные перечисления макрообластей, и длинные перечисления клавиш, возможно поэтому расползается.
Обрезать бы
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Менеджер Lua-скриптов для Fara

Post by Max Rusov »

Можно области отображать компактно, а из кнопок - только первую. Пример, как сделано в MacroLib:
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Re: Менеджер Lua-скриптов для Fara

Post by IgorZ »

Max Rusov wrote:1. Это явно лишнее:
Возможно. При тестировании мне это показалось удобным Но в тот момент мне вообще казалось удобным сообщение на каждый чих. Сделаю настройку или уберу вообще.
Max Rusov wrote:2. Часть макросов отказывается редактировать. Зависимость не понял.


Upd. Возможно, это из за того, что область задается через переменную:

Code: Select all

Macro { description="Use Alt-digit to switch between screens";
  area=allScreens; key="/^[LR]Alt[0-9]$/"; 
Ага, из-за этого. Я сначала сгоряча хотел искать в файле присвоение значения такой переменной, но потом прикинул, и понял, что нереально. В общем случае нужен полный анализ всего содержимого файла, что черезчур.
Max Rusov wrote:3. При открытии макроса в редакторе он открывается в модальном режиме. При этом не работают все макросы редактора, т.е. пользоваться этим невозможно. Возможно, лучше открывать в немодальном режиме.
Если открывать в немодальном, то получается ерунда: при любом переключении на друой экран появляется меню макроса, а вернуться обратно в редактор нельзя, пока меню не закроется. Кстати, макросы работают. Не работают почему-то только макролибовские. Но если вызывать их из меню плагина - тоже работают.
John Doe wrote:На какую ширину экрана рассчитано меню?
Автоматом, по самой длинной строке. Это сам LuaFar делает.
John Doe wrote:У меня есть длинные перечисления макрообластей, и длинные перечисления клавиш, возможно поэтому расползается.
Обрезать бы
Подумаю, как лучше. Раньше режима F3 не было, вот и выводил основную информацию полностью.
Max Rusov wrote:Можно области отображать компактно, а из кнопок - только первую. Пример, как сделано в MacroLib:
Возможно, так и сделаю. Хотя 1 буквы для области, возможно, маловато. 2 попробовать, что ли?
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Менеджер Lua-скриптов для Fara

Post by John Doe »

IgorZ wrote:Я сначала сгоряча хотел искать в файле присвоение значения такой переменной, но потом прикинул, и понял, что нереально. В общем случае нужен полный анализ всего содержимого файла, что черезчур.
Если был бы доступ к среде макрофайла, то можно было бы получить значение переменной просто по имени.
Может там всё просто, попробуйте getfenv применить к action
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Менеджер Lua-скриптов для Fara

Post by John Doe »

Так не выйдет, в среду не попадают локальные переменные...

Тем не менее попутно хотелка: просмотр среды action/condition.
Полезно для выявления необъявленных переменных.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Re: Менеджер Lua-скриптов для Fara

Post by IgorZ »

Версия 1.0.1 - мелкие правки: убрал сообщение об отказе от редактирования, сделал компактный вывод областей макросов. Пока в функции ShortArea оставил все три возможных варианта: по 2 буквы и 2 варианта по 1-й (2 закомментированы), на пробу. Позже оставлю 1 лучший (высказывания по поводу приветствуются)
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Re: Менеджер Lua-скриптов для Fara

Post by IgorZ »

John Doe wrote:Так не выйдет, в среду не попадают локальные переменные...

Тем не менее попутно хотелка: просмотр среды action/condition.
Полезно для выявления необъявленных переменных.
Не совсем понял про хотелку. Какая среда имеется в виду?
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Менеджер Lua-скриптов для Fara

Post by John Doe »

Environment
http://www.lua.org/pil/14.3.html
http://lua-users.org/wiki/EnvironmentTables

Надо: getfenv(m.action)
Получим таблицу, которую например удобно просмотреть с помощью lua explorer
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Менеджер Lua-скриптов для Fara

Post by John Doe »

IgorZ wrote:Версия 1.0.1 - мелкие правки:
Обрежьте пожалуйста область клавиш, у меня есть и такое /^[RL]Alt(BS|Multiply|Add|Subtract|Multyply|Divide|BackSlash|.)$/
Соответственно занимает весь экран
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Менеджер Lua-скриптов для Fara

Post by John Doe »

И ещё один момент: последний столбец имеет смысл добивать пробелами, тогда получится хоть нормальный скроллинг (Alt-стрелки)
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Re: Менеджер Lua-скриптов для Fara

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Re: Менеджер Lua-скриптов для Fara

Post by IgorZ »

Версия 1.0.2 - Настройка максимальной ширины для клавиш и описаний (скроллинг при большой ширине также поправлен); показ файловых масок для обработчиков событий, окружения для condition/action.
Post Reply

Return to “Полезные макросы и скрипты”