Angel_Ka
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Angel_Ka Цитата: по подсказке одного из моих коллег я использую МакроЛиб в спарринге с ЛуаМакро для запуска макросов из удобных меню, которые автоматически создаются в ЛуаМакро при навешивании разных макросов на один и тот же шорткат | Цитата: Oldster Цитата: Как ни будь, когда найдётся для этого время, кину Вам конструкцию в ПМ, может тоже заинтересуетесь. mihas83 Цитата: так это всем интересно... поддерживаю | Что ж, раз уж я нечаянно вас заинтриговал, выполняю обещанное здесь. Персонально я пользуюсь методом, который обрисовываю ниже, почти год, и способ этот нравится мне всё больше и больше. Но если кто-то всё же будет разочарован на его счёт, я не виноват. Описание длинноватое, и поэтому по совету Victor_VG частями укладываю его в под тэги more. Итак, ниже об одном полезном способе применения одного из замечательных свойств ЛуаМакро и о соучастии в этом применении МакроЛиба. На самом деле по сути способ этот очень простой. Дело в том, что, как известно, при назначении одного и того же хоткея (или шортката) на 2 и более активных макроса, ЛуаМакро сигнализирует об этом показом соответствующего меню 'Исполнить макрос'. Строками данного меню являются поля description луа-макросов. И, соответственно, с ними можно работать, делать в них записи так, как нам нужно. Например, можно сформировать луа-файл (обращаем внимание на то, как оформлены поля description) так. Корректируем этот файл под особенности настройки Фара у себя, загружаем его, и тогда по F1 будет вызвано меню такого порядка: F1 Помощь по Фару [1] hlf: параметры комстроки Фара [2] hlf: клавиатурные макрокоманды Фара [3] hlf: установленные lua-макросы [4] вызвать мануал по macroapi [5] MacroLib: установленные Fmlua-макросы [6] вызвать FarEncyclopedia.ru.chm [7] hlf: по префиксу плагина arclite [8] [9] hlf: общие команды [0] [a] [в] [с] [d] [e] EMenu: контекстное меню AltPgUp [f] FormatMenu: контекстное меню AltPgDn Как мы видим, некоторые позиции оставлены в нём "на вырост". В данном случае это сделано нарочито, для демонстрации возможностей работы с данным меню. И этим меню сразу же можно и пользоваться. Хотя и чуток не удобно - для вызова Помощи Фара надо нажимать Enter, а для запуска других позиций меню надо ещё и ёрзать стрелками и потом тоже нажимать Enter. Но это, в принципе, терпимо и привычно, и вполне возможно. Однако, не зря же мы оформляли description-поля наших lua-макросов. Поэтому теперь нам можно дополнительно подключить в МакроЛиб 2 файла с fmlua-макросами. Макросы из первого fmlua-файла обеспечат запуск первой позиции вышеприведённого и других аналогичных меню по повторному нажатию хоткея или шортката, их вызвавшего (при условии, что он будет обозначен в самом начале верхней позиции меню, т.е. будет надлежаще оформлено поле description верхнего макроса в файле, формирующем наше меню). Первый обеспечивающий fmlua-файл. А макросы из второго fmlua-файла обеспечат нам запуск соответствующих позиций вышеприведённого (и аналогичных) меню по их хоткеям от 1 до 0 (как расположены цифры на линеке) и от a до h (можно хоть весь английский алфавит, но на практике пока больше чем h не требовалось). Второй обеспечивающий fmlua-файл. Вот, собственно, и вся конструкция, с которой меня познакомил мой коллега, и которую я с успехом использую чуть менее года. Она вполне надёжно работает. Более продвинутые в написании макросов специалисты при желании наверняка смогут данную конструкцию существенно сократить и перевести в более современную луа-форму. И если они это сделают, пусть, пожалуйста, опубликуют. Добавлено: mihas83 Цитата: Штатные шорткаты макросов КонЭму, делящие экран Фара: Ctrl+Shift+O — гОризонтально Ctrl+Shift+E — вЕртикально | Всего записей: 585 | Зарегистр. 20-05-2007 | Отправлено: 15:26 08-11-2014 | Исправлено: Angel_Ka, 21:12 08-11-2014 |
|