Luacheck FAR scripts — статический анализатор для Lua/Moon-/YueScript

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Luacheck FAR scripts — статический анализатор для Lua/Moon-/YueScript

Post by John Doe »

Luacheck это статический анализатор для Lua.
Luacheck может обнаруживать разнообразные проблемы, такие как использование неопределённых глобальных переменных, неиспользованные переменные и значения, доступ к неинициализированным переменным, недостижимый код и многое другое.

А для удобной работы с luacheck в фаре предлагаю данный пакет скриптов, обеспечивающий работу Luacheck в редакторе и в командной строке.
Кроме того, в редакторе для Luacheck обеспечивается прозрачная "трансляция" Moon-/YueScript, что позволяет анализировать и .moon/.yue-файлы.

Инструкции по установке, настройке, и работе — во встроенной справке.

Требования: Скачать полностью: LuaCheck.zip
Только far_standards.lua.cfg
Last edited by John Doe on Sat 09 Nov, 2019 16:08, edited 3 times in total.
Ultrabyte
Posts: 213
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 19 times
Been thanked: 20 times

Luacheck FAR scripts — статический анализатор для Lua/Moon-/YueScript

Post by Ultrabyte »

Latest post of the previous page:

John Doe wrote: Mon 19 Aug, 2024 17:10 Поэтому для начала научите воспроизводить.
Если это актуально, то приложил в закрепе минимальный набор Far 3.6300.x32 (без плагинов и хистори и конфига) + luacheck 1.4.3 (чуть поправил код для правильного отображения) + luacheck21.2 + luajit.exe

Как произвести:
1) открыть любой xxxx.lua, где есть кириллица - нажать Ctrl+Shift+F7 -> красное окно
2) переключить нативную кодировку в ненормативную кодировку (Win или Oem), где превращается кириллица в тарабарщину -> всё OK

К сожалению, я не разобрался как посадить версию 23 из гитхаба -> полностью крашится с требованием неизвестного lfn.lua или loadall.dll
Возможно, тут подскажут, как правильно "посадить" 23 версию из гитхаба с полным комплектом недостающих файлов.

(прикрепленный файл УДАЛЕН)
Last edited by Ultrabyte on Mon 11 May, 2026 22:06, edited 2 times in total.
Ultrabyte
Posts: 213
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 19 times
Been thanked: 20 times

Luacheck FAR scripts — статический анализатор для Lua/MoonScript

Post by Ultrabyte »

del
Last edited by Ultrabyte on Mon 19 Aug, 2024 21:07, edited 3 times in total.
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Luacheck FAR scripts — статический анализатор для Lua/MoonScript

Post by John Doe »

Ultrabyte wrote: Mon 19 Aug, 2024 20:10 Если это актуально,
Нет, зачем разбираться в старой версии, когда новая без проблем работает.
Ultrabyte wrote: Mon 19 Aug, 2024 20:10 К сожалению, я не разобрался как посадить версию 23 из гитхаба -> полностью крашится с требованием неизвестного lfn.lua или loadall.dll
У меня она требует lfs.lua или lfs.dll только при запуске из комстроки. В справке сказано где взять.
6. Начиная с версии luacheck 0.23.0 для работы из командной строки требуется отдельно установить следующие модули:
https://t.me/FarManager — Telegram чат
Ultrabyte
Posts: 213
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 19 times
Been thanked: 20 times

Luacheck FAR scripts — статический анализатор для Lua/MoonScript

Post by Ultrabyte »

John Doe wrote: Mon 19 Aug, 2024 20:29 Нет, зачем разбираться в старой версии, когда новая без проблем работает.
без_кирилицы.png
вроде новая версия: 1.4.3 и 23.0 (пару минут назад обновил). Без кириллицы, на скриншоте видно: "???? ????? ????"
с_кирилицей.png
когда есть кириллица

Выше обновил прикреп с версией 23.0

