Page 8 of 14
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Tue 16 Jun, 2015 12:36
by John Doe
Luacheck это статический анализатор для
Lua.
Luacheck может обнаруживать разнообразные проблемы, такие как использование неопределённых глобальных переменных, неиспользованные переменные и значения, доступ к неинициализированным переменным, недостижимый код и
многое другое.
А для удобной работы с
luacheck в фаре предлагаю данный пакет скриптов, обеспечивающий работу
Luacheck в редакторе и в командной строке.
Кроме того, в редакторе для
Luacheck обеспечивается прозрачная "трансляция"
MoonScript, что позволяет анализировать и
*.moon-файлы.
Инструкции по установке, настройке, и работе — во встроенной справке.
Требования:
- FAR 3 не старше b5106
- luacheck не ниже v0.19
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Thu 07 Nov, 2019 12:46
by John Doe
Latest post of the previous page:
v1.4.2-far5498.lm712
- Улучшена справка
far_standards.lua.cfg
актуализирован
- Экспериментальная опция
allow_G
(не документирована), позволяет скрывать предупреждения о необъявленных переменных, если они уже присутствуют в текущем окружении.
Примечание: вместо этой опции рекомендуется добавлять необходимые идентификаторы в конфиг: viewtopic.php?p=146799#p146799
С этой версии использование оставленных для совместимости
_G.unicode
и
utf8.cfind
будет отображаться ошибкой.
Рекомендуется исправить скрипты.
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Thu 07 Nov, 2019 22:32
by buniak_a_h
Задал по рекомендации
Shmuel
package.nounload = true
получил репорт:
setting undefined field 'nounload.ljsqlite3' of global 'package'
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Fri 08 Nov, 2019 14:22
by citRiks
John Doe,
Запускаю из панели luacheck:name.lua и получаю ошибку:
luacheck commandline
lua interpreter not found: luajit.exe
Но готового luajit.exe не нашёл. Что посоветуете?
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Fri 08 Nov, 2019 15:35
by skipik
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Fri 08 Nov, 2019 16:35
by citRiks
skipik, Вот спасибо! А нет ли ещё и x32-разрядности?
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Fri 08 Nov, 2019 16:45
by skipik
citRiks, обновил пост выше.
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Fri 08 Nov, 2019 16:56
by HaRT
Спасибо. А какая это конкретно версия LuaJit и какой версией компилятора собрана?
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Fri 08 Nov, 2019 17:48
by John Doe
готового luajit.exe не нашёл. Что посоветуете?
А в справке не указано? Был в репозитории фара, кажется.
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Fri 08 Nov, 2019 17:56
by John Doe
Версия значения особого не имеет, т.к. предполагается что DLL будут подхвачены те, что используются фаром.
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Fri 08 Nov, 2019 18:56
by citRiks
John Doe wrote: ↑Fri 08 Nov, 2019 17:48
готового luajit.exe не нашёл. Что посоветуете?
А в справке не указано? Был в репозитории фара, кажется
Ссылка в справке указана. Но самое большее, что я по ней нашёл, это "No results found".
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Fri 08 Nov, 2019 19:20
by John Doe
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Fri 08 Nov, 2019 19:23
by skipik
HaRT wrote: ↑Fri 08 Nov, 2019 16:56
Спасибо. А какая это конкретно версия LuaJit и какой версией компилятора собрана?
Не могу точно сказать, нашёл на пк в архивах. Но, судя по "linker version 2.27", собрано в GCC.
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Sat 09 Nov, 2019 16:17
by John Doe
1.4.3
- обновление списка идентификаторов в соответствии с окружением, доступным в far 5505.
- учитывается package.nounload
- коррекция ссылок в справке
- исправления в обработке необъявленных переменных
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Thu 21 Nov, 2019 22:57
by buniak_a_h
Почему-то выдаётся диагностика:
Code: Select all
accessing undefined field 'BeginSelection' of global 'panel'
accessing undefined field 'EndSelection' of global 'panel'
Такие функции в таблице
panel имеются. И даже описание есть. Что делать, шеф? Усё пропало!©
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Fri 22 Nov, 2019 08:45
by John Doe
buniak_a_h wrote: ↑Thu 21 Nov, 2019 22:57
Что делать, шеф?
Убедиться что версия скрипта соответствует выложенной в шапке.
Luacheck FAR scripts — статический анализатор для Lua/MoonScript
Posted: Tue 14 Apr, 2020 16:42
by buniak_a_h
Версия ФАР начтная с 5580.
Скрипт - последний из шапки.
При проверке синтаксиса скрипт падает.
Путём вывода сообщений получено место: модуль check.lua, функция error.
Сообщение, которое туда приходит (на моём скрипте):
Code: Select all
...g\Far Manager\Profile\Macros\modules\luacheck\parser.lua:60: invalid UTF-8 code
stack traceback:
...ng\Far Manager\Profile\Macros\modules\luacheck\utils.lua:186: in function <...ng\Far Manager\Profile\Macros\modules\luacheck\utils.lua:182>
[C]: in function 'token_body_or_line'
...g\Far Manager\Profile\Macros\modules\luacheck\parser.lua:60: in function 'skip_token'
...g\Far Manager\Profile\Macros\modules\luacheck\parser.lua:181: in function 'parse_id'
...g\Far Manager\Profile\Macros\modules\luacheck\parser.lua:359: in function 'parse_simple_expression'
...g\Far Manager\Profile\Macros\modules\luacheck\parser.lua:449: in function 'parse_subexpression'
...g\Far Manager\Profile\Macros\modules\luacheck\parser.lua:472: in function 'parse_expression'
...g\Far Manager\Profile\Macros\modules\luacheck\parser.lua:171: in function 'parse_expression_list'
...g\Far Manager\Profile\Macros\modules\luacheck\parser.lua:645: in function 'parse_statement'
...g\Far Manager\Profile\Macros\modules\luacheck\parser.lua:723: in function 'parse_block'
...g\Far Manager\Profile\Macros\modules\luacheck\parser.lua:284: in function 'parse_function'
...g\Far Manager\Profile\Macros\modules\luacheck\parser.lua:594: in function 'parse_statement'
...g\Far Manager\Profile\Macros\modules\luacheck\parser.lua:723: in function 'parse_block'
...g\Far Manager\Profile\Macros\modules\luacheck\parser.lua:752: in function 'parse'
...ng\Far Manager\Profile\Macros\modules\luacheck\check.lua:230: in function <...ng\Far Manager\Profile\Macros\modules\luacheck\check.lua:229>
[C]: in function 'try'
...ng\Far Manager\Profile\Macros\modules\luacheck\check.lua:258: in function 'get_report'
...ing\Far Manager\Profile\Macros\modules\luacheck\init.lua:101: in function 'check_strings'
...file\Macros\scripts\luacheck_scripts\luacheck_editor.lua:611: in function <...file\Macros\scripts\luacheck_scripts\luacheck_editor.lua:566>
В версии ФАР-а ранее 5580 ошибки не было. Файл - в кодировке UTF-8, набран во встроенном редакторе ФАР-а.
Совет из предыдущего Вашего сообщения не помогает.
Что делать, шеф? ©Лёлик
--
P/S. Пример проверяемого скрипта нужен? Он, кстати, рабочий!