Macro Browser alt. — обозреватель макросов

Здесь выкладываются готовые к использованию макросы и скрипты.
Post Reply
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Macro Browser alt. — обозреватель макросов

Post by John Doe »

Особенности

Действия с макросами в списке
Фильтры
Сортировка
Прочее

Скрипт и функции всех макросов можно проверить никуда не устанавливая, через меню пользователя.
FarMenu.ini прилагается .

Запуск:
  • Пункт в меню плагинов Macro Browser alt. открывает полный список назначенных макросов.
  • Аналогичный пункт в меню конфигурации плагинов (AltShiftF9) позволяет настроить собственные макросы скрипта (открывает список макросов, относящихся к Macro Browser alt.)
    Отсюда удобно менять комбинации клавиш, или отключать неиспользуемые макросы.
Макросы:
Дополнительные макросы:
В качестве модуля:
Требования:
Предупреждение для неопытных пользователей

http://forum.farmanager.com/viewtopic.php?f=15&t=10376

Отзывы и пожелания приветствуются.

Attachments
MacroBrowserAlt.7z
r1.3
(13.06 KiB) Downloaded 653 times
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

История

Post by John Doe »

К созданию меня подтолкнул один из недостатков LuaManager, а именно: в некоторых случаях невозможно было открыть файл с макросом.
Немного модифицировав GetMacroCopy я добился желаемого.
Утилита оставалась очень простой, и тем не менее почти достаточной для моих задач.
Единственная функция, которой мне не хватало: считывать нажатие клавиши, и фильтровать по ней список.
Однако реализовав это остановиться не получилось, т.к. возникают всё новые идеи )
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: GetMacroCopy

Post by John Doe »

Небольшая модификация исходной утилиты.


При выборе макроса в редакторе открывается файл с его определением.
Курсор устанавливается на функцию заданную в action
(Редактор модальный, при закрытии возвращаемся в меню.)

Update
Ну и ещё немного.
1. Ограничение ширины столбцов (как в макросе IgorZ)
2. Примеры дополнительных функций по
Во вложении то что получилось.

P.S.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: GetMacroCopy

Post by Shmuel »

John Doe wrote:Ну и ещё немного.
1. Ограничение ширины столбцов (как в макросе IgorZ)
2. Примеры дополнительных функций [.....]
Во вложении то что получилось.
Нажатие F3 на эвенте приводит к ошибке.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: GetMacroCopy

Post by John Doe »

Исправил строку 36 на
Keys: %s]]):format(m.area or m.group,m.key or ""),m.description or m.id,nil,"l")

Плюс была ошибка в наименовании BreakKey для PageUp (надо: Prior)
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 »

Shmuel wrote:Области и группы в LuaMacro - регистроНЕзависимые.
Клавиши тоже регистронезависимы.
И к тому же не всё просто с левыми и правыми модификаторами: клавиша с модификатором заданным как Ctrl преобразуется в 2 отдельные с LCtrl и RCtrl (аналогично и с Alt)

Почему-то не нашёл в luamacro функцию, которая этим занимается.
Подскажите где искать.
А то вот сижу, собственный велосипед мастерю.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

John Doe wrote:Клавиши тоже регистронезависимы.
И к тому же не всё просто с левыми и правыми модификаторами: клавиша с модификатором заданным как Ctrl преобразуется в 2 отдельные с LCtrl и RCtrl (аналогично и с Alt)

Почему-то не нашёл в luamacro функцию, которая этим занимается.
Подскажите где искать.
А то вот сижу, собственный велосипед мастерю.
С клавишами проблем у сабжа не заметил, поэтому не упоминал. А насчёт областей и групп - сообщил, поскольку вдруг заметил, что один из моих эвентов отсутствует в меню сабжа.

В LuaMacro всё преобразуется с помощью lower(). А левыми-правыми модификаторами занимается ф-ция ExpandKey.
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 »

Shmuel wrote:А левыми-правыми модификаторами занимается ф-ция ExpandKey.
И куда я смотрел...
Но мой велосипед вроде тоже катит
Хотя не, кое-где глючит...Починил

Нельзя ли вашу ExpandKey возвращать из utils?
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

Но мой велосипед вроде тоже катит
Может он ещё лучше катит. Но здесь имеет значение производительность (ваш велосипед не исследовал).
Нельзя ли вашу ExpandKey возвращать из utils?
Возвращать куда?
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 »

из модуля по return

Впрочем применение редкое, можно и скопипастить при необходимости
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: GetMacroCopy

Post by John Doe »

Реализован фильтр по нажатой клавише.
По Ctrl-NumLock считывается клавиша, и в списке остаются только макросы реагирующие на неё.
Учитываются "право/левостороннесть" модификаторов, и клавиши, заданные регэкспами.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Re: GetMacroCopy

Post by sToLp »

— на нём макрос .fmlua
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: GetMacroCopy

Post by Shmuel »

sToLp wrote: — на нём макрос .fmlua
То, что на нём макрос .fmlua, не имеет значения. Любое сочетание, включающее /, даже / сам по себе, дают ту же ошибку.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: GetMacroCopy

Post by John Doe »

Что-то я не пойму как же использовать слэш в регэкспе.
Даже экранированный он вызывает ошибку: regex.match("qwerty","\/")
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: GetMacroCopy

Post by Shmuel »

John Doe wrote:Что-то я не пойму как же использовать слэш в регэкспе.
Даже экранированный он вызывает ошибку: regex.match("qwerty","\/")
Недоэкранировали. Этот код даже не скомпилируется под Lua 5.2 или LuaJIT 2.0.
Post Reply

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