Page 11 of 17

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

Posted: Tue 03 Mar, 2015 20:43
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

Заранее благодарю.

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

Posted: Wed 04 Mar, 2015 04:13
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:Вот почему-то другая ошибка... (хотя просто попробовал другой файл)
Кажется, ошибка та же самая.

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

Posted: Tue 19 May, 2015 09:00
by John Doe
Существует ли способ напрямую вызывать различные подэлементы меню "LUM for Editor"?
("Напрямую" значит не открывая основное меню, и не посылая последовательности Keys)

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

Posted: Tue 19 May, 2015 09:24
by Aidar
1. Для отображения конкретного подменю можно попробовать выполнить скрипт
...\scripts\Rh_Scripts\LuaEUM\LuaEUM.lua
, передав в него первым параметром обозначение подменю.
2. Вместо вызова отдельного пункта меню можно попробовать
выполнить соответствующий скрипт (если он выделен в отдельный файл).
3. Лучше, конечно, создать своё меню в рамках LF4Ed.
В качестве примера можно использовать LumFLS - меню-обёртку над набором скриптов flScripts.
Проблемой может стать использование конфигурации по умолчанию для некоторых скриптов.

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

Posted: Tue 19 May, 2015 10:00
by John Doe
Aidar wrote: передав в него первым параметром обозначение подменю.
А где найти эти обозначения?
Пробовал передавать разные строки, имена lum-файлов, но всегда открывается основное меню.
Aidar wrote: попробовать выполнить соответствующий скрипт (если он выделен в отдельный файл).
В данном случае подходящих скриптов похоже нет.
Aidar wrote: В качестве примера можно использовать LumFLS
Боюсь, этот пример невозможно применить, не углубляясь в дебри внутренней реализации Rh_Scripts, где слишком всё взаимосвязано, и на разных уровнях.
Хотелось бы тупо запустить lum-файл, но похоже это невозможно...

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

Posted: Tue 19 May, 2015 10:02
by Aidar
Попробуйте передать Quoting для отображения подменю "&Q - Кавычки/скобки".

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

Posted: Tue 19 May, 2015 10:07
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")
Открывается общее меню:

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

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

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

Posted: Tue 19 May, 2015 10:27
by John Doe
Кстати да, если прописать это в _usermenu, то вызывается то что надо:

Code: Select all

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

И интересно почему не работает вызов из файла.
Ещё пробовал так , но безуспешно.(При запуске через require параметр передать нельзя по определению)

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

Posted: Tue 19 May, 2015 10:34
by Aidar
С командами постараюсь разобраться вечером.
Проблема в том, что передаваемый аргумент не доходит до самого скрипта.

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

Posted: Tue 19 May, 2015 10:35
by Aidar
Имена меню надо смотреть в lum-файлах: они указываются в конце.
Пример из Rh_Scripts\LuaEUM\config\EQuoting.lum:

Code: Select all

local Data = {
  Menu = {
    text = L.LuaScripts,
    Items = { mQuoting, },
  },
  ["Quoting"] = mQuoting,
} ---

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

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

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

Posted: Tue 19 May, 2015 10:44
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"}
)

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

Posted: Tue 19 May, 2015 10:46
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 и плагинов).

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

Posted: Tue 19 May, 2015 10:47
by Aidar
John Doe wrote:...Доходит, если поместить его в таблицу...
Да, так тоже работает. Спасибо.

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

Posted: Tue 19 May, 2015 10:50
by Aidar
Вот так проще:
- в _usermenu.lua:

Code: Select all

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

Code: Select all

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