Lua Explorer „Advanced“

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
John Doe
Бюрократ
Posts: 12519
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 228 times

Re: Lua Explorer „Advanced“

Post by John Doe » Thu 23 May, 2013 10:05

Latest post of the previous page:

Smitis wrote:Можно ли из одного lua-плагина получить глобальную таблицу другого lua-плагина? Иначе теряется смысл делать LuaExplorer плагином.
Где-то вроде проскакивало, что плагины совершенно независимы.
Полагаю сейчас ничего такого не предусмотрено, но подумать над реализацией можно.
Во-первых библиотека LuaFAR могла бы предоставить какие-то средства.
Во-вторых, плагины вероятно тоже могут обмениваться данными (через C API)

Acerbic
Posts: 80
Joined: Wed 07 Apr, 2010 12:30
Been thanked: 2 times

Re: Lua Explorer „Advanced“

Post by Acerbic » Thu 23 May, 2013 16:46

Smitis wrote: Можно ли из одного lua-плагина получить глобальную таблицу другого lua-плагина? Иначе теряется смысл делать LuaExplorer плагином.
Где-то вроде проскакивало, что плагины совершенно независимы.
Даже если нельзя, то функциональность будет как минимум не хуже, чем в текущем варианте - из макроса ведь тоже таблицу плагина не посмотришь (поправьте, если не прав). Зато можно будет конфигурировать (если вдруг такая надобность появится) стандартизированным образом, из меню конфигурации плагинов. Но это всё, конечно, "если бы да кабы". В принципе, мне нет разницы, вызвать через require или Plugin.Call - вопрос вкуса.

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

Re: Lua Explorer „Advanced“

Post by John Doe » Thu 23 May, 2013 18:27

Acerbic wrote:Даже если нельзя, то функциональность будет как минимум не хуже
Если нельзя, то функциональность вообще невозможна, т.к. lua explorer показывает таблицу плагина luamacro.
Acerbic wrote:В принципе, мне нет разницы, вызвать через require или Plugin.Call - вопрос вкуса.
Отнюдь, во-первых Plugin.Call ещё надо реализовать (без понятия как).
Во-вторых через Plugin.Call невозможно передать типы lua (table,function и пр.).

xarx
Posts: 123
Joined: Tue 23 Nov, 2010 12:06

Re: Lua Explorer „Advanced“ - Ломает код

Post by xarx » Wed 29 May, 2013 14:34

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

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

Re: Lua Explorer „Advanced“

Post by John Doe » Wed 29 May, 2013 14:43

Не верю.
Покажите как.

xarx
Posts: 123
Joined: Tue 23 Nov, 2010 12:06

Re: Lua Explorer „Advanced“

Post by xarx » Wed 29 May, 2013 16:23

:-)

Code: Select all

Macro {
  area="Common"; key="Test"; description="...";
  action = function()
    msg = "\n----- abc -----\n"..
      "c--df\n"
  end;
}
После того из L.E.A. нажимите F4 на этом макросе, и в Macro Body вы увидите

Code: Select all

function()
    msg = "\n
      "c
  end
После сохранения сломанный и файл.

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

Re: Lua Explorer „Advanced“

Post by John Doe » Wed 29 May, 2013 16:54

Lua Explorer к редактированию макросов отношения не имеет.
Вероятно вы хотели написать в тему Менеджер Lua-скриптов для Fara

xarx
Posts: 123
Joined: Tue 23 Nov, 2010 12:06

Re: Lua Explorer „Advanced“

Post by xarx » Wed 29 May, 2013 17:12

