MacroLib — Far Macro Library

Здесь можно обсудить ваш любимый плагин.
User avatar
John Doe
Бюрократ
Posts: 12205
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 32 times
Been thanked: 162 times

Re: MacroLib — Far Macro Library

Post by John Doe » Mon 13 Jan, 2014 12:48

Latest post of the previous page:

Max Rusov wrote:Если FML придется переписывать [...]
Под "FML" вы тут имеете в виду плагин или совокупность готовых макрофайлов?
Max Rusov wrote:MacroLib имеет несколько преимуществ по модификаторам клавиш
Собственно да, и если добавить их в фар, то FML и не понадобится.
Max Rusov wrote:В случае FML все будет значительно сложнее [...] Шагов больше, наверняка будет дольше.
Я лично уверен что это не проблема. Но к чему гадать, всё и так будет видно.
Max Rusov wrote:Если я делаю FML макрос, то я не хочу чтобы он зависел еще и от LUA файла, который нужно положить в совершенно другое место...
Понятно. Обсуждалось в теме "зачем require". В данном случае это не принципиально, всё как и в нативных макросах, т.е:
- библиотеку можно поместить в глобальную таблицу (желательно в персональный namespace).
- чтобы код библиотеки выполнился до его использования тоже ничего нового придумывать нет нужды (например есть автостартующие макросы)

User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 8 times

Re: MacroLib — Far Macro Library

Post by sToLp » Mon 13 Jan, 2014 14:47

John Doe wrote:
Max Rusov wrote:MacroLib имеет несколько преимуществ по модификаторам клавиш
Собственно да, и если добавить их в фар, то FML и не понадобится.
Полагаю, что это вовсе не обязательно.

