LuaFAR — библиотека для создания плагинов на языке Lua

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

LuaFAR — библиотека для создания плагинов на языке Lua

Post by John Doe » Wed 29 Jul, 2009 21:41

Библиотека LuaFAR делает возможным написание плагинов на языке Lua, предоставляя им адаптированную версию FAR API.

Входит в состав FAR manager (начиная с 3.0 build 2851), и доступна для использования в макросах.

Справка по функциям библиотеки — luafar_manual.chm (в дистрибутиве, папка Encyclopedia).
Мануал весьма лаконичен, предполагает что вы ориентируетесь в FAR Plugins API (FarEncyclopedia.ru.chm, в дистрибутиве)

Дополнения к мануалу:

Полезное по теме: См. также:

User avatar
Max Rusov
Posts: 3599
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Been thanked: 6 times
Contact:

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

Post by Max Rusov » Mon 17 Dec, 2012 16:27

Latest post of the previous page:

Т.е. нет? Просто Вы сказали, что "если функция широко востребована, можно включить". IMHO - доступ к automation из скриптового языка - это абсолютный must have. Т.ч., если планируется расширение, мне кажется, это обязательно надо добавить.

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Mon 17 Dec, 2012 16:42

Max Rusov wrote:Т.е. нет? Просто Вы сказали, что "если функция широко востребована, можно включить". IMHO - доступ к automation из скриптового языка - это абсолютный must have. Т.ч., если планируется расширение, мне кажется, это обязательно надо добавить.
То-есть нет, увы.

Скриптовый язык - это одно, а Фар - другое. Мы же вроде здесь Фаром занимаемся. А Фар не может всё иметь "из коробки".

Расширение не планируется, ресурсы фартима ограничены. Но никто не запрещает написать соответствующий плагин или библиотеку, и, как это уже не раз случалось, оно может затем войти в коробку.

P.S. Вот гугл раскопал линк: http://www.macromonkey.com/ -- может быть можно чем-то уже готовым поживиться.

User avatar
Aidar
Posts: 524
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 7 times
Been thanked: 6 times
Contact:

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

Post by Aidar » Tue 18 Dec, 2012 07:18

Есть ещё AutoHotKey.
Давно пользуюсь, в том числе для автоматизации FAR.

Язык, правда, специфичный.

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

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

Post by John Doe » Fri 15 Feb, 2013 00:04

Существует ли готовая библиотека/модуль для работы с буфером консоли?
Прежде всего интересует определение позиции окна в буфере, получение содержимого буфера.
Я не смог ничего готового выгуглить.

Update
Наверно надо искать по ключевому слову "winapi"
http://files.luaforge.net/releases/jaslatrix/cio/1.0.0

Ещё попалось https://github.com/stevedonovan/winapi, но не совсем то что надо

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Fri 15 Feb, 2013 10:20

John Doe wrote:Существует ли готовая библиотека/модуль для работы с буфером консоли?
Прежде всего интересует определение позиции окна в буфере, получение содержимого буфера.
Я не смог ничего готового выгуглить.

Update
Наверно надо искать по ключевому слову "winapi"
http://files.luaforge.net/releases/jaslatrix/cio/1.0.0
Есть ещё WinConsole, но, хоть и моя, никогда ею не пользовался. Документации на неё нет - смотреть исходники.

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

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

Post by John Doe » Sun 24 Feb, 2013 16:13

Shmuel wrote:
Max Rusov wrote:Т.е. нет? Просто Вы сказали, что "если функция широко востребована, можно включить". IMHO - доступ к automation из скриптового языка - это абсолютный must have. Т.ч., если планируется расширение, мне кажется, это обязательно надо добавить.
То-есть нет, увы.

Скриптовый язык - это одно, а Фар - другое. Мы же вроде здесь Фаром занимаемся. А Фар не может всё иметь "из коробки".

Расширение не планируется, ресурсы фартима ограничены. Но никто не запрещает написать соответствующий плагин или библиотеку, и, как это уже не раз случалось, оно может затем войти в коробку.

