Проверка корректности скрипта в редакторе + выполнение

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

Проверка корректности скрипта в редакторе + выполнение

Post by John Doe »

Набор макросов, помогающих в отладке lua-скриптов, открытых в редакторе.
Активируются только при filemask="*.lua;*.moon"

* CtrlEnter
  • Предназначен для проверки корректности редактируемого макроса.
    При наличии выделения — работает с выделением.
    Если ошибок нет, то предлагаются действия на выбор:
    • Reload All выполняет перезагрузку макросов.
      Файл предварительно сохраняется, если в процессе сохранения возникли вопросы, то макросы не перезагружаются
    • Execute выполнить сам скрипт, или выделенную часть.
      Если скрипт возвращает значения, то они отображаются.
    • Variables после исполнения скрипта или выделенной части отображает результирующие значения переменных скрипта: локальных и окружения (если присутствуют). Если скрипт возвращает значения, то они тоже отображаются.
      Требуется модуль Lua Explorer.
    Если редактируемый файл расположен не в папке scripts, то курсор устанавливается на кнопку Execute.
* CtrlShiftEnter (только при наличии выделения)
  • После исполнения выделенной части скрипта отображает список возвращённых значений (если в тексте отсутствует ключевое слово return, то оно добавляется в начало).
    Перед запуском запрашиваются значения переменных (environment), можно перечислить через запятую
При отображении возвращаемых значений возможен их дальнейший просмотр в Lua Explorer.
Требования: FAR 3 build >=4261.


source | download
Last edited by John Doe on Wed 11 Dec, 2019 09:08, edited 1 time in total.

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

Re: Проверка корректности скрипта в редакторе + выполнение

Post by John Doe »

Latest post of the previous page:

Variables: функция стала проще и надёжнее (используется debug.hook). Теперь также отображаются возвращаемые значения (если есть)

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

Проверка корректности скрипта в редакторе + выполнение

Post by John Doe »

v1.1
Из существенных изменений:
  • Поддержка Moonscript
  • Позиционирование на места ошибок
  • Добавляет в меню плагинов ряд пунктов .
    Настраивается опциями в начале файла, или настройками в пользовательском scriptscfg (пример прилагается)
  • Файл скрипта переименован

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

Проверка корректности скрипта в редакторе + выполнение

Post by HaRT »

buniak_a_h wrote:
Sun 01 Dec, 2019 02:46
Добрый день.
При использовании макроса MacroCheck я заметил одну особенность: в far.Message (с тремя кнопками) иногда активной бывает первая кнопка (которая в фигурных скобках; видимо - DIF_DEFAULTBUTTON, а иногда - вторая (в исходном скрипте это - строка 169)
[…]
От чего зависит эта "стартовая кнопка" в указанном скрипте? А то очень неудобно бывает - она иногда на первой кнопке (Reload All), а иногда - на второй (Execute).
Во избежание офтопика там просьба обсуждать тут.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

Проверка корректности скрипта в редакторе + выполнение

Post by John Doe »

buniak_a_h wrote: От чего зависит эта "стартовая кнопка" в указанном скрипте?
От расположения проверяемого скрипта: если он в Scripts, то предлагается перезагрузить макросы.
Если в другом месте - то запустить скрипт открытый в редакторе.

buniak_a_h
Posts: 1594
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 107 times
Been thanked: 139 times
Contact:

Проверка корректности скрипта в редакторе + выполнение

Post by buniak_a_h »

John Doe wrote:
Mon 02 Dec, 2019 14:21
От расположения проверяемого скрипта: если он в Scripts, то предлагается перезагрузить макросы.
Если в другом месте - то запустить скрипт открытый в редакторе.
Спасибо, я уже поискал слово Keys и понял логику. Просто у меня для перезагрузки макросов другой скрипт используется, а "плавающая" стартовая кнопка - не удобно. Но идею я понял. Спасибо. А то иногда хочется в подтверждении "опасных" действий сделать умолчательной кнопку "Нет"; приходится менять их местами (вместо ";YesNo" указывать "No;Yes". Некузяво…)

buniak_a_h
Posts: 1594
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 107 times
Been thanked: 139 times
Contact:

Проверка корректности скрипта в редакторе + выполнение

Post by buniak_a_h »

Новая версия FAR-а (увы, не нашёл, с какой версии. На 5511 ещё работало; на 5523 уже нет) перестала работать проверка и запуск. Проблема в том, что в макросе указано action=checkMacro;. Раньше это означало вызов без параметров. Теперь передаётся параметр - таблица. Замените, пожалуйста, action=checkMacro; на

Code: Select all

action=function() checkMacro(); end;
Думаю, так будет правильно ...
Last edited by buniak_a_h on Wed 11 Dec, 2019 05:26, edited 2 times in total.

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

Проверка корректности скрипта в редакторе + выполнение

Post by John Doe »

Исправлено, v1.2

buniak_a_h
Posts: 1594
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 107 times
Been thanked: 139 times
Contact:

Проверка корректности скрипта в редакторе + выполнение

Post by buniak_a_h »

Жму download получаю 404: Not Found . ЧЯДНТ?
Last edited by buniak_a_h on Wed 11 Dec, 2019 09:41, edited 1 time in total.

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

Проверка корректности скрипта в редакторе + выполнение

Post by John Doe »

Исправлено

buniak_a_h
Posts: 1594
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 107 times
Been thanked: 139 times
Contact:

Проверка корректности скрипта в редакторе + выполнение

Post by buniak_a_h »

У меня одного такая беда?
При вызове из МЕНЮ плагинов пункта [ Reload Macro ] требуется модуль tooltip . А где его берут?
Строка 126:
require"tooltip" ("(re)loaded in "..elapsed.." ms","Macros",1000)

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

Проверка корректности скрипта в редакторе + выполнение

Post by John Doe »

Подозреваю что я его не выкладывал.
Но вы можете без особого вреда для функциональности просто закомментировать эту строку. (а две предыдущие можете попробовать раскомментировать)

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

Проверка корректности скрипта в редакторе + выполнение

Post by John Doe »

buniak_a_h wrote:
Sat 01 Feb, 2020 03:11
требуется модуль tooltip
Это был эксперимент по реализации подобия "тултипа" немодальным диалогом, чтобы на время его отображения выполнение прочих действий не останавливалось.
https://t.me/FarManager — Telegram чат

Post Reply

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