MacroLib — Far Macro Library

Здесь можно обсудить ваш любимый плагин.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Macro File — запуск макросов из файла (proof of concept)

Post by zg »

Latest post of the previous page:

John Doe wrote:А макросы для работы с макрофайлами понадобяться. Например перейти в начало/конец.
а в чём проблема? "}"+"}" не работает разве?
User avatar
John Doe
Бюрократ
Posts: 13860
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Macro File — запуск макросов из файла (proof of concept)

Post by John Doe »

Max Rusov wrote:Все может встречаться в составе строкового литерала.
Разве?
zg wrote:а в чём проблема? "}"+"}" не работает разве?
Тоже можно.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Macro File — запуск макросов из файла (proof of concept)

Post by Max Rusov »

John Doe wrote:
Max Rusov wrote:Все может встречаться в составе строкового литерала.
Разве?
Сомневаешься?
User avatar
John Doe
Бюрократ
Posts: 13860
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Macro File — запуск макросов из файла (proof of concept)

Post by John Doe »

macro:post "\}"

Впрочем, действительно macro:post print(@"\}")
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Macro File — запуск макросов из файла (proof of concept)

Post by Max Rusov »

macro:post print(@"\}")

обогнал :)
Last edited by Max Rusov on Fri 24 Dec, 2010 13:41, edited 1 time in total.
Yegor
Posts: 1329
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

Re: Macro File — запуск макросов из файла (proof of concept)

Post by Yegor »

Не надо парсить, я пытался показать множество возможных значений.
Понял, я подумал что {1,2,3} - это три флага, под одним названием :)

Так что {{ ... }} оставляем? или все-таки $begin-$end ($endm)?
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Macro File — запуск макросов из файла (proof of concept)

Post by zg »

если запретить строки разбивать на несколько строк, то единственный }} в строке — вполне себе терминатор, не?
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Macro File — запуск макросов из файла (proof of concept)

Post by Max Rusov »

Еще один замечание в пользу "{{ }}".

Если, в будущем, все-таки будет произвольное условие срабатывания "where", то не надо забывать, что это тоже макрос, который может быть произвольной сложности. А мы ограничиваем его записью в одну строку, в кавычках. Эту можно обойти, если рассматривать {{ }} как "расширенные" кавычки, допускающие переводы строк. Тогда макрос мог бы быть таким:

Code: Select all

macro
  Name="Мой макрос"
  where= 
{{  
  произвольное условие срабатывания 
}}
{{
  текст макроса
}}
Не знаю, насколько это актуально, но дополнительная степень свободы - никогда не помешает.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Macro File — запуск макросов из файла (proof of concept)

Post by Max Rusov »

zg wrote:если запретить строки разбивать на несколько строк, то единственный }} в строке — вполне себе терминатор, не?
Хотелось бы возможности записать макрос в одну строку. Лучше бы формат никак не учитывал переводы строк...
User avatar
John Doe
Бюрократ
Posts: 13860
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Re: Macro File — запуск макросов из файла (proof of concept)

Post by John Doe »

zg wrote:если запретить строки разбивать на несколько строк, то единственный }} в строке — вполне себе терминатор, не?
Собственно а почему единственный, даже того что он последний уже будет достаточно.
Max Rusov wrote:А мы ограничиваем его записью в одну строку, в кавычках.
Кто сказал что кавычки ограничивают многострочность?
Yegor
Posts: 1329
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

Re: Macro File — запуск макросов из файла (proof of concept)

Post by Yegor »

Ну тогда для красоты должно быть body={{...}} :)
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Macro File — запуск макросов из файла (proof of concept)

Post by Max Rusov »

John Doe wrote:Кто сказал что кавычки ограничивают многострочность?
Ну, обычно ограничивают. Но даже если нет - остается проблема экранирования.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Macro File — запуск макросов из файла (proof of concept)

Post by zg »

John Doe wrote:Собственно а почему единственный, даже того что он последний уже будет достаточно.
блоков в файле может быть несколько.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Macro File — запуск макросов из файла (proof of concept)

Post by Max Rusov »

Yegor wrote:Ну тогда для красоты должно быть body={{...}} :)
Не имеет синтаксического смысла - значит лишнее. XML отвергли именно по причине многословности.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Macro File — запуск макросов из файла (proof of concept)

Post by Max Rusov »

Т.е. можно было бы считать эквивалентной запись:

Code: Select all

macro Hotkey="Esc" Area="Shell" {{ CtrlO }}

macro Hotkey={{Esc}} Area={{Shell}} "CtrlO"
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: Macro File — запуск макросов из файла (proof of concept)

Post by Kildor »

А может $-start и $-end?
Или всё-таки $-macrostart и $-macroend?
{{}} мне не нравится. Я могу вечером написать подробнее свою мысль.

И я предлагаю свойство File="путь к файлу макроса". Где этот файл содержит исключительно и только макропоследовательность. При этом, блок {{}} (или как оно придумается), не будет нужен и использоваться вовсе.

Кроме того, предлагаю $конструкции перевести в $-конструкции.
1. Это уже есть в selmacro.
2. Это врядли будет в макросязыке.

Code: Select all

;; comment line
$-macro
  Description="Use Esc to toggle panels on/off"
  Key="Esc Alt0"
  Area="Shell Info QView Tree"
  DisableOutput=1
  NoSendKeysToPlugins=0
{{
  CtrlO
}}
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
Post Reply

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