[wish] Возможность определять action/condition строкой

Здесь обсуждается всё, что касается макросов.
Post Reply
User avatar
John Doe
Бюрократ
Posts: 12192
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 31 times
Been thanked: 159 times

[wish] Возможность определять action/condition строкой

Post by John Doe » Fri 13 Jun, 2014 08:27

Что если дать возможность определять action/condition строкой?

Code: Select all

condition=[[APanel.Plugin and PPanel.Folder]];
action=[[Keys"a b c"]];

User avatar
zg
zero-gravity
Posts: 5540
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 85 times
Contact:

Re: LuaMacro — Lua как язык макросов

Post by zg » Fri 13 Jun, 2014 08:47

John Doe wrote:Что если дать возможность определять action/condition строкой?
а что это даст?

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

Re: LuaMacro — Lua как язык макросов

Post by John Doe » Fri 13 Jun, 2014 08:53

Запись чище. Меньше шума. Нагляднее.

Это имеет значение именно для таких коротких определений, где сама запись function() ... end сравнима по длине с содержательной частью.

User avatar
zg
zero-gravity
Posts: 5540
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 85 times
Contact:

Re: LuaMacro — Lua как язык макросов

Post by zg » Fri 13 Jun, 2014 08:59

John Doe wrote:Запись чище. Меньше шума. Нагляднее.
наглядность тут отсутствует полностью, а для чистоты и наглядности используйте moonscript.

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

Re: LuaMacro — Lua как язык макросов

Post by John Doe » Fri 13 Jun, 2014 09:05

zg wrote:наглядность тут отсутствует полностью
Как вы это определили?

Moonscript на любителя. А отдельные элементы из него взять невозможно.

Shmuel
Posts: 5698
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 21 times
Been thanked: 200 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel » Fri 13 Jun, 2014 09:15

John Doe wrote:Что если дать возможность определять action/condition строкой?
Между нами девочками, для action это возможно и сейчас (но сознательно не задокументировано).
Можно вместо action указать code=[[Keys"a b c"]].

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

Re: LuaMacro — Lua как язык макросов

Post by John Doe » Fri 13 Jun, 2014 09:29

Shmuel wrote:(но сознательно не задокументировано)
Давайте обсудим, если это хорошо, то почему не задокументировать.
Shmuel wrote:Можно вместо action указать code=[[Keys"a b c"]].
В этом случае макрос будет храниться строкой.
А для action я предлагаю в загрузчике проверять, если строка, то загружать её с помощью loadstring.

О condition хочу отдельно поговорить.
Есть старая тема Имена флагов-условий выполнения макросов, и даже тикет на мантисе.
И по-хорошему, флаги и не особо нужны, всё можно сделать через condition.
И тем не менее, я сам до сих пор предпочитаю флаги, из-за того, что они нагляднее, за счёт того что лишены синтаксической шелухи.

User avatar
zg
zero-gravity
Posts: 5540
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 85 times
Contact:

Re: LuaMacro — Lua как язык макросов

Post by zg » Fri 13 Jun, 2014 09:32

John Doe wrote:Как вы это определили?
т.е. для вас отсутствие подсветки кода — это повышение наглядности? ок, постараюсь с вами больше никогда не спорить.
John Doe wrote:Moonscript на любителя. А отдельные элементы из него взять невозможно.
я не предлагаю вам использовать мунскрипт везде, но для конкретно вашего примера в плане чистоты и наглядности выбор для не мунскриптофоба очевиден:
Image

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

Re: LuaMacro — Lua как язык макросов

Post by John Doe » Fri 13 Jun, 2014 09:40

zg wrote:т.е. для вас отсутствие подсветки кода — это повышение наглядности?
Я ведь предлагаю не заменить анонимную функцию строкой полностью, а дать возможность в каждом случае использовать подходящий вариант.
Строка подходит только для коротких определений, см. пример из предыдущего сообщения (condition как замена flags).

И если код не совсем элементарный, и требует подсветки, то не надо использовать тут строку.
zg wrote:я не предлагаю вам использовать мунскрипт везде, но для конкретно вашего примера в плане чистоты и наглядности выбор для не мунскриптофоба очевиден:
— Скобки в lua на самом деле подсвечиваются отдельно (на скриншоте нет)
— Невозможно использовать lua и moonscript в одном файле
— Для colorer вообще (пока?) нет схемы moonscript (или я пропустил?)

Shmuel
Posts: 5698
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 21 times
Been thanked: 200 times

Re: LuaMacro — Lua как язык макросов

Post by Shmuel » Fri 13 Jun, 2014 10:14

John Doe wrote:
Shmuel wrote:(но сознательно не задокументировано)
Давайте обсудим, если это хорошо, то почему не задокументировать.
В своё время не убрал. Пока решение не принято. Низкий приоритет.
John Doe wrote:
Shmuel wrote:Можно вместо action указать code=[[Keys"a b c"]].
В этом случае макрос будет храниться строкой.
Это не так. Строкой будет храниться только если начинается с @.
John Doe wrote:О condition хочу отдельно поговорить.
Есть старая тема Имена флагов-условий выполнения макросов, и даже тикет на мантисе.
И по-хорошему, флаги и не особо нужны, всё можно сделать через condition.
И тем не менее, я сам до сих пор предпочитаю флаги, из-за того, что они нагляднее, за счёт того что лишены синтаксической шелухи.
Всё это хорошо, но приоритет невысок.
То-есть: поскольку время у меня ограничено, приходится выбирать более важные/интересные моменты для реализации. Это, конечно, субъективно, но никуда от этого не денешься - мы все субъекты.

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

Re: LuaMacro — Lua как язык макросов

Post by John Doe » Sat 14 Jun, 2014 09:58

Shmuel wrote:Всё это хорошо, но приоритет невысок.
Ок, оставил на мантисе: 0002704.
Shmuel wrote:приходится выбирать более важные/интересные моменты для реализации.
Было бы интересно узнать, что уже намечено к реализации! Update: http://forum.farmanager.com/viewtopic.p ... 65#p119765

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

Re: Возможность определять action/condition строкой

Post by John Doe » Mon 16 Jun, 2014 14:37

Похожее предложение (задавать action строкой) выдвигалось ещё 2.5 года назад: http://forum.farmanager.com/viewtopic.p ... 89#p101689

Shmuel
Posts: 5698
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 21 times
Been thanked: 200 times

Re: Возможность определять action/condition строкой

Post by Shmuel » Mon 16 Jun, 2014 14:46

John Doe wrote:Похожее предложение (задавать action строкой) выдвигалось ещё 2.5 года назад: http://forum.farmanager.com/viewtopic.p ... 89#p101689
Во-первых, 1.5, а не 2.5 года.
Во-вторых, частное обсуждение, о котором я упомянул в мантисе 2704, было ещё раньше.
В-третьих, даты в данном вопросе ничего не значат.

Лично мне фиолетово. Вопрос этот важным не считаю. Если и буду делать, то только после закрытия некоторых других моментов, что может быть и не завтра, мягко говоря.

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

Re: Возможность определять action/condition строкой

Post by John Doe » Mon 16 Jun, 2014 14:58

Shmuel wrote:даты в данном вопросе ничего не значат.
Разумеется.
Это просто ссылка. (Я помнил что что-то такое обсуждалось, но где именно нашёл только сейчас)
Shmuel wrote:Если и буду делать, то только после закрытия некоторых других моментов, что может быть и не завтра, мягко говоря.
Само собой, на том же мантисе много других открытых тикетов.

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

Пока что ясно только что один из участников Far Team почему-то против.

Post Reply

Return to “Обсуждение макросов”