LuaMacro: улучшение документации

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

Re: Spring — внедрение Lua в качестве макроязыка

Post by John Doe »

Latest post of the previous page:

Обновлённый luafar_manual.chm, "экстра"линки чёрного цвета (легко отличить от обычных)
Плюс линкифицирован macroapi_manual.chm

Update
Более свежая версия в шапках тем:
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

John Doe wrote:В разделе мануала Ограничения в использовании некоторых функций упоминается о возможности обхода ограничений с помощью far.MacroPost. Предлагаю добавить туда же упоминание о mf.postmacro
Добавлено.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

  1. eval — macroapi_manual.ru.chm::/79.html
    Не работает передача параметров: @<имя файла-скрипта> [<параметры скрипта>]
    Причина в api.lua:404 if params then chunk(params)
    Вероятно должно быть: if params then chunk(params())
    .
  2. Макросы, начинающиеся с @ — macroapi_manual.ru.chm::/2.html
    Один момент требует уточнения:
    Если макропоследовательность начинается с символа @, то последующая её часть интерпретируется как имя файла, содержащего Lua-скрипт.
    Переменные окружения в заданном имени файла автоматически расширяются.
    Глобальная (в пределах окружения скрипта) переменная _filename содержит имя файла.
    Однако при выполнении через eval("@ _filename не добавляется в окружение , и это стоит в мануале отметить.
    (или исправить, но я сходу не смог найти идеального решения, ведь новая переменная может конфликтовать с имеющимся окружением)
    .
  3. Плагин LuaMacro — macroapi_manual.ru.chm::/7.html
    В статье описывается запуск скриптов через lm:post @.
    Надо бы упомянуть о _filename и там, или сослаться на macroapi_manual.ru.chm::/2.html
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

#1 и #3 исправлены, большое спасибо.
#2 без изменений.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Shmuel wrote:#2 без изменений.
Текст статьи относится и к макросам исполняемым по eval()
Почему же не уточнить пункт про _filename?
Shmuel
Posts: 6820
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

John Doe wrote:Текст статьи относится и к макросам исполняемым по eval()
Почему же не уточнить пункт про _filename?
Потому что не уверен, что это так останется.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Похоже о битовых операциях забыли упомянуть в разделе "Изменения API в сравнении с макроязыком"
...
Вижу официальный мануал уже линкифицирован, значит можно высказывать пожелания?
  • 38.html (Изменения API в сравнении с макроязыком)
    fexist
    beep
    DisableOutput и прочие флаги (http://api.farmanager.com/ru/macro/techinfo.html)
  • 36.html (Area)
    Current
    ShellAutoCompletion
    DialogAutoCompletion
  • 45.html (Object)
    Height
    Width
    (http://bugs.farmanager.com/view.php?id=2559)
  • 63.html (Интроспекция)
    Editor (52.html)
  • Возможно внешние ссылки стоит сделать отличающимися по стилю от внутренних.
  • В разнообразных примерах сейчас линкифицированы только функции старого макроязыка.
    Возможно стоит убрать линки, или наоборот, линкифицировать все ключевые слова.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Code: Select all

shmuel 28.04.2014 19:42:31 +0200 - build 320

1. Не, "lm:" никому не мешала, пусть живёт как синоним "macro:".
В мануале сейчас параллельно приводятся оба варианта, но как отдельные пункты, например:
* lm: load
* macro: load

Это сбивает с толку.
Предлагаю перечислять через запятую, а ещё лучше указывать в описании только macro:, а уже в конце (в примечании) упомянуть, что префикс lm может использоваться как синоним.

P.S.
В мануале встречается уже несуществующая команда lm:post
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

mf.atoi ссылается на http://api.farmanager.com/ru/fsf/atoi.html, вместо http://api.farmanager.com/ru/macro/macr ... .html#atoi
то же самое с mf.itoa
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Обратил внимание на то, что описании формата макросов (macroapi_manual.ru.chm::/75.html) указано поле flags, но есть только пример, без каких-либо подробностей, или ссылок на старую Энциклопедию.

А искал собственно описание этой функции:

Code: Select all

shmuel 29.05.2013 17:52:04 +0200 - build 3433

1. Экспериментально: автостартующие макросы работают при запуске Фара с ключами /e и /v.
Пока не документирована?
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

LuaMacro: улучшение документации

Post by John Doe »

В статье Ограничения в использовании некоторых функций указана функция mf.acall, но в её описании не сказано ничего.
Предлагаю добавить туда ссылку на статью.
http://bugs.farmanager.com/view.php?id=3516
Last edited by John Doe on Sun 08 Oct, 2017 11:48, edited 1 time in total.
Post Reply

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