К примеру, я постоянно использую замечательно комфортный макрос "Закладки в панелях". И если, дай Бог, в Луа появятся возможности для создания подобного, то, всё же, не стану тратить время на конвертацию его из fmlua- в lua-формат, а буду продолжать использовать его из под MacroLib`а. Как и множество других макролибовских макросов тоже.

По-моему FML только тогда может стать вовсе не нужным, когда Lua заметно обгонит его, станет значительно лучше, а не почти таким же.

Да и чем в перспективе может быть в принципе плоха ситуация наличия альтернативы?

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

Re: MacroLib — Far Macro Library

Post by John Doe » Mon 13 Jan, 2014 14:57

sToLp
Вроде MacroLib у вас тоже никто не отбирает.
Обратите внимание, что он давно не развивается, и на то есть причины.

P.S.
Тот макрос скорее всего и сейчас можно переписать для чистого LuaMacro, хотя и придётся использовать "кривые" способы для детекции нажиманий/отпусканий .

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

Re: MacroLib — Far Macro Library

Post by Max Rusov » Mon 13 Jan, 2014 15:27

Вообще говоря, единственное, чего мне самому не хватает в MacroLib - это произвольный condition. Сейчас его уже, вроде, можно сделать, нужно только синтаксис придумать. Предложения?

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

Re: MacroLib — Far Macro Library

Post by John Doe » Mon 13 Jan, 2014 15:33

Если даже не трогая формат сделать то, что я выше предлагаю, то condition можно будет задавать как в Luamacro — функцией (анонимной, или по общему идентификатору).
В простых случаях можно ограничиться и строкой, в кавычках или в блоке [[...]]


condition должен идти последним в определении макроса. Завершение condition можно считать начало тела макроса, т.е. {{

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

Re: MacroLib — Far Macro Library

Post by Max Rusov » Mon 13 Jan, 2014 15:44

Я пока склоняюсь к тому, что как то давно предлагал:
http://forum.farmanager.com/viewtopic.p ... 227#p74227

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

Re: MacroLib — Far Macro Library

Post by John Doe » Tue 14 Jan, 2014 14:23

Max Rusov wrote:Вообще говоря, единственное, чего мне самому не хватает в MacroLib [...]
В шапке ещё числится пункт Срабатывание по последовательности нажатий (аккордам)
Было бы интересно

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

Re: MacroLib — Far Macro Library

Post by Max Rusov » Tue 14 Jan, 2014 15:49

John Doe wrote:Срабатывание по последовательности нажатий (аккордам)
Я это хотел сделать, потому что сам периодически машинально нажимаю привычные борландовские ^QF и т.п. Не уверен, что это нужно кому-то кроме олдфагов.

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

Re: MacroLib — Far Macro Library

Post by John Doe » Tue 14 Jan, 2014 15:59

А кто кроме олдфагов использует фар?

Что касается полезности, то в аккордах смысл есть и сейчас.
Их проще запомнить, и легче нажать, чем какие-нибудь сочетания с тремя модификаторами.

Игорь Юдинцев
Posts: 725
Joined: Sun 03 Apr, 2005 22:00
Location: Казань
Been thanked: 1 time

Re: MacroLib — Far Macro Library

Post by Игорь Юдинцев » Thu 16 Jan, 2014 10:22

Аккорды можно организовать без лишних наворотов, в стиле FAR:

На CtrlK вешаем макрос F11 → Macro Library → Run Macro → макрос "Borland Ctrl+K Menu", который показывает меню вроде такого:

Code: Select all

╔══════════════════╗
║ I Indent         ║
║ U Unindent       ║
║ ...              ║
╚══════════════════╝
и выполняет соответствующее действие.

На сочетание CtrlX вешаем макрос F11 → Macro Library → Run Macro → макрос "Emacs Ctrl+X Menu" и т. д.

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

Re: MacroLib — Far Macro Library

Post by Max Rusov » Thu 16 Jan, 2014 11:37

Можно было бы сделать еще проще, типа:

Code: Select all

macro Descr="&Indent" Key="CtrlK" Area="Editor"
{{
   -- ...
}}


macro Descr="&Unindent" Key="CtrlK" Area="Editor"
{{
   -- ...
}}
Только в текущей версии "&" не обрабатываются как shortcut'ы. Можно поправить...

Но это уже в стандартных макросах работает :)

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

Re: MacroLib — Far Macro Library

Post by John Doe » Thu 16 Jan, 2014 11:55

После Ctrl-K могут клавиши которые которым невозможно назначить хоткеи так просто: CtrlK/Tab (хотя у Borland такого не было)
И лучше бы ловить все клавиши, чтобы закрывать меню если нажата неподдерживаемая (хотя у Borland меню тоже не было)

P.S.
Хотя смотря в каком продукте, вот вижу какое-то меню:

User avatar
HaRT
Moderator
Posts: 8660
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 78 times
Been thanked: 143 times

Re: MacroLib — Far Macro Library

Post by HaRT » Thu 16 Jan, 2014 12:13

Обращаю внимание, что аккорды и сейчас поддерживаются и активно используются, например, в Microsoft Visual Studio.
И там, например, [b]Ctrl+R,W[/b] и [b]Ctrl+R,Ctrl+W[/b] — два разных аккорда, т.ч. через меню с амперсандами полноценно не сделать.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

Re: MacroLib — Far Macro Library

Post by Max Rusov » Thu 16 Jan, 2014 12:26

Аккорды, конечно, разные бывают. Если у Delphi в About набрать

AltT,AltE,AltA,AltM

То получишь список разработчиков. Тоже аккорд.

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

MacroLib — Far Macro Library

Post by John Doe » Thu 16 Jan, 2014 20:41

HaRT wrote:[b]Ctrl+R,Ctrl+W[/b]
Это навело меня на идею:
Первую (вызывающую) клавишу последовательности придётся тщательно выбирать, ведь большинство коротких комбинаций уже для чего-то используются.
Что если бы можно было сделать так, чтобы первая клавиша сохраняла своё значение в случае когда она нажата отдельно, а не в составе последовательности.

Этого можно достичь, если требовать чтобы последовательность вводилась не отпуская Ctrl.
Таким образом если нажата только первая клавиша, то при отпускании Ctrl может выполняться изначальное её действие.

Update
Эту же идею можно развить и в другую сторону: разрешить использовать в качестве модификаторов произвольные клавиши (с сохранением и исходного действия): Dual-role keys, https://geekhack.org/index.php?topic=41685.0

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 10 times

Re: MacroLib — Far Macro Library

Post by Max Rusov » Thu 16 Jan, 2014 21:10

Это сомнительно. Обычно действие выполняется не при отпускании а при нажатии, да еще с автоповтором.
То, что вы предлагаете, похоже на модификатор MacroLib'овский модификатор :Up, только он срабатывает при отпускании любой клавиши, а не префиксной, так что напрямую не подходит.

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

Re: MacroLib — Far Macro Library

Post by John Doe » Thu 16 Jan, 2014 21:16

Max Rusov wrote:Обычно действие выполняется не при отпускании а при нажатии, да еще с автоповтором.
Разница не всегда есть.
Представьте например CtrlC.

Post Reply

Return to “Обсуждение плагинов”