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

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

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

Post by John Doe »

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

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

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

Требования:
  • FAR 3 не старше b5106
  • luacheck не ниже v0.19
Attachments
luaсheck_far_v1.4.3.7z
far5505.lm712
(23.38 KiB) Downloaded 75 times
Last edited by John Doe on Sat 09 Nov, 2019 16:08, edited 3 times in total.

Shmuel
Posts: 6123
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 308 times

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

Post by Shmuel »

Latest post of the previous page:

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

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

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

Post by John Doe »

Shmuel wrote:
Sat 25 Apr, 2020 07:33
Версия библиотеки 0.23.0 правильно определяет номера
Это проверено в фаре?
https://t.me/FarManager — Telegram чат

Shmuel
Posts: 6123
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 308 times

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

Post by Shmuel »

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

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

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

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

Post by HaRT »

При вызове LuaCheck (v1.4.3 с luacheck 0.23) в редакторе на скрипте picture.lua получаю .
Как нормально добиться работоспособности проверки? (Пока обошёлся заглушкой в _MacroInit.lua.)
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 6123
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 308 times

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

Post 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.

buniak_a_h
Posts: 1843
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 116 times
Been thanked: 165 times
Contact:

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

Post by buniak_a_h »

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

Shmuel
Posts: 6123
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 308 times

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

Post by Shmuel »

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

buniak_a_h
Posts: 1843
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 116 times
Been thanked: 165 times
Contact:

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

Post by buniak_a_h »

Shmuel, а при чём тут варнинги, когда до результатов контроля дело вообще не доходит? У нас это называлось "вылет".

Shmuel
Posts: 6123
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 308 times

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

Post by Shmuel »

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

buniak_a_h
Posts: 1843
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 116 times
Been thanked: 165 times
Contact:

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

Post by buniak_a_h »

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

Shmuel
Posts: 6123
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 308 times

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

Post by Shmuel »

Ещё раз: описывается поведение в определённой ситуации. Что вас не устраивает в моём репорте?

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

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

Post by John Doe »

Никто не будет возражать если я удалю хвост обсуждения начиная с сообщения HaRT?
https://t.me/FarManager — Telegram чат

Shmuel
Posts: 6123
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 31 times
Been thanked: 308 times

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

Post by Shmuel »

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

buniak_a_h
Posts: 1843
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 116 times
Been thanked: 165 times
Contact:

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

Post by buniak_a_h »

John Doe, эх, благодарнос ть удалится... ;-)

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

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

Post by HaRT »

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

Post Reply

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