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.
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/MoonScript

Post by buniak_a_h »

Latest post of the previous page:

В файле 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.
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 »

Обновил, вложение в шапке.
buniak_a_h wrote: Sat 14 Nov, 2020 11:47 Или есть какой-то другой способ сделать так, чтоб скрипт не ругалcя на far.Host
Разумеется есть, можно через свой .luacheckrc (см. документацию).
buniak_a_h wrote: Sat 14 Nov, 2020 11:47 (а также на _G.utf8)?
А на это и не должно было ругаться, если у вас конечно не совсем древняя версия скрипта.
https://t.me/FarManager — Telegram чат
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/MoonScript

Post by buniak_a_h »

John Doe wrote: Sat 14 Nov, 2020 13:11 А на это и не должно было ругаться, если у вас конечно не совсем древняя версия скрипта.
Скачал снова всё, что в шапке, перепроверил. На utf8 не ругается. Зато ругается на unicode и на все поля таблицы utf8 (например, utf8.char). Пока решилось заменой в far_standards.lua.cfg строки 66

Code: Select all

include "utf8" (utf8_str),
на тупую

Code: Select all

include "utf8"{
  "byte","cfind","char","dump","find","format","gfind","gmatch","gsub","len",
  "lower","match","rep","reverse","sub","upper","utf8valid",
},
. Я уверен, что это неправильно, но найти концов не могу.
Last edited by buniak_a_h on Sat 23 Jan, 2021 16:35, edited 2 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 »

Спасибо за репорт, перевыложил исправленный конфиг.
buniak_a_h wrote: Sat 23 Jan, 2021 13:03 Зато ругается на unicode
Намеренно.
Эта табличка оставлена для совместимости, использовать её сейчас смысла нет.
https://t.me/FarManager — Telegram чат
User avatar
citRiks
Posts: 1732
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 103 times

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

Post by citRiks »

Last edited by citRiks on Sat 23 Jan, 2021 17:39, edited 1 time in total.
User avatar
HaRT
Moderator
Posts: 11458
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 417 times

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

Post by HaRT »

Почему-то на недавно добавленный UUID. Как исправить локально, я за 5 минут не нашёл.
Фар есть инструмент, а не нянька. © 2009 DrKnS
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/MoonScript

Post by buniak_a_h »

HaRT, я, вроде, добавлял в far_standards.lua.cfg. Там поискать GUIDS и добавить строчку "EditMaskGroupId"
User avatar
citRiks
Posts: 1732
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 103 times

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

Post by citRiks »

я что-то не могу понять/найти как отменить проверку на определенные правила
например я не хочу проверять на "trailing spaces" (пробелы в конце строки)
не смог понять из справки luacheck_far.ru.hlf
не смог понять из справки https://luacheck.readthedocs.io/en/stable/config.html
не смог понять рассматривая .luacheckrc
если у кого есть идеи, то подскажите .. ?
Shmuel
Posts: 7244
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 636 times

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

Post by Shmuel »

citRiks wrote: Mon 17 Oct, 2022 19:14 например я не хочу проверять на "trailing spaces"
Поставьте в .luacheckrc следующее:

Code: Select all

ignore = {
  "611", -- A line consists of nothing but whitespace.
  "612", -- A line contains trailing whitespace.
  "613", -- Trailing whitespace in a string.
  "614", -- Trailing whitespace in a comment.
}
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/MoonScript

Post by buniak_a_h »

По-моему, ещё недоделка вылезла: luacheck ругается на win.GetSystemTime (нет такого ?)
Shmuel
Posts: 7244
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 636 times

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

Post by Shmuel »

В файле far_standards.lua.cfg найдите include "win" и добавьте эту функцию.
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/MoonScript

Post by buniak_a_h »

Shmuel, да я-то знаю. Но было бы кузяво подкорректировать тот, что в первом сообщении темы (типо для всех)
Shmuel
Posts: 7244
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 636 times

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

Post by Shmuel »

Ну обратитесь к кому надо. Я-то вообще своей утилитой пользуюсь, а не этой.
User avatar
HaRT
Moderator
Posts: 11458
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 417 times

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

Post by HaRT »

Shmuel wrote: Tue 07 Feb, 2023 18:38 Я-то вообще своей утилитой пользуюсь, а не этой.
Очень интересно! А чем она хороша? Вдруг и нам понравилась бы?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 7244
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 636 times

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

Post by Shmuel »

HaRT, она ничем не лучше (а может быть и хуже) утилиты от John Doe.
В её основании также лежит замечательный LuaCheck от Петра Мельниченко.
Когда я впервые начал пробовать утилиту от John Doe, то понял, что потребуетися пара часов, чтобы хорошо разобраться с его решениями.
В то же время, я оценил, что написать собственный вариант это тоже считанные часы, но поддержка и модификация своего кода для меня проще, чем чужого.
Для широкого круга пользователей утилита от John Doe лучше, чем моя, ибо моя без документации.
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 »

Обновление файла far_standards.lua.cfg для far 6114 / lm 772.
В шапке.
https://t.me/FarManager — Telegram чат
Post Reply

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