- развитый интерфейс;
- редактирование скриптов .lua/.moon в диалоговом окне;
- создание и удаление скриптов по
Ins
/Del
; - использование шаблонов при создании новых скриптов в диалоговом окне;
- вставка скрипта в текущий редактируемый файл;
- редактирование скрипта под курсором;
- возможность просмотра элементов environment/upvalues;
- более гибкая и наглядная настройка;
- большие возможности сортировки;
- возможность гибкой фильтрации;
- интеграция с модулем LuaExplorer;
- интеграция с модулем Rebind;
- интеграция с модулем RegScript;
- работа с модулями;
- Вызов, как модуля.
Esc
- выход;Enter
- выполнить макрос (но не эвент!), действующий в области, из которой запущен данный макрос;F1
- показать справку;F3
- показать информацию о макросе/обработчике событий;AltF3
- Вызов LuaExplorer для макроса/обработчика событий (если есть модуль LuaExplorer);F4
- редактировать в диалоге скрипт под курсором;AltF4
- редактировать во встроенном редакторе Farа скрипт под курсором;CtrlF4
- редактировать во встроенном редакторе Farа скрипт под курсором в немодальном режиме;Ins
- создать новый новый макрос/обработчик событий. Новый скрипт создаётся в том же файле, что и скрипт под курсором. Новый модуль создаётся по базовой маске текущего модуля;Del
- удалить макрос/обработчик событий/модуль под курсором;CtrlPgDn
- перейти на файл, содержащий макрос/обработчик событий/модуль под курсором;F9
- настройка параметров данного скрипта;CtrlR
- Переназначить клавиши для макроса (если есть модуль rebind);CtrlD
- Отключить/включить макрос (если есть модуль rebind);
Все нижеследующие клавиши меняют режимы только до закрытия скрипта.
Для постоянного изменения настроек сохраните их через окно конфигурации (F9
).ShiftM
- Настроить сортировку макросов;ShiftE
- Настроить сортировку обработчиков событий;ShiftO
- Настроить сортировку модулей;ShiftI
- Настроить сортировку пунктов меню плагинов;ShiftP
- Настроить сортировку префиксов командной строки;ShiftN
- Настроить сортировку панельных модулей;ShiftC
- Настроить сортировку контент-колонок;ShiftS
- Настроить сортировку пользовательских режимов сортировки;CtrlK
- Установить фильтр для клавиш макросов;CtrlShiftK
- Установить произвольный фильтр для клавиш макросов;CtrlAltK
- Снять фильтр для клавиш макросов;CtrlM
- Установить фильтр для областей макросов и пунктов меню плагинов;CtrlAltM
- Сбросить фильтр для областей макросов и пунктов меню плагинов;CtrlE
- Установить фильтр для групп обработчиков событий;CtrlAltE
- Сбросить фильтр для групп обработчиков событий;CtrlO
- Установить фильтр для путей поиска модулей;CtrlAltO
- Сбросить фильтр для путей поиска модулей;CtrlF
- Установить фильтр для файлов в файл скрипта под курсором;ShiftCtrlF
- Установить произвольный фильтр для файлов со скриптами;CtrlS
- Установить фильтр на все файлы, входящие в тот же пакет скриптовCtrlAltF
- Снять фильтр для файлов;AltL
- загрузить комбинацию фильтров, активных на момент закрытия LuaManager в прошлый раз;AltM
- Скрывать/показывать стационарные макросы;AltK
- Скрывать/показывать клавиатурные макросы;AltE
- Скрывать/показывать обработчики событий;AltO
- Скрывать/показывать модули;AltI
- Скрывать/показывать пункты меню плагинов;AltP
- Скрывать/показывать префиксы командной строки;AltN
- Скрывать/показывать панельные модули;AltC
- Скрывать/показывать контент-колонки;AltS
- Скрывать/показывать пользовательские режимы сортировки;AltH
- Скрывать/показывать макросы и и пункты меню плагинов для других областей;CtrlA
- Показать всё;AltF
- Скрыть/показать имя файла без пути;CtrlL
- Сбросить все настройки на сохранённые.
require"LuaManager"([<таблица параметров>])
илиrequire"LuaManager".Main([<таблица параметров>])
. Главное меню. Поля таблицы:MaSort
,EvSort
,MoSort
,MISort
,PrSort
,PMSort
,CCSort
,SMSort
- сортировка макросов, обработчиков событий, модулей, пунктов меню плагинов, префиксов командной строки, панельных модулей, контент-колонок и пользовательских режимов сортировки; параметр - строка букв, допустимые буквы можно посмотреть в языковых файлах в cbXXXSortVariants и справке; заглавная/строчная буква - сортировка по возрастанию/убыванию.AFilter
,KFilter
,GFilter
,PFilter
,FFilter
,SFilter
- фильтр областей, клавиш, групп, путей поиска модулей, файлов со скриптами, файлов, входящих в пакет скриптов.MaShow
,KMShow
,EvShow
,MoShow
,MIShow
,PrShow
,PMShow
,CCShow
,SMShow
,AMShow
- показывать стационарные, клавиатурные макросы, обработчики событий, модули, пункты меню плагинов, префиксы командной строки, панельные модули, контент-колонки, пользовательские режимы сортировки, макросы и пункты меню плагинов из неактивных областей.SOrder
- Порядок показа скриптов по типам в главном меню (M
/K
/E
/O
/I
/P
/N
/C
/S
- стационарные макросы/клавиатурные макросы/обработчики событий/модули/пункты меню плагинов/префиксы командной строки/панельные модули/контент-колонки/пользовательские режимы сортировки).KeyW
,FileW
,DescW
- Максимальная ширина поля клавиш макросов/имени файла, содержащего скрипт/описаний.TableRecursion
- Разворачивать таблицы при просмотре скриптов.true
/false
.ResetFilters
- если истина, то перед применением остальных параметров сбросить все настройки на умолчания.
Если отсутствуетResetFilters
, то значения пропущенных полей берутся из конфигурации скрипта.
require"LuaManager".Config()
. Настройка параметров.require"LuaManager".InsertScript([<тип скрипта>])
. Вставить скрипт в текущий открытый на редактирование файл. Тип скрипта:1
- макрос,2
- обработчик событий,3
- пункт меню плагинов,4
- префикс командной строки,5
- панельный модуль,6
- контент-колонки,7
- пользовательский режим сортировки,иное или не указан
- запрашивается.
require"LuaManager".EditScript([<строка>])
. Редактировать скрипт из текущего открытого на редактирование файла. Строка: если указана, редактируется скрипт, в который входит строка с указанным номером, иначе предлагается выбор из всех в файле.require"LuaManager".InsUid()
. Вставка сгенерированного uid в позиции курсора.require"LuaManager".Reload(<OnNotSaved>)
. Перезагрузка скриптов. OnNotSaved:если текущая область - редактор с несохранённым файлом, то выбор действия:"save"
- сохранить и перезагрузить,"ignore"
- перезагрузить без сохранения,"cancel"
- ничего не делать,иначе
- спросить.
- Вызов главного окна.
Клавиша вызова по умолчанию:AltShiftF11
. - Вставка Lua/Moon скрипта (с выбором, какого типа) в редактируемый .lua/.moon файл.
Клавиша вызова по умолчанию:LCtrlF11
. - Вставка Lua/Moon
Macro
в редактируемый .lua/moon файл.
Клавиша вызова по умолчанию:RCtrlF11
. - Вставка Lua/Moon
Event
в редактируемый .lua/moon файл.
Клавиша вызова по умолчанию:RCtrlF11
. - Вставка Lua/Moon
MenuItem
в редактируемый .lua/moon файл.
Клавиша вызова по умолчанию:RCtrlF11
. - Вставка Lua/Moon
CommandLine
в редактируемый .lua/moon файл.
Клавиша вызова по умолчанию:RCtrlF11
. - Вставка Lua/Moon
PanelModule
в редактируемый .lua/moon файл.
Клавиша вызова по умолчанию:RCtrlF11
. - Вставка Lua/Moon
ContentColumns
в редактируемый .lua/moon файл.
Клавиша вызова по умолчанию:RCtrlF11
. - Вставка Lua/Moon
Panel.LoadCustomSortMode
в редактируемый .lua/moon файл.
Клавиша вызова по умолчанию:RCtrlF11
. - Редактирование Lua/Moon скрипта из редактируемого файла.
Клавиша вызова по умолчанию:CtrlF12
. - Вставка строки guid в редактируемый .lua/moon файл.
Клавиша вызова по умолчанию:RCtrlU
. - Перезагрузка всех скриптов.
Клавиша вызова по умолчанию:CtrlF9
.
Требуемая версия Far 3.0.5210+.
Начиная с версии 4.0, скрипт выполнен в виде модуля и набора вызывающих макросов.
- Версия 1.0 - Первый релиз.
- Версия 1.0.1 - мелкие правки: убрал сообщение об отказе от редактирования, сделал компактный вывод областей макросов. Пока в функции ShortArea оставил все три возможных варианта: по 2 буквы и 2 варианта по 1-й (2 закомментированы), на пробу. Позже оставлю 1 лучший (высказывания по поводу приветствуются)
- Версия 1.0.2 - Настройка максимальной ширины для клавиш и описаний; показ файловых масок для обработчиков событий, локального окружения для condition/action при просмотре.
- Версия 1.0.3 - Исправление ошибок, оптимизация, фильтры областей и групп, опция открытия файла в редакторе по
ALtF4
, даже если не смог найти макрос. - Версия 1.0.4 - Изменение работы с DI_USERCONTROL, поправлена работа с флагами, скрытие/показ макросов для других областей, диалог настроек, хранение настроек в БД, мелкие правки.
- Версия 1.1 - Локализация вынесена в отдельные файлы, мелкие правки.
- Версия 1.2 - Изменён принцип поиска скрипта в файле, мелкие правки и добавления.
- Версия 1.2.1 - Вернул старый принцип работы с DI_USERCONTROL - скрипт снова работает со stable версией, возможность хранить настройки в локальном профиле, мелкие правки
- Версия 1.2.2 - Исправлена ошибка с регистрозависимостью областей и групп, добавлены проверки на отсутствие файла (временные макросы), вроде бы теперь везде проверяется string.format("%N.Ns") на N>99, исправление ошибок в просмотре, мелкие правки
- Версия 1.2.3 - Исправлена ошибка в преобразовании списка областей в короткий вид, сделан фильтр по нажатию клавиши, в просмотре окружения для condition и action разделены, т. к. теоретически могут быть разные
- Версия 1.3.0 - Переписан алгоритм работы с condition/action. Исправлено множество ошибок. Улучшен поиск Macro/Event. Переключение языка в соответствии с настройками Farа при каждом запуске. Коррекция главного меню. Различные мелкие правки.
- Версия 1.3.1 - Сортировка, новый макрос, вставляющий скрипт в редактируемый .lua файл по
CtrlF11
, мелкие исправления. Экспериментально: отсев скриптов, которые нельзя выполнить в данном контексте, с помощью атрибута grayed. Если народ будет против - уберу. - Версия 1.3.2 - Исправление главного меню, когда описания выводятся некорректно, урезан нижний заголовок, чуть поправлены языковые файлы.
- Версия 1.3.3 - Убрано ограничение на максимальную длину полей в 99 символов, мелкие правки.
- Версия 1.3.4 - Мелкие правки.
- Версия 1.3.5 - Клавиши вызова макросов можно переопределять в диалоге конфигурации.
- Версия 1.3.6 - Изгнание io.lines. Если языка нет, подгружается английский, мелкие правки.
- Версия 1.4.0 - Поддержка .moon. Поддержка LuaExplorer и Rebind от JohnDow. Рефакторинг.
- Версия 1.4.1 - Поддержка uid в диалоге редактирования макросов. Длина поля описания=0 - отключение свёртки строк. Исправление ошибок. Мелкие правки.
- Версия 1.4.2 - Улучшены фильтр клавиш и индикация фильтрации. Вставка .moon скрипта в редактируемый .moon файл. Рефакторинг.
- Версия 1.4.3 - Перекомпоновка и авторазмер по вертикали диалоговых окон редактирования. Добавлены uid для макросов. Мелкие правки.
- Версия 1.4.4 - При вставке макроса/обработчика событий в редактируемый файл выводится сообщение об ошибке.
- Версия 2.0.0 - Поддержка модулей. Макрос вставки uid, макросы раздельной вставки Macro и Event, вставка менеджера в меню плагинов. В диалогах для редактирования condition/action надо встать в соответствующее поле и нажать
F4
или сделать двойной щелчок мышью. При незаполненных обязательных полях делает запрос действия: продолжить или вернуться в режим редактирования. Для пустых condition/action при редактировании вставляет шаблон. Макрос, на котором стоит курсор, запоминается между вызовами. Много рефакторинга, исправление ошибок. - Версия 2.1.0 - Скрипт можно использовать как модуль. Пример:
require"LuaManager"{KFilter=".*F3",FFilter="*.moon",EvShow=false,MoShow=false}
. Клавиатурные макросы возможно сохранять в новом и в старом формате (по умолчанию - в новом, если версия Far>=4202). При редактировании в диалоге вставляются все поля, а не только отличные от умолчания. Отключённые скрипты помечаются символом "✖", а не забиванием области. Для модулей в списке не выводится имя файла. Добавлена справка в диалог настройки. Добавлено временное отключение/включение модулей. Реализовано с помощью добавления/убирания специального расширения. Исправление ошибок. - Версия 2.1.1 - Корректно обрабатывается отсутствие модулей "le" и "rebind". Символы для обозначений выбраны из поддерживаемых всеми TrueType шрифтами.
- Версия 2.2.0 - Убрана лишняя проверка при вызове из меню плагинов. У макросов с полем key="none" его значение заменялось на "Ø". Признано перебором и оставлено только для случаев отсутствия поля key. Для новых макросов изначально area не пустая, а Common. Исправлена ошибка, когда в диалоге редактирования не работала клавиша
F4
, если включена хотя бы одна -Lock клавиша. Поправлены горячие клавиши в диалоге редактирования. Если в скрипте после редактирования в диалоге есть незаполненные обязательные поля, сообщение обо всех выводятся в одном окне, а не по отдельности. При редактировании пустого condition/action, если оставлен изначальный текст шаблона, то восстанавливается пустое значение. При вставке скрипта в текущий файл поля со значениями по умолчанию закомментируются. Вставка скрипта в текущий файл - одно действие Undo/Redo. При вставке скрипта в текущий файл сакросы не перезагружаются автоматически. Добавлен макрос перезагрузки скриптов. В списке модулей поддерживаются также и .dll из package.cpath (осторожно! не тестировалось! на свой страх и риск!). - Версия 2.2.1 - Горячие клавиши и справка в меню фильтров. При вставке макроса/обработчика событий для condition/acrtion по умолчанию вставляется также шаблон. Сделана более корректная настройка скрипта как модуля. В диалоге редактирования макроса горячие клавиши флагов активной/пассивной панели работают, переключая при повторении друг между другом. Найденные модули не грузятся сразу,а подгружаются по запросу (если не загружены). Доделан фильтр файлов со скриптами. Мелкие правки.
- Версия 2.2.2 - Исправление ошибки при пустом списке. Скрипты после редактирования в редакторе перезагружаются только, если изменился файл. В диалоге редактирования макроса горячие клавиши флагов активной/пассивной панели работают, переключая при повторении друг между другом, если задержка между нажатиями меньше указанной в настройках. Мелкие правки.
- Версия 2.2.3 - Если маска файлового фильтра не содержит расширения, то в конце добавляется .lua и .moon. Для флагов активной/пассивной панели горячие клавиши с
RAlt
срабатывают для флагов пассивной панели, в остальных случаях - для активной.CtrlL
в главном меню и диалоге настройки сбрасывает все настройки на сохранённые. Изменены клавиши текущей настройки сортировки скриптов. Переделана справка. Добавлены быстрые клавиши в диалог конфигурации. Мелкие правки. - Версия 2.2.4 - Исправлена вставка заготовок тел обработчиков событий. Мелкие правки.
- Версия 2.2.5 - Исправлено добавление скриптом себя в модули. Настоятельно рекомендуется хранить скрипт в отдельной папке. Мелкие правки.
- Версия 2.2.6 - Исправлено добавление скриптом себя в модули - теперь должно быть совсем правильно. Убраны ненужные обращения к глобальным переменным. Исправлена ошибка с выполнением макроса после вызова из меню плагинов. Мелкие правки.
- Версия 2.2.7 - Исправлена ошибка с порчей настроек клавиш при редактировании конфигурации. Изменена быстрая клавиша закрытия диалога конфигурации без сохранения параметров в базе. Мелкие правки.
- Версия 2.2.8 - Добавлена поддержка ConsoleInput в редакторе обработчиков событий. Мелкие правки.
- Версия 2.3.0 - Изменён принцип загрузки скрипта как модуля. Улучшена работа с файлами справки. Мелкие правки.
- Версия 2.3.1 - Добавлена обработка параметра sortpriority. Мелкие правки.
- Версия 2.3.2 - Добавлена возможность редактирования в диалоговом окне Macro/Event под курсором. Смена места хранения данных. Мелкие правки.
- Версия 3.0.0 - Добавлена поддержка MenuItem и CommandLine. Рефакторинг. Разные правки.
- Версия 3.0.1 - Исправлена глупая очепятка в английском языковом файле.
- Версия 3.1.0 - При выводе справки используется язык справки фара. Изменена логика настройки ширины колонок. Изменена логика работы с фильтром клавиш. Рефакторинг. Доработана справка. Мелкие правки.
- Версия 3.1.1 - Добавлена проверка результатов операций файлового ввода-вывода. При вставке скрипта из меню имя файла назначения показывается и редактируется. Экспериментально: изменена идеология диалога настройки сортировки. По
AltL
загружается комбинация фильтров, активная на момент закрытия LuaManager в прошлый раз. Рефакторинг. Мелкие правки. - Версия 3.1.2 - При вставке скрипта из меню макросы не перезагружались. Если при вставке скрипта поле имени файла пусто и действие - не отмена, диалог не завершается. Если модуль rebind не установлен, то пустой uid вносится в скрипт как комментарий.
- Версия 3.1.3 - При редактировании скрипта из файла можно выбрать любой из имеющихся. Текущий (если есть) - под курсором в меню. Для Macro и Event uid формируется всегда, независимо от наличия rebind. Добавлена справка по диалогам редактирования. Рефакторинг.
- Версия 3.1.4 - Исправлена ошибка со сбросом к старым значениям фильтра после сохранения конфигурации. Поправлены хоткеи в диалоге конфигурации. Справка дополнена новыми разделами. В главное меню добавлены команды
CtrlA
,CtrlShiftK
,CtrlAltF
. Мелкие правки. - Версия 3.1.5 - Доработка под поле "id" в Macro/Event для новых версий LuaMacro/rebind. Мелкие правки.
- Версия 3.1.6 - В окне просмотра выводимые значения сортируются по типам и именам и не зацикливаются. Ссылки на таблицы отображаются "->" или "-^" (для рекурсивных). Рефакторинг.
- Версия 3.1.7 - Добавлен модуль-заглушка на случай require"LuaManager" из _macroinit.lua. В параметры, передаваемые модулю, включён ResetFilters: если истина, то перед применением параметров включить показ всего и сбросить все фильтры.
- Версия 3.1.8 - Изменён способ получения версии LuaMacro. Теперь можно редактировать несохранённые клавиатурные макросы. Модуль теперь возвращает таблицу функций (старый вариант вызова сохранён). Изменён способ регистрации модуля.
- Версия 3.1.9 - Немного изменён способ регистрации модуля. Рефакторинг. Разбор описания на подстроки неправильно работал, если у префикса командной строки не указано описание. Исправлена ошибка с фильтром модулей по умолчанию, появившаяся в 3.1.7. Мелкие правки.
- Версия 3.1.10 - Мелкие правки, в основном предотвращение ошибок, которых, по идее, не могло случиться.
- Версия 3.1.11- Рефакторинг. Мелкие правки.
- Версия 4.0.0 - Основная логика скрипта вынесена в отдельный модуль. Макрос стал просто обвязкой к нему.
- Версия 4.0.1 - Поддерживаются многострочные описания. Исправлена ошибка с редактированием скрипта из открытого файла.
- Версия 4.0.2 - Добавлены области Grabber и Desktop. Добавлена ограниченная поддержка пакетов скриптов (regscript). Изменена логика работы с многострочными описаниями. Добавлен один режим вывода описаний. Мелкие правки.
- Версия 4.0.3 - При вызове модуля можно указывать поле 'SFilter="<Имя скрипта>"' для фильтрации по всем файлам, входящим в этот пакет скриптов. При просмотре макроса многострочные описания выводятся в несколько строк. Изменения и дополнения в справке. Разные правки.
- Версия 4.0.4 - Опциональное поле имени файла без пути. Доработано сохранение позиции в главном меню.
- Версия 5.0.0 - Добавлена поддержка PanelModule. Шаблоны для диалогов редактирования вынесены в отдельный файл "templates". При чтении параметра из БД и записи в БД производится автозамена переменных окружения FARPROFILE, FARLOCALPROFILE и FARHOME. Более корректное определение номеров строк в .moon файлах. Доработана индикация фильтрации в главном меню. Пункты меню плагинов фильтруются по областям аналогично макросам. В целях единообразия показ/скрытие макросов и пунктов меню плагинов не из текущей области перенесён с CtrlH на AltH. Тотальный рефакторинг.
- Версия 5.0.1 - Шаблон события ExitFar скорректирован в соответствии с изменениями в плагине. Исправлена ошибка с обработкой нажатия кнопки "Панели" в диалоге конфигурации. Ещё всякие мелочи.
- Версия 5.0.2 - Добавлен макрос вставки панельного плагина. Рефакторинг. Мелкие правки.
- Версия 5.0.3 - Добавлена фильтрация по фиктивному/отстутствующему key. Доработана поддержка несохранённых клавиатурных макросов.
- Версия 5.0.4 - Исправлена редкая ошибка, когда LuaManager по какой-то причине не мог правильно определить текст скрипта и зацикливался. Исправлена ошибка с обращением к Description при редактировании панельного модуля. Исправлена функция сохранения одного параметра. Исправлена ошибка с лишним "%" в новом значении в gsub.
- Версия 5.0.5 - Исправлена ошибка с :match со слишком большим количеством строк в шаблоне. Небольшой рефакторинг.
- Версия 5.0.6 - Исправлена ошибка, возникающая после редактировании модуля вида ?\init.lua.
- Версия 5.1.0 - Убрана совместимость с очень старыми версиями Far. Исправлена ошибка с редактированием нового панельного модуля в диалоге. Улучшена замена фрагмента. Обрезаем лишние BOM. Рефакторинг.
- Версия 5.1.1 - Поправлено обрезание BOM.
- Версия 5.1.2 - Исправлена ошибка с MaxDescWidth и MacroMaxDescWidth. Оптимизирована сортировка элементов.
- Версия 5.1.3 - Исправлена ошибка с русскими описаниями в файлах скриптов в кодировке Windows.
- Версия 5.1.4 - Исправлена ошибка с загрузкой параметров, если БД пустая.
- Версия 5.1.5 - Исправлена корректировка значения комбобокса для обхода ошибки возникшей из-за 5859.2.
- Версия 5.2.0 - Добавлена настройка порядка вывода разных типов скриптов. Данные макросов убраны из модуля. Рефакторинг. Исправление ошибок.
- Версия 6.0.0 - Добавлена поддержка ContentColumn и Panel.LoadCustomSortMode. Переделано получение скриптов от системы на mf.EnumScripts(), требуется Far build 5934. Доработка параметров вызова модуля. Рефакторинг. Исправление ошибок.
- Версия 6.0.1 - Исправлена ошибка при вызове диалога настроек, если скрипт ещё не вызывался.
- Версия 6.0.2 - Рефакторинг формирования строк главного меню. Исправлены обнаруженные ошибки.