Page 1 of 2

MacroLib — Far Macro Library

Posted: Fri 07 Jan, 2011 00:21
by Max Rusov
MacroLib для Far 2/3

Плагин предназначен для управления макросами FAR, хранимыми в текстовом формате.

Плагин использует собственный формат файла - FML (Far Macro Library). В одном FML файле может быть записано произвольное количество макросов. При запуске плагин ищет все FML файлы в заданном каталоге (по умолчанию - подкаталог Macros в каталоге плагина). Если макросу назначена горячая клавиша, то он будет вызван автоматически при ее нажатии. Макросы, которым не назначена горячая клавиша, можно вызывать через меню плагина. Если на одну горячую клавишу назначено несколько макросов, то при ее нажатии будет предложено выбрать один из них.

Домашняя страница, исходные тексты
Страница на Plugring
Обсуждение



Re: MacroLib — Far Macro Library

Posted: Sun 09 Jan, 2011 01:42
by Max Rusov
Ver 1.0.2

* Поддержаны все условия срабатывания макросов. Задаются с помощью параметра Condition. Подробности в Readme.txt

* Возможность привязки макросов к конкретному диалогу по GUID.

Для демонстрации этой возможности в комплекте идет:
макрос возвращающий поиску прежнее поведение (c) John Doe
http://forum.farmanager.com/viewtopic.php?f=15&t=3392

* Исправленная схема для colorer'а

Re: MacroLib — Far Macro Library

Posted: Tue 11 Jan, 2011 17:47
by Max Rusov
Ver 1.0.3

- Описания констант в FML файле. Константы можно использовать при указании
макрообластей и в тексте макропоследовательности.

- Include в FML файлах. Можно подключать файлы с описанием констант, например.
Также поддерживается #Include в тексте макропоследовательности, таким
образом можно включать "plain-text" макросы или макросы от плагина SelMacro.

- Макроподстановка #AKey, для замены неработающих $AKey и AKey()
см. пример - AltScreens.fml

- Возможно назначение макросов на однократное нажатие префиксных клавиш
Ctrl/Alt/Shift. Обратите внимание: чтобы поведение таких макросов было
аналогично стандартному поведению в FAR (макрос срабатывает при _отпускании_
префиксной клавиши) необходимо явно указать параметр: RunOnRelease=1

- Изменено поведение при обработке правых и левых префиксных клавиш:

1. Если макрос назначен на CtrlX то он сработает при нажатии на CtrlX и при
нажатии на RCtrlX
2. Если макрос назначен на RCtrlX то он сработает только при нажатии RCtrlX
3. Если два макроса назначены на CtrlX и RCtrlX, то они будут срабатывать
только при нажатии соответствующей им клавиши.

Назначение разных макросов на правые и левые префиксные клавиши дает
возможность назначить в два раза больше макросов :)

Re: MacroLib — Far Macro Library

Posted: Sat 15 Jan, 2011 01:09
by Max Rusov
Ver 1.0.4

- В списке макросов возможна фильтрация и упорядочиванию по любому столбцу,
Ctrl-2/3/4 циклически переключают режимы отображения столбцов.
Подробности в хелпе (F1)

- Для задания некоторых макрообластей используются сокращенный наименования
(длинные имена оставлены в качестве синонимов)

- Исправлен ряд ошибок

Re: MacroLib — Far Macro Library

Posted: Sun 16 Jan, 2011 00:20
by Max Rusov
Ver 1.0.5

- Альтернативный способ запуска макросов - по событию. В текущей версии
поддерживается только один тип события "Open". Если это событие
назначено для области Shell, то макрос исполняется один раз при
запуске FAR. Если событие назначено для областей Editor, Viewer или
Dialog то макрос исполняется каждый раз при открытии соответствующего
окна. Для других областей событие игнорируется.

- Новые команды в списке макросов:
Alt-F4 - Открывает макрос в модальном текстовом редакторе
F5 - Обновляет макросы (работает только в полном списке макросов)

- В списке макросов показываются подсказки (требуется плагин FarHints)

Re: MacroLib — Far Macro Library

Posted: Tue 18 Jan, 2011 00:19
by Max Rusov
Ver 1.0.6

- Возможность привязки макросов к конкретному диалогу по Caption. Полезно,
пока не все диалоги снабжены GUID'ами.

- Возможность привязки макросов к одинарному/двойному нажатию клавиши или
кнопки мыши, или удержании кнопки в течении тайм-аута. В сумме это дает
возможность назначить на одну кнопку до 4-х макросов :)
Подробности - Readme.txt

- Обработка клавиатуры и мыши автоматически отключается на время записи и
проигрывания макросов.

Re: MacroLib — Far Macro Library

Posted: Sat 22 Jan, 2011 22:13
by Max Rusov
Ver 1.0.7

