ScriptsBrowser — управление скриптами [экспериментально]

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

ScriptsBrowser — управление скриптами [экспериментально]

Post by John Doe »

Каждый автор так или иначе снабжает свои скрипты метаинформацией, такой как название, описание, версия, автор, тема обсуждения на форуме, и т. п.
Сейчас эта информация может содержаться где угодно: в комментариях, или в каком-то диалоге, или в справке.
Естественно централизовано посмотреть её не получится.

Но раз каждый скрипт в любом случае содержит какую-то метаинформацию, то почему бы не заполнять её стандартизировано?
В результате мы получим возможность управлять скриптами централизованно, и реализовать разные интересные возможности, такие как изложенные ранее: http://forum.farmanager.com/viewtopic.p ... 66#p121966

Представляю экспериментальную реализацию некоторых идей:
Основные понятия:
  • Скрипт — это lua-файл. Он может содержать макросы или выполнять свои функции иным способом.
  • Скрипт может иметь вспомогательные файлы (cfg/lng/hlf).
  • Несколько скриптов могут формировать "пакет".
ScriptsBrowser.lua — утилита для работы со скриптами, запускается из меню плагинов.

regscript.lua — сам модуль, регистрирующий скрипты.
Все поля на данный момент опциональны, и их список открыт для обсуждения.
Пока предлагаю следующие:


cfgscript.lua — вспомогательный модуль, позволяющий переопределить начальные настройки скриптов не трогая их исходный код.

cfgscript_test.lua — демонстрационный скрипт для иллюстрации того, что регистрация может быть полезна и в произвольных скриптах

InsertInfo.lua — вспомогательный макрос для вставки в скрипт шаблона с метаинформацией.

P.S.
Интерфейс самого модуля может быть интересен для применения в макробраузерах.
Сейчас он позволяет получить таблицу скрипта по индексу, по id, или по полному имени файла.
Attachments
scriptbrowser02.7z
(10.12 KiB) Downloaded 184 times

buniak_a_h
Posts: 1921
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 times
Contact:

ScriptsBrowser — управление скриптами [экспериментально]

Post by buniak_a_h »

Latest post of the previous page:

Столкнулся с проблемкой.
В редакторе options есть возможность удалить параметр. Но нет возможности сбросить на "умолчательное" значение (или я не нашёл). Было бы правильным при удалении параметра на самом деле не удалять его (что может привести к неработоспособности скрипта), а вернуть умолчательное значение. Можно, конечно, его вести снова, но надо же помнить имя! Т.е., если случайно удалили и lua не знаю, то до свидания любимы скрипт...
На самом деле я не проверял, возможно, для скрипта значение для удалённого параметра будет браться из текста. Но это не исправляет того факта, что поменять его из ScriptsBrowser-а будет невозможно, пока не заведёшь снова. Надо бы сделать "сброс" (пусть для всех параметров)...

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

ScriptsBrowser — управление скриптами [экспериментально]

Post by John Doe »

'Редактор' сейчас только для оперативных изменений.
Перезагрузка фара или скриптов сбрасывают.

Постоянные же изменения надо сохранять в файле.

buniak_a_h
Posts: 1921
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 times
Contact:

Переход к папкам по щелчку на заголовке панели

Post by buniak_a_h »

HaRT wrote:
Wed 02 Oct, 2019 23:59
Ну я же написал: оно не для того, чтобы редактировать, а наоборот, для того, чтобы каждый раз при обновлении НЕ редактировать. Ну прочитайте же про cfgscript в шапке темы про ScriptBrowser.
Я на самом деле надеялся, что при выходе из редактора актуальные значения запоминаются в базе (как mf.mSave). Но я всё равно не понял. В описании cfgscript описан файл с настройками. Так что, его надо ручками править? Некузяво как-то...
Ладо, будет время - разъясните мне, бестолковому, как поменять такую настройку так, чтоб сам файл макроса не менялся. Не будет - не страшно. Меня и "3" устраивает...

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

ScriptsBrowser — управление скриптами [экспериментально]

Post by John Doe »

buniak_a_h wrote:
Thu 03 Oct, 2019 00:32
В описании cfgscript описан файл с настройками. Так что, его надо ручками править?
В комплекте есть вспомогательный макрос для вставки шаблона в файл scriptscfg, но это действительно не слишком удобно.
Более удобная функция так и осталась в ScriptsBrowser нереализованной:

По замыслу, нажатие Shift+F4 должно открывать в редакторе файл настроек scriptscfg в нужном месте, если настройки нужного скрипта там уже присутствуют.
Если нет - то вставлять шаблон в конец файла.

buniak_a_h
Posts: 1921
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 times
Contact:

ScriptsBrowser — управление скриптами [экспериментально]

Post by buniak_a_h »

Вылезла какая-то ошибка:
Нажимаю RAlt;
Ввожу AltS (ищу макрос, повешенный на AltShift…). Не находит (возможно, и правильно).
Ну ладно, жму Esc.
Получаю:

Code: Select all

╔════════════════════════════════════════════════════════════ Error ═════════════════════════════════════════════════════════════╗
║ C:\Program Files\Far Manager\Plugins\LuaMacro\LuaMacro.dll:                                                                    ║
║ ...Profile\Macros\scripts\ScriptsBrowser\scriptsbrowser.lua:661: attempt to index local 'item' (a nil value)                   ║
║ stack traceback:                                                                                                               ║
║    ...Profile\Macros\scripts\ScriptsBrowser\scriptsbrowser.lua:661: in function 'showList'                                     ║
║    ...Profile\Macros\scripts\ScriptsBrowser\scriptsbrowser.lua:715: in function 'action'                                       ║
║    C:\Program Files\Far Manager\Plugins\LuaMacro\LuaMacro.lua:479: in function <C:\Program Files\Far Manager\Plugins\LuaMacro\ ║
║ LuaMacro.lua:428>                                                                                                              ║
╟────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╢
║                                                             { OK }                                                             ║
╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝
Скрипт становится неработоспособным до перезагрузки макросов (исчезает из меню плагинов)
FAR 5579 x64
Что-то раньше я этого не замечал… :-(

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

ScriptsBrowser — управление скриптами [экспериментально]

Post by John Doe »

Да, было такое, у себя давно пофиксил
Attachments
ScriptsBrowser.lua
0.2.1
(24.88 KiB) Downloaded 14 times
https://t.me/FarManager — Telegram чат

Post Reply

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