[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
Aidar
Posts: 524
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 7 times
Been thanked: 6 times
Contact:

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby Aidar » Tue 19 May, 2015 10:35

Latest post of the previous page:

Имена меню надо смотреть в lum-файлах: они указываются в конце.
Пример из Rh_Scripts\LuaEUM\config\EQuoting.lum:

Code: Select all

local Data = {
  Menu = {
    text = L.LuaScripts,
    Items = { mQuoting, },
  },
  ["Quoting"] = mQuoting,
} ---
Last edited by Aidar on Tue 19 May, 2015 10:52, edited 1 time in total.

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby Aidar » Tue 19 May, 2015 10:38

John Doe wrote:
Aidar wrote:В качестве примера можно использовать LumFLS
Боюсь, этот пример невозможно применить, не углубляясь в дебри внутренней реализации Rh_Scripts, где слишком всё взаимосвязано, и на разных уровнях.
Могу помочь с заготовкой, в принципе, она у всех примерно одинаковая.
Останется потом просто писать (или использовать) lum-скрипты и "прицеплять" их к нужным типам файлов.

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby John Doe » Tue 19 May, 2015 10:44

Aidar wrote:Source of the post Проблема в том, что передаваемый аргумент не доходит до самого скрипта.
Доходит, если поместить его в таблицу:

Code: Select all

Plugin.Call("6F332978-08B8-4919-847A-EFBB6154C99A",
  "file",[[C:\APPs\Far3\Profile\Plugins\lf4ed\scripts\Rh_Scripts\LuaEUM\LuaEUM.lua]],
  {"Quoting"}
)

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby Aidar » Tue 19 May, 2015 10:46

Вот так - через команды LF4Ed у меня заработало:
- в _usermenu.lua:

Code: Select all

AddCommand("luaeum_q", ScriptsPath.."LuaEUM\\LuaEUM", "Quoting")

- в макросе:

Code: Select all

Plugin.Call("6F332978-08B8-4919-847A-EFBB6154C99A", "*luaeum_q")

только синтаксис может быть другой (у меня старые версии FAR и плагинов).

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby Aidar » Tue 19 May, 2015 10:47

John Doe wrote:...Доходит, если поместить его в таблицу...
Да, так тоже работает. Спасибо.

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby Aidar » Tue 19 May, 2015 10:50

Вот так проще:
- в _usermenu.lua:

Code: Select all

AddCommand("luaeum", ScriptsPath.."LuaEUM\\LuaEUM")

- в макросе:

Code: Select all

Plugin.Call("6F332978-08B8-4919-847A-EFBB6154C99A", "*luaeum", "Quoting")

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby Aidar » Tue 19 May, 2015 10:53

Shmuel wrote:В LF4Ed есть такая фича - "команды". Если прописать отдельные операции в _usermenu.lua как команды, то их можно будет вызывать напрямую как из комстроки, так и посредством Plugin.Call/SyncCall.

Да, так получилось. постараюсь включить команды в новую версию. Спасибо.

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby John Doe » Tue 19 May, 2015 10:55

Aidar wrote:Source of the post Вот так проще:
Спасибо.
А нет ли возможности пойти ещё дальше, и вызвать сразу подменю? (например "Quote text")

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby Aidar » Tue 19 May, 2015 11:11

John Doe wrote:...А нет ли возможности пойти ещё дальше, и вызвать сразу подменю? (например "Quote text")
Допишите:
- в EQuoting.lum:

Code: Select all

  ["Quoting.Enquote"] = mEnquote,
  ["Quoting.Dequote"] = mDequote,
после строки

Code: Select all

["Quoting"] = mQuoting
- в макрос:

Code: Select all

    Plugin.Call("6F332978-08B8-4919-847A-EFBB6154C99A", "*luaeum", "Quoting.Enquote")

P.S. Запятую ещё надо добавить после mQuoting.

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby Shmuel » Tue 19 May, 2015 11:21

Aidar wrote:

Code: Select all

    Plugin.Call("6F332978-08B8-4919-847A-EFBB6154C99A", "*luaeum", "Quoting.Enquote")

Это будет работать только с позапрошлой версией плагина (или ещё более старыми).

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby John Doe » Tue 19 May, 2015 11:28

Исправил для новой версии плагина так:
Запускаю так:

Code: Select all

Plugin.Call("6F332978-08B8-4919-847A-EFBB6154C99A", "command", "luaeum", "Quoting.Enquote")

В результате на экране меню:

Code: Select all

╔════════ Menu (lua) ════════╗
║      Quote text          ► ║
║      Dequote text        ► ║
╚══ Enter,BS,Esc,S+F1,^+F1 ══╝
Т.е. не сработало...

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby Aidar » Tue 19 May, 2015 11:35

Наверное, в новой версии должно быть так:

Code: Select all

Plugin.Call("6F332978-08B8-4919-847A-EFBB6154C99A", "command", "luaeum", {"Quoting.Enquote"})
Или я непонятно объяснил насчёт EQuoting.lum.

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby John Doe » Tue 19 May, 2015 11:41

Aidar wrote:Source of the post {"Quoting.Enquote"}
Это я сразу проверил, но не работает...
Aidar wrote:Source of the post Или я непонятно объяснил насчёт EQuoting.lum.
Предельно понятно

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby Aidar » Tue 19 May, 2015 11:45

Может быть, вместо

Code: Select all

AddCommand("luaeum", ScriptsPath.."LuaEUM\\LuaEUM")
надо писать

Code: Select all

AddCommand("luaeum", "scripts.Rh_Scripts.LuaEUM.LuaEUM")
?

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby John Doe » Tue 19 May, 2015 11:47

Ошибка была у меня в _usermenu.lua, вот так нормально: AddCommand("luaeum", ScriptsPath.."LuaEUM\\LuaEUM")
Т.е. вызов Plugin.Call("6F332978-08B8-4919-847A-EFBB6154C99A", "command", "luaeum", "Quoting.Enquote") работает, извините за ложную тревогу.

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby Aidar » Tue 19 May, 2015 11:50

Ясно.

Чтобы выяснить, доходит ли аргумент до скрипта, можно добавить в LuaEUM.lua строку

Code: Select all

logShow(BaseName)
после

Code: Select all

local Scope = { BaseName = BaseName, args = args }

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

[lf4ed] Rh_Scripts — пакет скриптов для LuaFAR for Editor

Postby Aidar » Tue 19 May, 2015 11:51

Напишите, к каким подменю нужен доступ,- я добавлю для них обозначения в lum'ы.


Return to “Полезные макросы и скрипты”

Who is online

Users browsing this forum: No registered users and 1 guest