John Doe wrote:Lua explorer к редактированию макросов отношения не имеет.
Вероятно вы хотели написать в тему Lua Manager
Да? Извините :-(.

Acerbic
Posts: 80
Joined: Wed 07 Apr, 2010 12:30
Been thanked: 2 times

Re: Lua Explorer „Advanced“

Post by Acerbic » Tue 04 Jun, 2013 08:28

кстати работает и для отладки плагинов на lua, надо только закомментить строчку

Code: Select all

assert(Far, 'This is a LuaMacro for Far manager')

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

Re: Lua Explorer „Advanced“

Post by John Doe » Tue 04 Jun, 2013 11:45

Ещё надо заменить два msgbox на far.Message. Достались в наследство от оригинала.

EGez
Posts: 144
Joined: Thu 04 Oct, 2012 13:53
Location: Hamburg, DE
Has thanked: 2 times
Been thanked: 2 times

Re: Lua Explorer „Advanced“

Post by EGez » Tue 17 Sep, 2013 23:06


buniak_a_h
Posts: 1215
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 68 times
Contact:

Lua Explorer „Advanced“

Post by buniak_a_h » Mon 04 Nov, 2019 22:07

John Doe, я нарвался на ошибку вызова функции в случае, если срени параметров (но не последний) - nil. Вот исправление:
  1. 161c161
  2. <       if res[1] then  table.remove(res,1);  return res,expr
  3. ---
  4. >       if res[1] then  table.remove(res,1);  return res,expr,f  -- BAX, 04.11.2019
  5. 239c239
  6. <     local args,argstr = luaexp_prompt('CALL:'..title,
  7. ---
  8. >     local args,argstr, ArgFunc = luaexp_prompt('CALL:'..title,  -- BAX, 04.11.2019
  9. 245c245
  10. <       local res = {pcall(obj, unpack(args))}
  11. ---
  12. >       local res = {pcall(obj, ArgFunc())}  -- BAX, 04.11.2019
Подробности там

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

Lua Explorer „Advanced“

Post by John Doe » Tue 05 Nov, 2019 13:16

Выяснилось, что тут выложена далеко не последняя версия скрипта...
Я им не занимался уже много лет, но в записях сохранились такие изменения:
  • При вставке в таблицу, и редактировании значений теперь введённые параметры проверяются на корректность
    (количество и значение~=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
Update: v2.4
  • Бинарные строки (непредставимые в utf-8) отображаются с псевдотипом `#string`, в кодировке Ansi.
    Редактирование тоже поддерживается.
  • Символы помечающие таблицы и функции теперь настраиваются в options.
  • Восстановлена работа jit.util.funcinfo (Shift-F3)
source | download
Last edited by John Doe on Mon 11 Nov, 2019 17:25, edited 1 time in total.

buniak_a_h
Posts: 1215
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 68 times
Contact:

Lua Explorer „Advanced“

Post by buniak_a_h » Tue 05 Nov, 2019 13:27

John Doe wrote:
Tue 05 Nov, 2019 13:16
Выяснилось, что тут выложена далеко не последняя версия скрипта...
А где последняя? В первом сообщении темы - старый... :-(

User avatar
HaRT
Moderator
Posts: 9139
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 173 times

Lua Explorer „Advanced“

Post by HaRT » Tue 05 Nov, 2019 14:10

John Doe wrote:
Tue 05 Nov, 2019 13:16
А где последняя?
В предыдущем сообщении появились ссылки.

@John Doe Не помешала бы краткая инструкция по установке.
В частности, пока я не положил le.lua в Macros\modules, при пере-/загрузке макросов возникала ошибка (предсказуемо), но сейчас не срабатывает макрос. Как починить?
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

Lua Explorer „Advanced“

Post by John Doe » Tue 05 Nov, 2019 14:20

Инструкция в шапке уже 6 лет.
HaRT wrote:
Tue 05 Nov, 2019 14:10
при пере-/загрузке макросов возникала ошибка
О какой ошибке речь?

User avatar
HaRT
Moderator
Posts: 9139
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 173 times

Lua Explorer „Advanced“

Post by HaRT » Tue 05 Nov, 2019 14:38

John Doe wrote:
Tue 05 Nov, 2019 14:20
О какой ошибке речь?
Да, следовало бы сразу её прислать, .
Это если я кладу le.lua и se.lua в Macros\scripts\LuaExpAdv\. Класть их вместе с сотней файлов уровнем выше я не хочу из-за их ничего не говорящих имён файлов (о несоответствии моим предпочтениям в именовании я уж и не говорю).
Фар есть инструмент, а не нянька. © 2009 DrKnS

Post Reply

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