Page 10 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: Sat 25 Apr, 2020 07:33
by Shmuel

Latest post of the previous page:

На случай, если об этом ещё не сообщалось:
Версия библиотеки 0.23.0 правильно определяет номера колонок при формировании строки ошибки, с учётом UTF-8. Более ранние версии дают смещение в байтах.

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

Posted: Sat 25 Apr, 2020 07:41
by John Doe
Shmuel wrote: Sat 25 Apr, 2020 07:33 Версия библиотеки 0.23.0 правильно определяет номера
Это проверено в фаре?

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

Posted: Sat 25 Apr, 2020 07:46
by Shmuel
John Doe wrote: Sat 25 Apr, 2020 07:41 Это проверено в фаре?
Да.

Установка библиотеки чуть сложнее:
1. argparse.lua должен быть установлен отдельно (и не в папке luacheck).
2. Нужно также установить LuaFileSystem (lfs) - возможно для Фара это не обязательно, не проверял.

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

Posted: Sun 10 May, 2020 22:44
by HaRT
При вызове LuaCheck (v1.4.3 с luacheck 0.23) в редакторе на скрипте picture.lua получаю .
Как нормально добиться работоспособности проверки? (Пока обошёлся заглушкой в _MacroInit.lua.)

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

Posted: Mon 11 May, 2020 06:33
by Shmuel
HaRT wrote: Sun 10 May, 2020 22:44 При вызове LuaCheck (v1.4.3 с luacheck 0.23) в редакторе на скрипте picture.lua получаю .
У меня этой ошибки нет, есть варнинги, довольно безобидные (строки слишком длинные и т.д.).
Скрипт скачал только что, до этого у меня была более старая версия.
LuaCheck 0.23.0, Far 3.0.5596 x86.

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

Posted: Mon 11 May, 2020 06:51
by buniak_a_h
HaRT, гляньте отсюда. Временное решение цитирую:
John Doe wrote: Wed 15 Apr, 2020 08:42 Временное решение: local ConvertToAnsi = false
Shmuel, под "ошибкой" HaRT имел в виду не результат проверки своего скрипта, а ошибку самого блока проверки. Я о ней писал…

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

Posted: Mon 11 May, 2020 06:55
by Shmuel
buniak_a_h wrote: Mon 11 May, 2020 06:51 под "ошибкой" HaRT имел в виду не результат проверки своего скрипта, а ошибку самого блока проверки.
Не знаю, что он имел в виду, могу судить только по написанному. Я повторяю описанные действия, но не получаю указанной ошибки.

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

Posted: Mon 11 May, 2020 06:58
by buniak_a_h
Shmuel, а при чём тут варнинги, когда до результатов контроля дело вообще не доходит? У нас это называлось "вылет".

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

Posted: Mon 11 May, 2020 08:11
by Shmuel
Важное дополнение: у меня в сабжевом скрипте ConvertToAnsi = false
buniak_a_h wrote: Mon 11 May, 2020 06:58 а при чём тут варнинги, когда до результатов контроля дело вообще не доходит?
Странный вопрос, описывалось поведение, которое наблюдалось у меня, что не так?

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

Posted: Mon 11 May, 2020 08:58
by buniak_a_h
Shmuel wrote: Mon 11 May, 2020 08:11 Важное дополнение: у меня в сабжевом скрипте ConvertToAnsi = false
Вот Вам и ответ, почему у Вас вылет не происходит.
Shmuel wrote: Mon 11 May, 2020 08:11 описывалось поведение, которое наблюдалось у меня
Это - стандартное поведение (не ошибка, даже если в протоколе проверки будет Error). А у HaRT-а как раз ошибка - не результат синтаксической проверки, а вылет в самом проверяющем скрипте.

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

Posted: Mon 11 May, 2020 09:11
by Shmuel
Ещё раз: описывается поведение в определённой ситуации. Что вас не устраивает в моём репорте?

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

Posted: Tue 12 May, 2020 08:04
by John Doe
Никто не будет возражать если я удалю хвост обсуждения начиная с сообщения HaRT?

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

Posted: Tue 12 May, 2020 08:08
by Shmuel
John Doe wrote: Tue 12 May, 2020 08:04 Никто не будет возражать если я удалю хвост обсуждения начиная с сообщения HaRT?
Ok.

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

Posted: Tue 12 May, 2020 11:12
by buniak_a_h
John Doe, эх, благодарнос ть удалится... ;-)

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

Posted: Tue 12 May, 2020 14:23
by HaRT
John Doe wrote: Tue 12 May, 2020 08:04 Никто не будет возражать если я удалю хвост обсуждения начиная с сообщения HaRT?
Я возражаю против удаления своего сообщения и «принятого» ответа насчёт ConvertToAnsi = false (ответ Шмуэлю в тексте можно будет стереть). Я считаю их полезными для будущих читателей, потому что, столкнувшись с такой же проблемой, даже по обсуждению в этой теме в середине апреля нереально понять, что это та же проблема и, соответственно, что «временное» решение применимо.

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

Posted: Sat 14 Nov, 2020 11:47
by buniak_a_h
В файле far_standards.lua.cfg не перечислены far.Host . Надо самим обновлять, или Вы пополните? Или есть какой-то другой способ сделать так, чтоб скрипт не ругалcя на far.Host (а также на _G.utf8)?