Update:
SUSim wrote: Mon 19 Aug, 2024 09:01 в строках 250, 258, 259 конструкцию 'str:find(...' на 'string.find(str...'
Версия у меня 0.23
Помогло :)
Last edited by Ultrabyte on Mon 19 Aug, 2024 21:27, edited 5 times in total.
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Luacheck FAR scripts — статический анализатор для Lua/MoonScript

Post by John Doe »

Проблемный файл приложите лучше
https://t.me/FarManager — Telegram чат
Ultrabyte
Posts: 213
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 19 times
Been thanked: 20 times

Luacheck FAR scripts — статический анализатор для Lua/MoonScript

Post by Ultrabyte »

Можно абсолютно любой, где есть кириллица.
Attachments
Edit.Ctrl-Slash__Home_.lua
(186 Bytes) Downloaded 66 times
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Luacheck FAR scripts — статический анализатор для Lua/MoonScript

Post by John Doe »

Понял в чём дело.
Надо не 0.23, а последняя из этого репозитория (там было ещё 16 коммитов)
https://github.com/mpeterv/luacheck/zipball/master

Для простоты исправлю требования, а дам ссылку на https://github.com/lunarmodules/luacheck/
https://t.me/FarManager — Telegram чат
Ultrabyte
Posts: 213
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 19 times
Been thanked: 20 times

Luacheck FAR scripts — статический анализатор для Lua/MoonScript

Post by Ultrabyte »

John Doe wrote: Mon 19 Aug, 2024 21:43 там было ещё 16 коммитов
Не помогло.
Да и внутри utils.lua не исправили на "string.find(str..."
Если принудительно исправить, то заработает.
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Luacheck FAR scripts — статический анализатор для Lua/MoonScript

Post by John Doe »

Ultrabyte wrote: Mon 19 Aug, 2024 21:52 Да и внутри utils.lua не исправили на "string.find(str..."
Именно, что у меня они и неисправленные работают.
И я проверил с чистым 0.23, всё работает. Загадка.
Попробуйте обновить макрос https://chiselapp.com/user/johnd0e/repo ... dir?ci=tip
Хотя тоже не припомню чтобы что-то существенное правил https://chiselapp.com/user/johnd0e/repo ... k/timeline
https://t.me/FarManager — Telegram чат
User avatar
zg
zero-gravity
Posts: 6207
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 206 times
Contact:

Luacheck FAR scripts — статический анализатор для Lua/Moon-/YueScript

Post by zg »

Ultrabyte wrote: Mon 19 Aug, 2024 21:52 е помогло.
Да и внутри utils.lua не исправили на "string.find(str..."
Если принудительно исправить, то заработает.
у вас версия luacheck_far 1.5:
John Doe wrote: Sun 18 Aug, 2024 22:08 И надо уточнить ещё версию скрипта, актуальная 1.5
, потому что на 1.4.3 именно так, как вы описываете (ну почти, не любой файл с кириллицей, но большинство), а на 1.5 всё окей.
User avatar
SUSim
Posts: 1735
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 15 times
Been thanked: 45 times

Luacheck FAR scripts — статический анализатор для Lua/Moon-/YueScript

Post by SUSim »

luacheck_far 1.5
luacheck 1.2.0
far 6360
Всё ОК! без правок...

P.S. John Doe, добавь в стандартные win.GetLocalTime
SimSU ··· ·· -- ··· ··-
User avatar
buniak_a_h
Posts: 4564
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 242 times
Been thanked: 674 times
Contact:

Luacheck FAR scripts — статический анализатор для Lua/Moon-/YueScript

Post by buniak_a_h »

Когда будете выпускать следующую версию, добавьте исключение win.GetLocalTime. Видимо, новая функция…
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Luacheck FAR scripts — статический анализатор для Lua/Moon-/YueScript

Post by John Doe »

Исправлено определение строк в MoonScript и обновлены стандартные определения.
https://t.me/FarManager — Telegram чат
Post Reply

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