P.S. Вот гугл раскопал линк: http://www.macromonkey.com/ -- может быть можно чем-то уже готовым поживиться.
К сожалению внутренние библиотеки наружу не отдаёт.

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Sun 24 Feb, 2013 16:25

John Doe wrote:К сожалению внутренние библиотеки наружу не отдаёт.
С этим продуктом незнаком, просто гугланул тогда, посмотрел 5 минут, показалось интересным.

Ничего против automation не имею, но времени на это у меня в обозримом будущем не предвидится. Поэтому и предложил желающим затратить на это своё время.

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

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

Post by John Doe » Mon 25 Feb, 2013 12:36

Shmuel wrote:Поэтому и предложил желающим затратить на это своё время.
Это само собой.

Я просто удивился, что автор предпочёл создать форк с закрытыми исходниками, вместо того чтобы реализовать эту функциональность в виде lua-библиотек.

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

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

Post by John Doe » Mon 25 Feb, 2013 12:37

Что это сообщение об ошибке может значить?

Code: Select all

╔═ LuaMacro ═╗
║   .        ║
║ code: 87   ║
║            ║
╟────────────╢
║   { OK }   ║
╚════════════╝

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Mon 25 Feb, 2013 12:40

Без понятия. А как повторить?

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

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

Post by John Doe » Mon 25 Feb, 2013 12:46

Возникает при вызове функции из библиотеки cio.
Но если перед вызовом поставить msgbox(), то ошибки не происходит...

Нужны определённые условия, не думаю что стоит с этим возиться.

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Mon 25 Feb, 2013 12:51

cio у меня есть. А что, такие сложные условия?

Видимо, это то сообщение об ошибке, которое посылает библиотека cio.

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

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

Post by John Doe » Mon 25 Feb, 2013 13:05

lm:post require"cio".buffersize{width=cio.buffersize().width-1}
Если ширина буфера равна ширине окна, то возникает ошибка

При использовании lua.exe всё как-то понятнее:

Code: Select all

Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> require"cio".buffersize{width=cio.buffersize().width-1}
╧рЁрьхЄЁ чрфрэ эхтхЁэю.
code: 87

stack traceback:
        [C]: in function 'buffersize'
        stdin:1: in main chunk
        [C]: ?
>
Сообщение "Параметр задан неверно" не в той кодировке, но зато в стеке видно виновника (buffersize)

Update http://bugs.farmanager.com/view.php?id=2388

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Mon 25 Feb, 2013 13:28

John Doe wrote:Сообщение "Параметр задан неверно" не в той кодировке, но зато в стеке видно виновника (buffersize)
Это системное сообщение. Винда его посылает в 1251, а LuaMacro ожидает UTF-8 и обламывается. Надо подумать, что можно сделать.

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

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

Post by John Doe » Mon 25 Feb, 2013 13:36

В данном случае сообщение всё равно неинформативно, а источник ошибки не видно.
Ни номера строки, ни стека.

P.S.
Главное что ошибки-то быть не должно, видимо это cio глючит.

Shmuel
Posts: 5041
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 11 times
Been thanked: 133 times

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

Post by Shmuel » Mon 25 Feb, 2013 17:57

John Doe wrote:В данном случае сообщение всё равно неинформативно, а источник ошибки не видно.
Ни номера строки, ни стека.
Замените строку 143 в luamacro.lua на

Code: Select all

        ErrMsg(debug.traceback(macro.coro, ret1))
перезапустите Фар и попробуйте ещё раз.

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

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

Post by John Doe » Mon 11 Mar, 2013 11:31

Какие преимущества перед макросом могут сейчас быть у скрипта, оформленного как LuaFAR плагин? например

Update: ещё одна тема: http://forum.farmanager.com/viewtopic.php?f=15&t=9024

Post Reply

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

Who is online

Users browsing this forum: No registered users and 1 guest