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

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

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

Post by John Doe » Mon 29 Apr, 2013 20:21

Особенности

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

Скрипт и функции всех макросов можно проверить никуда не устанавливая, через меню пользователя.
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 247 times

User avatar
John Doe
Бюрократ
Posts: 11076
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

История

Post by John Doe » Mon 29 Apr, 2013 22:03

К созданию меня подтолкнул один из недостатков LuaManager, а именно: в некоторых случаях невозможно было открыть файл с макросом.
Немного модифицировав GetMacroCopy я добился желаемого.
Утилита оставалась очень простой, и тем не менее почти достаточной для моих задач.
Единственная функция, которой мне не хватало: считывать нажатие клавиши, и фильтровать по ней список.
Однако реализовав это остановиться не получилось, т.к. возникают всё новые идеи )

User avatar
John Doe
Бюрократ
Posts: 11076
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Re: GetMacroCopy

Post by John Doe » Mon 29 Apr, 2013 22:57

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


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

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

P.S.

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

Re: GetMacroCopy

Post by Shmuel » Tue 30 Apr, 2013 10:12

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

User avatar
John Doe
Бюрократ
Posts: 11076
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Re: GetMacroCopy

Post by John Doe » Tue 30 Apr, 2013 10:22

Исправил строку 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: 11076
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

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

Post by John Doe » Tue 30 Apr, 2013 21:25

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

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

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Tue 30 Apr, 2013 21:36

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

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

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

User avatar
John Doe
Бюрократ
Posts: 11076
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

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

Post by John Doe » Tue 30 Apr, 2013 22:04

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

Нельзя ли вашу ExpandKey возвращать из utils?

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Tue 30 Apr, 2013 22:09

Но мой велосипед вроде тоже катит
Может он ещё лучше катит. Но здесь имеет значение производительность (ваш велосипед не исследовал).
Нельзя ли вашу ExpandKey возвращать из utils?
Возвращать куда?

User avatar
John Doe
Бюрократ
Posts: 11076
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

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

Post by John Doe » Tue 30 Apr, 2013 22:18

из модуля по return

Впрочем применение редкое, можно и скопипастить при необходимости

User avatar
John Doe
Бюрократ
Posts: 11076
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Re: GetMacroCopy

Post by John Doe » Wed 01 May, 2013 00:07

Реализован фильтр по нажатой клавише.
По Ctrl-NumLock считывается клавиша, и в списке остаются только макросы реагирующие на неё.
Учитываются "право/левостороннесть" модификаторов, и клавиши, заданные регэкспами.

User avatar
sToLp
Posts: 691
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 31 times
Been thanked: 5 times

Re: GetMacroCopy

Post by sToLp » Wed 01 May, 2013 05:37

— на нём макрос .fmlua

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

Re: GetMacroCopy

Post by Shmuel » Wed 01 May, 2013 05:57

sToLp wrote: — на нём макрос .fmlua
То, что на нём макрос .fmlua, не имеет значения. Любое сочетание, включающее /, даже / сам по себе, дают ту же ошибку.

User avatar
John Doe
Бюрократ
Posts: 11076
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Re: GetMacroCopy

Post by John Doe » Wed 01 May, 2013 10:08

Что-то я не пойму как же использовать слэш в регэкспе.
Даже экранированный он вызывает ошибку: regex.match("qwerty","\/")

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

Re: GetMacroCopy

Post by Shmuel » Wed 01 May, 2013 10:44

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

User avatar
John Doe
Бюрократ
Posts: 11076
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 11 times
Been thanked: 64 times

Re: GetMacroCopy

Post by John Doe » Wed 01 May, 2013 23:24

  • Исправлены ошибки (для баланса добавлены новые ))
  • Фильтр по файлам и по маскам, хоткеи пока от фонаря - CtrlAdd/CtrlSubtract
    Другие фильтры тоже добавить несложно.
  • Небольшой рефакторинг.
    Среди прочего: за форматирование списка отвечают функции formatMacro и formatEvent (в начале файла)
    Если у кого-то своё видение формата списка - легко исправить (не забудьте поделиться).
    Если будет востребовано, то в дальнейшем можно сделать переключение режимов, или подключение пользовательских режимов (из внешнего файла)
  • ShowMacros теперь принимает параметры, можно задать функцию, которая будет выполнена перед показом меню.
    Таким образом можно сразу задать нужный фильтр.

    В комплекте несколько макросов для области Common:
    - LCtrlShiftF11 - обычный список
    - LCtrlNumLock - фильтр по клавише
    - RCtrlNumLock - выбор фильтра (по файлу/по маске).

Post Reply

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

Who is online

Users browsing this forum: No registered users and 4 guests