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

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
Dennis_Moore
Posts: 298
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 6 times
Been thanked: 17 times

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

Post by Dennis_Moore »

Latest post of the previous page:

Aidar, возможно ли исправить проблему которая появилась в build 4285?

http://forum.farmanager.com/viewtopic.p ... 81#p128481
http://forum.farmanager.com/viewtopic.p ... 83#p128483

Заранее благодарю.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

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

Post by Aidar »

Исправил. Выложил на сайте. Достаточно обновить Rh_Scripts.
Dennis_Moore wrote:... И последнее обновление Rh scripts вышло не так давно - сборка пакета v.3.1.4.1 [Build от 2015-02-15]
В Rh_Scripts\doc\History.txt указывается совместимая версия FAR Manager.
Dennis_Moore wrote:Вот почему-то другая ошибка... (хотя просто попробовал другой файл)
Кажется, ошибка та же самая.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Существует ли способ напрямую вызывать различные подэлементы меню "LUM for Editor"?
("Напрямую" значит не открывая основное меню, и не посылая последовательности Keys)
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

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

Post by Aidar »

1. Для отображения конкретного подменю можно попробовать выполнить скрипт
...\scripts\Rh_Scripts\LuaEUM\LuaEUM.lua
, передав в него первым параметром обозначение подменю.
2. Вместо вызова отдельного пункта меню можно попробовать
выполнить соответствующий скрипт (если он выделен в отдельный файл).
3. Лучше, конечно, создать своё меню в рамках LF4Ed.
В качестве примера можно использовать LumFLS - меню-обёртку над набором скриптов flScripts.
Проблемой может стать использование конфигурации по умолчанию для некоторых скриптов.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Aidar wrote: передав в него первым параметром обозначение подменю.
А где найти эти обозначения?
Пробовал передавать разные строки, имена lum-файлов, но всегда открывается основное меню.
Aidar wrote: попробовать выполнить соответствующий скрипт (если он выделен в отдельный файл).
В данном случае подходящих скриптов похоже нет.
Aidar wrote: В качестве примера можно использовать LumFLS
Боюсь, этот пример невозможно применить, не углубляясь в дебри внутренней реализации Rh_Scripts, где слишком всё взаимосвязано, и на разных уровнях.
Хотелось бы тупо запустить lum-файл, но похоже это невозможно...
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

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

Post by Aidar »

Попробуйте передать Quoting для отображения подменю "&Q - Кавычки/скобки".
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Запускаю так:

Code: Select all

Plugin.Call("6F332978-08B8-4919-847A-EFBB6154C99A","file",
[[C:\APPs\Far3\Profile\Plugins\lf4ed\scripts\Rh_Scripts\LuaEUM\LuaEUM.lua]],
"Quoting")
Открывается общее меню:
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

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

Post by Shmuel »

В LF4Ed есть такая фича - "команды". Если прописать отдельные операции в _usermenu.lua как команды, то их можно будет вызывать напрямую как из комстроки, так и посредством Plugin.Call/SyncCall.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Кстати да, если прописать это в _usermenu, то вызывается то что надо:

Code: Select all

AddToMenu("e", "LU&M:Quoting", nil, ScriptsPath.."LuaEUM\\LuaEUM","Quoting")
(осталось только понять откуда брать имена меню)

И интересно почему не работает вызов из файла.
Ещё пробовал так , но безуспешно.(При запуске через require параметр передать нельзя по определению)
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

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

Post by Aidar »

С командами постараюсь разобраться вечером.
Проблема в том, что передаваемый аргумент не доходит до самого скрипта.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

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

Post by Aidar »

Имена меню надо смотреть в 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: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

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

Post by Aidar »

John Doe wrote:
Aidar wrote:В качестве примера можно использовать LumFLS
Боюсь, этот пример невозможно применить, не углубляясь в дебри внутренней реализации Rh_Scripts, где слишком всё взаимосвязано, и на разных уровнях.
Могу помочь с заготовкой, в принципе, она у всех примерно одинаковая.
Останется потом просто писать (или использовать) lum-скрипты и "прицеплять" их к нужным типам файлов.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

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

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: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

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

Post by Aidar »

Вот так - через команды 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: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

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

Post by Aidar »

John Doe wrote:...Доходит, если поместить его в таблицу...
Да, так тоже работает. Спасибо.
User avatar
Aidar
Posts: 541
Joined: Mon 09 Mar, 2009 22:43
Location: Kazan
Has thanked: 8 times
Been thanked: 7 times
Contact:

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

Post by Aidar »

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

Code: Select all

AddCommand("luaeum", ScriptsPath.."LuaEUM\\LuaEUM")
- в макросе:

Code: Select all

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

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