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

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

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

Post by John Doe »

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

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

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

Требования:
  • FAR 3 не старше b5106
  • luacheck не ниже v0.19
Attachments
far_standards.lua.cfg_v1.5.7z
Обновлённые определения (far 6114 / lm 772)
(8.5 KiB) Downloaded 87 times
luaсheck_far_v1.4.3.7z
far5505.lm712
(23.38 KiB) Downloaded 335 times
Last edited by John Doe on Sat 09 Nov, 2019 16:08, edited 3 times in total.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 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: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 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: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

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

Post by HaRT »

При вызове LuaCheck (v1.4.3 с luacheck 0.23) в редакторе на скрипте picture.lua получаю .
Как нормально добиться работоспособности проверки? (Пока обошёлся заглушкой в _MacroInit.lua.)
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 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.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 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: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

buniak_a_h wrote: Mon 11 May, 2020 06:51 под "ошибкой" HaRT имел в виду не результат проверки своего скрипта, а ошибку самого блока проверки.
Не знаю, что он имел в виду, могу судить только по написанному. Я повторяю описанные действия, но не получаю указанной ошибки.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

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

Post by buniak_a_h »

Shmuel, а при чём тут варнинги, когда до результатов контроля дело вообще не доходит? У нас это называлось "вылет".
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

Важное дополнение: у меня в сабжевом скрипте ConvertToAnsi = false
buniak_a_h wrote: Mon 11 May, 2020 06:58 а при чём тут варнинги, когда до результатов контроля дело вообще не доходит?
Странный вопрос, описывалось поведение, которое наблюдалось у меня, что не так?
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 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: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

Ещё раз: описывается поведение в определённой ситуации. Что вас не устраивает в моём репорте?
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

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

Post by John Doe »

Никто не будет возражать если я удалю хвост обсуждения начиная с сообщения HaRT?
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

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

Post by Shmuel »

John Doe wrote: Tue 12 May, 2020 08:04 Никто не будет возражать если я удалю хвост обсуждения начиная с сообщения HaRT?
Ok.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

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

Post by buniak_a_h »

John Doe, эх, благодарнос ть удалится... ;-)
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

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

Post by HaRT »

John Doe wrote: Tue 12 May, 2020 08:04 Никто не будет возражать если я удалю хвост обсуждения начиная с сообщения HaRT?
Я возражаю против удаления своего сообщения и «принятого» ответа насчёт ConvertToAnsi = false (ответ Шмуэлю в тексте можно будет стереть). Я считаю их полезными для будущих читателей, потому что, столкнувшись с такой же проблемой, даже по обсуждению в этой теме в середине апреля нереально понять, что это та же проблема и, соответственно, что «временное» решение применимо.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

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

Post by buniak_a_h »

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

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