- Приоритет макроса. Если под условия срабатывания попало сразу несколько
макросов, то будет исполнен макрос, обладающий наибольшим приоритетом.
Если имеется несколько макросов с одинаковым приоритетом, то будет
показан диалог со списком макросов и предложено выбрать один из них.

- Правила срабатывания макросов, назначенных на буквенные клавиши приведены
в соответствие со стандартом в FAR: макрос назначенный на "Z" срабатывает
при нажатии на "z", "ShiftZ", "я" и "ShiftЯ", при этом макроподстановка
#AKey вернет код символа: "z", "Z", "я", "Я" соответственно.

- Возможность привязки макросов в области Editor/Viewer к определенному типу
файлов, по маске. Подробности в Readme.txt.

- В списке макросов, в колонке с кнопками отображаются модификаторы нажатий.

- Исправлено несколько ошибок

Re: MacroLib — Far Macro Library

Posted: Thu 27 Jan, 2011 23:40
by Max Rusov
Ver 1.0.8

- Требуется FAR Build 1800+

- В макросах работают стандартные функции AKey()/$AKey. Макроподстановка
#AKey оставлена, для совместимости

- Поддержка командных префиксов. Префикс по умолчанию "FML", настраивается
в реестре (ключ CmdPrefix). Пока поддерживаются только команды Call и Key.
Подробности - Readme.txt

- Поддержка исполнения команд через CallPlugin. Синтаксис командной строки
точно такой же, как через префикс (только не надо писать "FML:")
Пример:

CallPlugin(MacroLib, "call Hello")

Примечание: Хотя вызов макроса из макроса через CallPlugin похож на вызов
макрофункций через Eval, он обладает существенно отличным поведением в
связи с особенностями реализации: исполнение текущего макроса прекращается
и начинает исполняться вызванный макрос, эту особенность необходимо
учитывать при использовании данной функции.

- Исправлено несколько ошибок.

Re: MacroLib — Far Macro Library

Posted: Wed 16 Feb, 2011 10:17
by Max Rusov
Ver 1.0.9

- Новые модификаторы нажатий - Down и Up:

Down - Макрос срабатывает только при нажатии (без автоповтора)
Up - Макрос срабатывает при отпускании. В отличии от Release
макрос срабатывает при отпускании префиксных клавиш, даже
если были комбинированные нажатия

Re: MacroLib — Far Macro Library

Posted: Sat 14 Jan, 2012 13:56
by Max Rusov
Ver 1.0.14

- Поддержка новых версий Far3 (Far 3.0.2379+ )

- Far 3: Новые макрообласти "DlgACompl" и "ShellACompl". Если указано
просто "ACompl", то макрос работает в обоих областях, как и раньше.

- Far 3: В связи с тем что ProcessConsoleInput пока не доделан, в плагин
добавлена возможность обработки клавиатуры через injection, как в Far 2.
Для включения этого режима включите опцию "Use Injection" в настройках
плагина и перезагрузите FAR.

Re: MacroLib — Far Macro Library

Posted: Tue 17 Jan, 2012 12:26
by Max Rusov
Ver 1.0.15

* Far 3.0.2380+ (...)

Re: MacroLib — Far Macro Library

Posted: Sun 04 Mar, 2012 21:30
by Max Rusov
Ver 1.0.17

- Поддержка регулярных выражений в привязке клавиш (только для Far3)
Подробности в History.txt

- Условие срабатывания Selected работает и в диалогах

Re: MacroLib — Far Macro Library

Posted: Sun 07 Oct, 2012 22:36
by Max Rusov
Ver 1.19

* Far3 build 2581+ (LUA)
* Расширение макрофайлов теперь - fmlua
* Добавлены однострочные комментарии в стиле LUA (начинающиеся с "--")
Внутри макропоследовательности комментарии специально не разбираются,
поэтому можно использовать _только_ комментарии LUA.

Re: MacroLib — Far Macro Library

Posted: Sun 04 Nov, 2012 20:42
by Max Rusov
Ver 1.20

+ Добавлена возможность вложения макросов друг в друга, с помощью директив:
#include_macro и #include_macro_once

Допустимо только однократное вложение.

* Исправление ошибок

Re: MacroLib — Far Macro Library

Posted: Sat 04 May, 2013 20:46
by Max Rusov
Ver 1.21

+ Список макросов отображает FML макросы и нативные LUA макросы/события
(если вызов списка производится через специальный макрос-хелпер)

+ В списке макросов часть макросов может быть скрыта. Скрытыми считаются
макросы не имеющие описания, или если их описание начинается с точки.
Показать скрытые макросы - Ctrl-H.

+ В списке макросов добавлены заголовки столбцов. Клик на заголовке -
упорядочивает по столбцу.

+ Расширенные команды Plugin.Call. Подробности - в readme.txt.

+ При установленном плагине FarHints ошибка компиляции макросов может
показываться в неблокирующем режиме (см. макрос "Update macroses")

* Запуск новых макросов не блокируется во время исполнения предыдущего макроса.
(но блокируется во время записи)