Lua Explorer „Advanced“
- John Doe
- Бюрократ
- Posts: 14582
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 92 times
- Been thanked: 514 times
- Contact:
Lua Explorer „Advanced“
Представляет собой развитие замечательной утилиты Lua Explorer © EGez.
Началось всё с небольшой модификации, позволяющей вызывать lua explorer из других скриптов.
Но у автора свободного времени не было, а необходимость в изменениях у меня назрела.
В частности потому что я начал применять lua explorer в Macro Browser alt. и других скриптах.
Отличий от оригинального скрипта накопилось много, см. changelog.md.
Использование:
Подробнее об использовании для отладки собственных скриптов:
source | download | archive
Началось всё с небольшой модификации, позволяющей вызывать lua explorer из других скриптов.
Но у автора свободного времени не было, а необходимость в изменениях у меня назрела.
В частности потому что я начал применять lua explorer в Macro Browser alt. и других скриптах.
Отличий от оригинального скрипта накопилось много, см. changelog.md.
Использование:
Подробнее об использовании для отладки собственных скриптов:
source | download | archive
Last edited by John Doe on Wed 11 Dec, 2019 09:05, edited 1 time in total.
- Smitis
- Posts: 1732
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 25 times
- Been thanked: 58 times
Re: Lua Explorer „Advanced“
Latest post of the previous page:
Можно ли из одного lua-плагина получить глобальную таблицу другого lua-плагина? Иначе теряется смысл делать LuaExplorer плагином.John Doe wrote:Но как это связано с вопросом?
Где-то вроде проскакивало, что плагины совершенно независимы.
Разум когда-нибудь победит.
- John Doe
- Бюрократ
- Posts: 14582
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 92 times
- Been thanked: 514 times
- Contact:
Re: Lua Explorer „Advanced“
Полагаю сейчас ничего такого не предусмотрено, но подумать над реализацией можно.Smitis wrote:Можно ли из одного lua-плагина получить глобальную таблицу другого lua-плагина? Иначе теряется смысл делать LuaExplorer плагином.
Где-то вроде проскакивало, что плагины совершенно независимы.
Во-первых библиотека LuaFAR могла бы предоставить какие-то средства.
Во-вторых, плагины вероятно тоже могут обмениваться данными (через C API)
Re: Lua Explorer „Advanced“
Даже если нельзя, то функциональность будет как минимум не хуже, чем в текущем варианте - из макроса ведь тоже таблицу плагина не посмотришь (поправьте, если не прав). Зато можно будет конфигурировать (если вдруг такая надобность появится) стандартизированным образом, из меню конфигурации плагинов. Но это всё, конечно, "если бы да кабы". В принципе, мне нет разницы, вызвать через require или Plugin.Call - вопрос вкуса.Smitis wrote: Можно ли из одного lua-плагина получить глобальную таблицу другого lua-плагина? Иначе теряется смысл делать LuaExplorer плагином.
Где-то вроде проскакивало, что плагины совершенно независимы.
- John Doe
- Бюрократ
- Posts: 14582
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 92 times
- Been thanked: 514 times
- Contact:
Re: Lua Explorer „Advanced“
Если нельзя, то функциональность вообще невозможна, т.к. lua explorer показывает таблицу плагина luamacro.Acerbic wrote:Даже если нельзя, то функциональность будет как минимум не хуже
Отнюдь, во-первых Plugin.Call ещё надо реализовать (без понятия как).Acerbic wrote:В принципе, мне нет разницы, вызвать через require или Plugin.Call - вопрос вкуса.
Во-вторых через Plugin.Call невозможно передать типы lua (table,function и пр.).
Re: Lua Explorer „Advanced“ - Ломает код
L.E.A. r2 (и тоже r1) ломает строки (string) содержащие "--". Например такой код
изменяет на
Code: Select all
action = function()
msg = "\n----- abc -----\n"..
"c--df\n"
end;
}Code: Select all
action = function()
msg = "\n
"c
end
Re: Lua Explorer „Advanced“
Code: Select all
Macro {
area="Common"; key="Test"; description="...";
action = function()
msg = "\n----- abc -----\n"..
"c--df\n"
end;
}
Code: Select all
function()
msg = "\n
"c
end
- John Doe
- Бюрократ
- Posts: 14582
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 92 times
- Been thanked: 514 times
- Contact:
Re: Lua Explorer „Advanced“
Lua Explorer к редактированию макросов отношения не имеет.
Вероятно вы хотели написать в тему Менеджер Lua-скриптов для Fara
Вероятно вы хотели написать в тему Менеджер Lua-скриптов для Fara
Re: Lua Explorer „Advanced“
Да? ИзвинитеJohn Doe wrote:Lua explorer к редактированию макросов отношения не имеет.
Вероятно вы хотели написать в тему Lua Manager
Re: Lua Explorer „Advanced“
кстати работает и для отладки плагинов на lua, надо только закомментить строчку
Code: Select all
assert(Far, 'This is a LuaMacro for Far manager')- John Doe
- Бюрократ
- Posts: 14582
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 92 times
- Been thanked: 514 times
- Contact:
Re: Lua Explorer „Advanced“
Ещё надо заменить два msgbox на far.Message. Достались в наследство от оригинала.
- buniak_a_h
- Posts: 4564
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 242 times
- Been thanked: 674 times
- Contact:
Lua Explorer „Advanced“
John Doe, я нарвался на ошибку вызова функции в случае, если срени параметров (но не последний) - nil. Вот исправление:
Подробности там
- John Doe
- Бюрократ
- Posts: 14582
- Joined: Wed 27 Apr, 2005 20:42
- Location: github.com/FarManagerLegacy
- Has thanked: 92 times
- Been thanked: 514 times
- Contact:
Lua Explorer „Advanced“
Выяснилось, что тут выложена далеко не последняя версия скрипта...
Я им не занимался уже много лет, но в записях сохранились такие изменения:
Я им не занимался уже много лет, но в записях сохранились такие изменения:
- При вставке в таблицу, и редактировании значений теперь введённые параметры проверяются на корректность
(количество и значение~=nil) - Функции Lua для работы с массивами не рассчитаны на то, что элементами массива могут быть значиния типа nil
Теперь это учитывается.
(При отображении возвращаемых функциями значений, возможно ещё где-то) - Символ с кодом 0 в ключах и значениях теперь заменяется на '\000'
Ctrl+Iуправляет режимом сортировки "различать регистр", начальное значение в опцииignore_case.- Не пытаемся работать с upvalues C-функций.
- При просмотре объектов типа thread улучшено форматирование traceback.
- * mf.msgbox -> far.Message (для возможности использования в luafar плагинах)
- Экспериментально: расширение возможностей скрипта, путём добавления новых действий в виде BreakKeys.
le(actions,nil,'addBrKeys')
-actions- таблица - список действий, в том же формате, что и штатнаяbrkeys(см.)
- (вторым параметром обычно передаётся заголовок, в данном случае не имеет смысла)
-'addBrKeys'команда для импорта. - Из скрипта убрана работа с локальными переменными функций.
Действия могут быть добавлены отдельным скриптомse.lua. - Поддержка cfgscript / ScriptsBrowser
- Бинарные строки (непредставимые в utf-8) отображаются с псевдотипом `#string`, в кодировке Ansi.
Редактирование тоже поддерживается. - Символы помечающие таблицы и функции теперь настраиваются в options.
- Восстановлена работа jit.util.funcinfo (Shift-F3)
Last edited by John Doe on Mon 11 Nov, 2019 17:25, edited 1 time in total.
- buniak_a_h
- Posts: 4564
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 242 times
- Been thanked: 674 times
- Contact:
Lua Explorer „Advanced“
А где последняя? В первом сообщении темы - старый...John Doe wrote: Tue 05 Nov, 2019 13:16 Выяснилось, что тут выложена далеко не последняя версия скрипта...
- HaRT
- Moderator
- Posts: 11458
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 270 times
- Been thanked: 417 times
Lua Explorer „Advanced“
В предыдущем сообщении появились ссылки.
@John Doe Не помешала бы краткая инструкция по установке.
В частности, пока я не положил
le.lua в Macros\modules, при пере-/загрузке макросов возникала ошибка (предсказуемо), но сейчас не срабатывает макрос. Как починить?Фар есть инструмент, а не нянька. © 2009 DrKnS