АнглийскийФранцузскийИспанский

Значок OnWorks

luacheck - Интернет в облаке

Запустите luacheck в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда luacheck, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


luacheck - Документация luacheck

Содержание:

СПИСОК OF ПРЕДУПРЕЖДЕНИЯ


Предупреждения, выдаваемые Luacheck, классифицируются с использованием трехзначных кодов предупреждений. Предупреждение
коды могут отображаться в выводе CLI, используя --коды Опция CLI или Коды вариант конфигурации.
Ошибки также имеют коды, начинающиеся с нуля.

┌─────┬────────────────────────────────────
│Код │ Описание │
├─────┼────────────────────────────────────
│011 │ Синтаксическая ошибка. │
├─────┼────────────────────────────────────
│021 │ Недопустимая встроенная опция. │
├─────┼────────────────────────────────────
│022 │ Встроенный толчок вверх │
│ │ директива. │
├─────┼────────────────────────────────────
│023 │ Встроенная директива pop. │
├─────┼────────────────────────────────────
│111 │ Установка неопределенного глобального │
│ │ переменная. │
├─────┼────────────────────────────────────
│112 │ Мутация неопределенного глобального │
│ │ переменная. │
├─────┼────────────────────────────────────
│113 │ Доступ к неопределенному глобальному │
│ │ переменная. │
├─────┼────────────────────────────────────
│121 │ Настройка глобального только для чтения │
│ │ переменная. │
├─────┼────────────────────────────────────
│122 │ Изменение глобального только для чтения │
│ │ переменная. │
├─────┼────────────────────────────────────
│131 │ Неиспользуемый неявно определенный глобальный │
│ │ переменная. │
├─────┼────────────────────────────────────
│211 │ Неиспользуемая локальная переменная. │
├─────┼────────────────────────────────────
│212 │ Неиспользованный аргумент. │
├─────┼────────────────────────────────────
│213 │ Неиспользуемая переменная цикла. │
├─────┼────────────────────────────────────
│221 │ Доступ к локальной переменной осуществляется, но │
│ │ никогда не устанавливается. │
├─────┼────────────────────────────────────
│231 │ Локальная переменная установлена, но никогда │
│ │ доступ. │
├─────┼────────────────────────────────────
│232 │ Аргумент установлен, но никогда │
│ │ доступ. │
├─────┼────────────────────────────────────
│233 │ Переменная цикла установлена, но никогда │
│ │ доступ. │
├─────┼────────────────────────────────────
│311 │ Значение, присвоенное местному │
│ │ переменная не используется. │
└─────┴────────────────────────────────────

│312 │ Значение аргумента не используется. │
├─────┼────────────────────────────────────
│313 │ Значение переменной цикла: │
│ │ не используется. │
├─────┼────────────────────────────────────
│321 │ Доступ к неинициализированному локальному │
│ │ переменная. │
├─────┼────────────────────────────────────
│411 │ Переопределение локальной переменной. │
├─────┼────────────────────────────────────
│412 │ Новое определение аргумента. │
├─────┼────────────────────────────────────
│413 │ Переопределение переменной цикла. │
├─────┼────────────────────────────────────
│421 │ Затенение локальной переменной. │
├─────┼────────────────────────────────────
│422 │ Слежка за аргументом. │
├─────┼────────────────────────────────────
│423 │ Затенение переменной цикла. │
├─────┼────────────────────────────────────
│431 │ Слежение за ростом стоимости. │
├─────┼────────────────────────────────────
│432 │ Затенение аргумента повышения ценности. │
├─────┼────────────────────────────────────
│433 │ Затенение цикла повышения стоимости │
│ │ переменная. │
├─────┼────────────────────────────────────
│511 │ Недоступный код. │
├─────┼────────────────────────────────────
│512 │ Цикл может быть выполнен не более
│ │ один раз. │
├─────┼────────────────────────────────────
│521 │ Неиспользованная этикетка. │
├─────┼────────────────────────────────────
│531 │ Левая часть задания │
│ │ слишком короткое. │
├─────┼────────────────────────────────────
│532 │ Левая часть задания │
│ │ слишком длинный. │
├─────┼────────────────────────────────────
│541 │ Пустой do конец блокировать. │
├─────┼────────────────────────────────────
│542 │ Пустой if ветвь. │
├─────┼────────────────────────────────────
│551 │ Пустой оператор. │
└─────┴────────────────────────────────────

Глобальный переменные
Для каждого файла Луачек составляет список определенных глобальных объектов, которые можно там использовать. По умолчанию
определены только глобалы из стандартной библиотеки Lua; пользовательские глобалы могут быть добавлены с помощью
--globals Опция CLI или глобальные config, а версия стандартной библиотеки может быть
выбран с помощью --стд Опция CLI или станд вариант конфигурации. Когда установлен неопределенный глобал,
измененный или доступный, Луачек выдает предупреждение.

Только для чтения глобальные
По умолчанию все стандартные глобальные переменные, кроме _G и пакет помечены как доступные только для чтения, так что
установка или изменение их приводит к предупреждению. Пользовательские глобальные переменные, доступные только для чтения, могут быть добавлены с помощью
--read-globals Опция CLI или read_globals вариант конфигурации.

Неявно определенный глобальные
Luacheck можно настроить так, чтобы глобальные переменные, назначенные при определенных условиях, были
определяется неявно. Когда -d/--allow_define Опция CLI или разрешить_определено опция конфигурации
используется, все присвоения глобальным объектам определяют их; когда -t/--allow_define_top Опция CLI или
allow_defined_top используется опция config, назначения глобальным объектам в функции верхнего уровня
область видимости (также известная как основной блок) определяют их. Предупреждение появляется, когда неявно
Определенный глобальный никуда не доступен.

Модули
Файлы могут быть помечены как модули с помощью -m/--модуль Опция CLI или модуль параметр конфигурации для
имитировать семантику устаревших модуль функция. Глобалы, неявно определенные внутри
модуль являются частью его интерфейса, не видны снаружи и не сообщаются
как неиспользованный. Назначения другим глобальным объектам не разрешены, даже определенным.

неиспользуемый переменные и ценности
Луачек генерирует предупреждения для всех неиспользуемых локальных переменных, кроме одной с именем _. Он также
обнаруживает переменные, которые установлены, но никогда не используются и не используются, но никогда не устанавливаются.

неиспользуемый ценности и неинициализированным переменные
Для каждого значения, присвоенного локальной переменной, Луачек вычисляет набор выражений, в которых он
может быть использован. Предупреждения выдаются для неиспользуемых значений (когда значение не может быть использовано
где угодно) и для доступа к неинициализированным переменным (когда никакие значения не могут достичь
выражение). Например, в следующем фрагменте значение, присвоенное Foo в строке 1 не используется, и
переменная бар не инициализирован в строке 9:

местный foo = expr1 ()
местный бар

если условие () то
foo = expr2 ()
bar = expr3 ()
еще
foo = expr4 ()
печать (бар)
конец

вернуть фу, бар

Старшая школа ценности и переменные
Неиспользуемое значение, присвоенное локальной переменной, является вторичным, если его источником является последний элемент в
правая часть присвоения, и используется другое значение из этого элемента. Вторичные ценности
обычно появляются, когда результат вызова функции помещается в локальные переменные, и только некоторые из них
позже используются. Например, здесь значение, присвоенное b вторично, значение, присвоенное c is
используется, и значение, присвоенное a просто не используется:

локальные a, b, c = f (), g ()

возврат с

Переменная является вторичной, если все присвоенные ей значения вторичны. В приведенном выше фрагменте
b вторичная переменная.

Предупреждения, связанные с неиспользованными вторичными значениями и переменными, можно удалить с помощью
-s/--no-unused-secondary Опция CLI или неиспользуемые_вторичные вариант конфигурации.

слежка Заявления
Луачек обнаруживает объявления локальных переменных, дублирующие предыдущие объявления, если только
переменная названа _. Если предыдущее объявление находится в той же области, что и новое,
это называется переопределением.

Обратите внимание, что это необходимо определить новую локальную переменную при перезаписи аргумента:

локальная функция f (x)
local x = x или "по умолчанию" - плохо
конец

локальная функция f (x)
x = x или "default" - хорошо
конец

Control поток и данным поток вопросы
Обнаружены следующие проблемы с потоком управления и потоками данных:

· Недостижимый код и циклы, которые могут быть выполнены не более одного раза (например, из-за
безусловный перерыв);

· Неиспользованные этикетки;

· Несбалансированные задания;

· Пустые блоки.

· Пустые операторы (точки с запятой без предшествующих операторов).

КОМАНДА ЛИНИЯ ИНТЕРФЕЙС


Луачек программа принимает файлы, каталоги и камни в качестве аргументов.

· Учитывая файл, Луачек проверим это.

· Данный -, Луачек проверит stdin.

· Учитывая каталог, Луачек проверит все файлы в нем, выбирая только файлы с
.луна продление, если --include-файлы опция используется. Эта функция требует
LuaFileSystem (устанавливается автоматически, если для установки Luacheck использовался LuaRocks).

· Учитывая рокспек (файл с .рокспек расширение), Луачек проверит все файлы с
.луна расширение, упомянутое в Rockpec в build.install.lua, build.install.bin и
построить.модули столы.

Выход Луачек состоит из отдельных отчетов по каждому проверенному файлу и заканчивается
резюме:

$ luacheck источник
Проверка предупреждений src / bad_code.lua 5

src / bad_code.lua: 3:16: неиспользуемая вспомогательная переменная
src / bad_code.lua: 3: 23: неиспользуемый аргумент переменной длины
src / bad_code.lua: 7: 10: установка нестандартного объятия глобальной переменной
src / bad_code.lua: 8: 10: переменная opt была ранее определена как аргумент в строке 7
src / bad_code.lua: 9: 11: доступ к неопределенной переменной hepler

Проверка src / good_code.lua ОК
Проверка ошибки src / python_code.lua 1

src / python_code.lua: 1: 6: ожидалось '=' рядом с '__future__'

Проверка предупреждений src / unused_code.lua 9

src / unused_code.lua: 3: 18: неиспользуемый аргумент baz
src / unused_code.lua: 4: 8: неиспользуемая переменная цикла i
src / unused_code.lua: 5:13: неиспользуемая переменная q
src / unused_code.lua: 7: 11: неиспользуемая переменная цикла a
src / unused_code.lua: 7: 14: неиспользуемая переменная цикла b
src / unused_code.lua: 7: 17: неиспользуемая переменная цикла c
src / unused_code.lua: 13: 7: значение, присвоенное переменной x, не используется
src / unused_code.lua: 14: 1: значение, присвоенное переменной x, не используется
src / unused_code.lua: 22: 1: значение, присвоенное переменной z, не используется

Итого: 14 предупреждений / 1 ошибка в 4 файлах

Луачек завершается с 0, если не было предупреждений или ошибок, и с положительным числом
в противном случае.

Command линия кредита
Короткие варианты, не принимающие аргументов, можно объединить в один, чтобы -qqu is
что эквивалентно -q -q -u. Для длинных вариантов оба --вариант ценностное or --option = значение может быть
используемый.

Опции, принимающие несколько аргументов, могут использоваться несколько раз; - игнорировать Foo - игнорировать бар is
что эквивалентно - игнорировать Foo бар.

Обратите внимание, что параметры, которые могут принимать несколько аргументов, например --globals, не следует использовать
непосредственно перед позиционными аргументами; данный --globals Foo бар файл.lua, Луачек предусматривает
рассмотреть все Foo, бар и файл.lua global, а затем паникуйте, так как не осталось имен файлов.

┌──────────────────────────────────┬──────────────── ───────────────────
│Опция │ Значение │
├──────────────────────────────────┼──────────────── ───────────────────
-g | - не глобальный │ Отфильтровать предупреждения, связанные с │
│ │ глобальные переменные. │
├──────────────────────────────────┼──────────────── ───────────────────
-u | --не неиспользованный │ Отфильтровать предупреждения, связанные с │
│ │ неиспользуемые переменные и значения. │
├──────────────────────────────────┼──────────────── ───────────────────
-r | - не переопределено │ Отфильтровать предупреждения, связанные с │
│ │ переопределенные переменные. │
├──────────────────────────────────┼──────────────── ───────────────────
-a | --нет-неиспользуемых-аргументов │ Отфильтровать предупреждения, связанные с │
│ │ неиспользуемые аргументы и цикл │
│ │ переменные. │
├──────────────────────────────────┼──────────────── ───────────────────
-s | --no-unused-secondary │ Отфильтровать предупреждения, связанные с │
│ │ набор неиспользуемых переменных │
│ │ с бывшими в употреблении. │
│ │ │
│ │ См. Вторичные значения и переменные │
├──────────────────────────────────┼──────────────── ───────────────────
- без себя │ Отфильтровать предупреждения, связанные с │
│ │ неявный себя аргумент. │
└───────────────────────────────────┴──────────────── ────────────────────┘

--стд │ Установить стандартные глобалы. может │
│ │ быть одним из: │
│ │ │
│ │ · _G - глобалы Lua │
│ │ переводчик Луачек
│ │ работает (по умолчанию); │
│ │ │
│ │ · луа51 - глобалы Lua │
│ │ 5.1; │
│ │ │
│ │ · луа52 - глобалы Lua │
│ │ 5.2; │
│ │ │
│ │ · луа52с - глобалы Lua │
│ │ 5.2 скомпилирован с │
│ │ LUA_COMPAT_ALL; │
│ │ │
│ │ · луа53 - глобалы Lua │
│ │ 5.3; │
│ │ │
│ │ · луа53с - глобалы Lua │
│ │ 5.3 скомпилирован с │
│ │ LUA_COMPAT_5_2; │
│ │ │
│ │ · луахит - глобалы │
│ │ LuaJIT 2.0; │
│ │ │
│ │ · ngx_lua - глобалы │
│ │ Открытость │
│ │ lua-nginx-модуль с │
│ │ LuaJIT 2.0; │
│ │ │
│ │ · мин - пересечение │
│ │ глобалы Lua 5.1, Lua │
│ │ 5.2 и LuaJIT 2.0; │
│ │ │
│ │ · Макс - объединение глобалов │
│ Lua 5.1, Lua 5.2 и │
│ │ LuaJIT 2.0; │
│ │ │
│ │ · разоренный - добавлены глобалы │
│ │ пользователя Busted 2.0; │
│ │ │
│ │ · нет - нет стандарта │
│ │ глобальные. │
│ │ │
│ │ См. Наборы пигментов of стандарт
│ │ глобальные
├──────────────────────────────────┼──────────────── ───────────────────
--globals [ ] ... │ Добавить пользовательские глобалы поверх │
│ │ стандартные. │
├──────────────────────────────────┼──────────────── ───────────────────
--read-globals [ ] ... │ Добавить глобальные объекты только для чтения. │
├──────────────────────────────────┼──────────────── ───────────────────
--new-globals [ ] ... │ Установите собственные глобальные объекты. Удаляет │
│ │ пользовательские глобалы добавлены ранее. │
├──────────────────────────────────┼──────────────── ───────────────────
--new-read-globals [ ] │ Настроить глобальные переменные только для чтения. Удаляет │
... │ добавлены глобальные переменные только для чтения │
│ │ ранее. │
├──────────────────────────────────┼──────────────── ───────────────────
-c | --compat │ Эквивалентно --стд Макс. │
└───────────────────────────────────┴──────────────── ────────────────────┘

-d | - разрешено │ Разрешить определение глобальных объектов │
│ │ неявно, установив их. │
│ │ │
│ │ См. Неявно определенные глобальные переменные │
├──────────────────────────────────┼──────────────── ───────────────────
-t | --allow-определенный-топ │ Разрешить определение глобальных объектов │
│ │ неявно, установив их в │
│ │ область верхнего уровня. │
│ │ │
│ │ См. Неявно определенные глобальные переменные │
├──────────────────────────────────┼──────────────── ───────────────────
-m | --модуль │ Ограничить видимость неявно │
│ │ определили глобальные объекты в свои файлы. │
│ │ │
│ │ См. Модули │
├──────────────────────────────────┼──────────────── ───────────────────
- игнорировать | -i [ ] │ Отфильтровать совпадения предупреждений │
... │ узоры. │
├──────────────────────────────────┼──────────────── ───────────────────
--включить | -e [ ] │ Не отсеивать предупреждения │
... │ соответствие шаблонов. │
├──────────────────────────────────┼──────────────── ───────────────────
--Только | -o [ ] ... │ Отфильтровать несоответствующие предупреждения │
│ │ узоры. │
├──────────────────────────────────┼──────────────── ───────────────────
- не встраиваемый │ Отключить встроенные параметры. │
├──────────────────────────────────┼──────────────── ───────────────────
--config │ Путь к пользовательской конфигурации │
│ │ файл (по умолчанию: .luacheckrc). │
├──────────────────────────────────┼──────────────── ───────────────────
--no-config │ Не ищите обычай │
│ │ файл конфигурации. │
├──────────────────────────────────┼──────────────── ───────────────────
--имя файла │ Используйте в выводе другое имя файла, │
│ │ для выбора конфигурации │
│ │ отменяет и для файла │
│ │ фильтрация. │
├──────────────────────────────────┼──────────────── ───────────────────
--exclude-файлы [ ] │ Не проверять соответствие файлов │
... │ эти шаблоны сглаживания. │
│ │ Рекурсивные глобусы, такие как ** / *. lua
│ │ поддерживаются. │
├──────────────────────────────────┼──────────────── ───────────────────
--include-файлы [ ] │ Не проверять файлы, не совпадающие │
... │ эти шаблоны сглаживания. │
├──────────────────────────────────┼──────────────── ───────────────────
--кэш [ ] │ Путь к файлу кеша. (по умолчанию: │
│ │ .luacheckcache). Увидеть Кэширование
├──────────────────────────────────┼──────────────── ───────────────────
--без кеша │ Не использовать кеш. │
├──────────────────────────────────┼──────────────── ───────────────────
-j | --работа │ Проверить файлы параллельно. │
│ │ Требуется ЛуаЛанес. │
└───────────────────────────────────┴──────────────── ────────────────────┘

- форматтер │ Используйте настраиваемое средство форматирования. │
│ │ должен быть модулем │
│ │ имя или одно из: │
│ │ │
│ │ · Давл. - Тестировать что угодно │
│ │ Форматировщик протокола; │
│ │ │
│ │ · JUnit - JUnit XML │
│ │ форматировщик; │
│ │ │
│ │ · простой - простой │
│ │ предупреждение по строке │
│ │ форматировщик; │
│ │ │
│ │ · по умолчанию - стандарт │
│ │ форматировщик. │
├──────────────────────────────────┼──────────────── ───────────────────
-q | --тихий │ Запретить вывод отчетов для файлов │
│ │ без предупреждений. │
│ │ │
│ │ · -qq - Подавить вывод │
│ │ предупреждений. │
│ │ │
│ │ · -qqq - Только выход │
│ │ резюме. │
├──────────────────────────────────┼──────────────── ───────────────────
--коды │ Показать коды предупреждений. │
├──────────────────────────────────┼──────────────── ───────────────────
- апельсины │ Показать диапазоны связанных столбцов │
│ │ к предупреждениям. │
├──────────────────────────────────┼──────────────── ───────────────────
- бесцветный │ Не раскрашивайте вывод. │
├──────────────────────────────────┼──────────────── ───────────────────
-v | --версия │ Показать версию Луачека и его │
│ │ зависимости и выход. │
├──────────────────────────────────┼──────────────── ───────────────────
-h | --Помогите │ Показать справку и выйти. │
└───────────────────────────────────┴──────────────── ────────────────────┘

Шаблоны
Параметры интерфейса командной строки - игнорировать, --включить и --Только и соответствующие параметры конфигурации позволяют фильтровать
предупреждения, использующие сопоставление шаблонов с кодами предупреждений, именами переменных или и тем, и другим. Если узор
содержит косую черту, часть перед косой чертой соответствует коду предупреждения, а часть после соответствует
имя переменной. В противном случае, если шаблон содержит букву или подчеркивание, он соответствует
имя переменной. В противном случае он соответствует коду предупреждения. Например:

┌────────┬────────────────────────────────────┐
│Шаблон │ Соответствующие предупреждения │
├────────┼────────────────────────────────────
│4.2 │ Затенение деклараций │
│ │ аргументы или переосмысление их. │
├────────┼────────────────────────────────────
│. * _ │ Предупреждения, связанные с переменными │
│ │ с _ суффикс. │
├────────┼────────────────────────────────────
│4.2 /.*_ │ Затенение деклараций │
│ │ аргументы с _ суффикс или │
│ │ переосмысливая их. │
└────────┴────────────────────────────────────

Если еще не было привязано, шаблоны, соответствующие именам переменных, привязаны к обеим сторонам и
шаблоны, совпадающие с кодами предупреждений, привязаны к их началу. Это позволяет
фильтровать предупреждения по категориям (например, --Только 1 фокусируется Луачек о глобальных предупреждениях).

Наборы пигментов of стандарт глобальные
Опция CLI --stds позволяет комбинировать описанные выше встроенные наборы с помощью +, Например,
--стд Макс эквивалентна --std = lua51 + lua52 + lua53. Ведущий знак плюса добавляет новые наборы в
по умолчанию вместо его замены. Например, --стд + разорено подходит для проверки
тестовые файлы, которые используют Разоренный фреймворк для тестирования. Пользовательские наборы глобалов могут быть определены с помощью
мутирующая глобальная переменная стандартные стандарты в конфиге. См. Custom_stds

Форматировщики
Опция CLI - форматтер позволяет выбрать настраиваемый модуль форматирования для Луачек выход. Обычай
formatter - это модуль Lua, возвращающий функцию с тремя аргументами: отчет, возвращенный
Луачек модуль (см. отчет), массив имен файлов и таблица опций. Параметры содержат
значения, присвоенные тихий, цвет, предел, Коды, диапазоны и форматировщик опции в CLI или
config. Функция форматирования должна возвращать строку.

Кэширование
Если LuaFileSystem доступна, Луачек может кэшировать результаты проверки файлов. На последующих
проверок, перепроверяются только те файлы, которые были изменены с момента последней проверки, что улучшает
время работы значительно. Изменение параметров (например, определение дополнительных глобальных объектов) не
сделать кеш недействительным. Кеширование можно включить с помощью --кэш Вариант или кэш конфиг
вариант. С использованием --кэш без аргументов или постановки кэш параметр конфигурации для правда Наборы
.luacheckcache как файл кеша. Обратите внимание, что --кэш должен использоваться каждый раз Луачек is
запускать, а не только при первом запуске.

Стабильный интерфейс для редактор плагины и инструменты
Интерфейс командной строки Luacheck может меняться между второстепенными выпусками. Начиная с 0.11.0
версии, следующий интерфейс гарантирован как минимум до версии 1.0.0 и должен быть
используется инструментами, использующими вывод Luacheck, например, плагинами редактора.

· Luacheck следует запускать из каталога, в котором находится проверенный файл.

· Файл можно передать через стандартный ввод, используя - в качестве аргумента или используя временный файл. Настоящий
имя файла должно быть передано с использованием --имя файла опцию.

· Следует использовать обычный форматтер. Он выводит по одной проблеме (предупреждению или ошибке) в каждой строке.

· Чтобы получить точное местоположение ошибки, - апельсины вариант можно использовать. Каждая строка начинается с настоящего
имя файла (передается с использованием --имя файла), с последующим : : - :,
в котором номер строки, в которой возникла проблема, и - is
включая диапазон столбцов токена, относящихся к выпуску. Нумерация начинается с 1. Если
- апельсины не используется, конечный столбец и тире не печатаются.

· Чтобы получить коды предупреждений и ошибок, --коды вариант можно использовать. Для каждой строки подстрока
в круглых скобках содержится трехзначный код выпуска с префиксом E на ошибки и W
для предупреждений. Отсутствие такой подстроки указывает на фатальную ошибку (например, ошибку ввода-вывода).

· Остальная часть строки - это предупреждающее сообщение.

Если требуется совместимость со старой версией Luacheck, вывод Луачек --Помогите может быть
привык получать свою версию. Если он содержит строку 0. ., Где Я сидел
минимум 11 и заплата - любое число, следует использовать описанный выше интерфейс.

КОНФИГУРАЦИЯ ФАЙЛОВ


Луачек пытается загрузить конфигурацию из .luacheckrc файл в текущем каталоге. Если
не найден, он будет искать его в родительском каталоге и так далее, пока он
достигает корня файловой системы. Путь к конфигурации можно указать с помощью --config вариант, и в этом случае
он будет использоваться во время рекурсивной загрузки. Загрузку конфигурации можно отключить с помощью --no-config
флаг.

Config - это просто сценарий Lua, выполняемый Луачек. Он может устанавливать различные параметры
присваивая глобальные переменные или возвращая таблицу с именами опций в качестве ключей.

Конфиг кредита
┌────────────────────┬───────────────────────────┬── ───────────────────
│Опция │ Тип │ Значение по умолчанию │
├───────────────────┼───────────────────────────── ───────────────────
цвет │ Логическое │ правда
├───────────────────┼───────────────────────────── ───────────────────
Коды │ Логическое │ ложный
└────────────────────┴───────────────────────────┴── ────────────────────┘

форматировщик │ Строка или функция │ "По умолчанию"
├───────────────────┼───────────────────────────── ───────────────────
кэш │ Логическое или строковое │ ложный
├───────────────────┼───────────────────────────── ───────────────────
работе │ Положительное целое число │ 1
├───────────────────┼───────────────────────────── ───────────────────
исключать_файлы │ Массив строк │ {}
├───────────────────┼───────────────────────────── ───────────────────
включаемые_файлы │ Массив строк │ (Включить все файлы) │
├───────────────────┼───────────────────────────── ───────────────────
Глобальный │ Логическое │ правда
├───────────────────┼───────────────────────────── ───────────────────
неиспользованный │ Логическое │ правда
├───────────────────┼───────────────────────────── ───────────────────
Redefined │ Логическое │ правда
├───────────────────┼───────────────────────────── ───────────────────
неиспользуемые_аргументы │ Логическое │ правда
├───────────────────┼───────────────────────────── ───────────────────
неиспользуемые_вторичные │ Логическое │ правда
├───────────────────┼───────────────────────────── ───────────────────
себя │ Логическое │ правда
├───────────────────┼───────────────────────────── ───────────────────
станд │ Строка или набор │ "_ГРАММ"
│ │ стандартные глобалы │ │
├───────────────────┼───────────────────────────── ───────────────────
глобальные │ Массив строк │ {}
├───────────────────┼───────────────────────────── ───────────────────
новые_глобалы │ Массив строк │ (Не перезаписывать) │
├───────────────────┼───────────────────────────── ───────────────────
read_globals │ Массив строк │ {}
├───────────────────┼───────────────────────────── ───────────────────
new_read_globals │ Массив строк │ (Не перезаписывать) │
├───────────────────┼───────────────────────────── ───────────────────
Compat │ Логическое │ ложный
├───────────────────┼───────────────────────────── ───────────────────
разрешить_определено │ Логическое │ ложный
├───────────────────┼───────────────────────────── ───────────────────
allow_defined_top │ Логическое │ ложный
├───────────────────┼───────────────────────────── ───────────────────
модуль │ Логическое │ ложный
├───────────────────┼───────────────────────────── ───────────────────
игнорировать │ Массив паттернов (см. │ {}
│ │ узоры) │ │
├───────────────────┼───────────────────────────── ───────────────────
включить │ Массив паттернов │ {}
├───────────────────┼───────────────────────────── ───────────────────
Важно │ Массив паттернов │ (Не фильтровать) │
├───────────────────┼───────────────────────────── ───────────────────
встроенный │ Логическое │ правда
└────────────────────┴───────────────────────────┴── ────────────────────┘

Пример конфига, который делает Луачек убедитесь, что только глобальные переменные с переносного
используется пересечение Lua 5.1, Lua 5.2, Lua 5.3 и LuaJIT 2.0, а также отключает
обнаружение неиспользуемых аргументов:

std = "мин"
ignore = {"212"}

На заказ Наборы of глобальные
станд опция позволяет установить собственный стандартный набор глобалов с помощью таблицы. В этой таблице
Строковые ключи являются глобальными, а строка в части массива - глобальными только для чтения.

Кроме того, пользовательским наборам можно присвоить имена, изменив глобальные стандартные стандарты Переменная. Для
например, при использовании сжиженный нефтяной газ библиотека, имеет смысл кратко получить доступ к ее функциям, используя
глобалы. В этом случае следующая конфигурация позволяет убрать ложные срабатывания, связанные с
глобальный доступ легко:

stds.lpeg = требуется "lpeg"

local lpeg = требуется "lpeg"

локальная функция parse1 (...)
- Эта функция использует только функции lpeg как глобальные.
локальный _ENV = lpeg
- luacheck: std lpeg
местная цифра, пробел = R "09", S ""
- ...
конец

локальная функция parse2 (...)
- Эта функция использует функции lpeg, а также стандартные глобальные переменные.
local _ENV = setmetatable ({}, {__index = function (_, k) return _ENV [k] or lpeg [k] end})
- luacheck: std + lpeg
местная цифра, пробел = R "09", S ""
местный номер = C (цифра ^ 1) / номер
- ...
конец

Пофайловый и на путь переопределения
Среда, в которой Луачек загружает конфиг, содержащий специальный глобальный файлов. Когда
проверка файла , Луачек переопределит параметры из основной конфигурации с записями
к файлы [ ] и файлы [ ], сначала применяя записи для более коротких путей. Для
Например, следующая конфигурация повторно включает обнаружение неиспользуемых аргументов только для файлов в
src / dir, но не для SRC / каталог / myfile.lua, и позволяет использовать Разоренный глобалы внутри спецификации /:

std = "мин"
ignore = {"212"}
файлы ["src / dir"] = {enable = {"212"}}
файлы ["src / dir / myfile.lua"] = {ignore = {"212"}}
файлы ["spec"] = {std = "+ busted"}

Обратите внимание, что файлов table поддерживает автовивификацию, так что

файлы ["myfile.lua"]. ignore = {"212"}

и

файлы ["myfile.lua"] = {ignore = {"212"}}

эквивалентны.

В ЛИНИЮ ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ


Луачек поддерживает установку некоторых параметров непосредственно в проверенных файлах с помощью встроенного
комментарии к конфигурации. Встроенный комментарий конфигурации начинается с Луачек: этикетка,
возможно, после некоторого пробела. Текст комментария должен содержать разделенные запятыми.
options, где вызов опции состоит из ее имени и аргументов, разделенных пробелами. В
поддерживаются следующие варианты:

┌───────────────────┬─────────────────────────────── ─────┐
│Опция │ Количество аргументов │
├────────────────────┼────────────────────────────── ─────┤
│глобальный │ 0 │
├────────────────────┼────────────────────────────── ─────┤
│ неиспользованный │ 0 │
├────────────────────┼────────────────────────────── ─────┤
│переопределен │ 0 │
├────────────────────┼────────────────────────────── ─────┤
│ неиспользуемые аргументы │ 0 │
├────────────────────┼────────────────────────────── ─────┤
│ неиспользованные вторичные обмотки │ 0 │
├────────────────────┼────────────────────────────── ─────┤
│ себя │ 0 │
└────────────────────┴────────────────────────────── ─────┘

│совместимость │ 0 │
├────────────────────┼────────────────────────────── ─────┤
│модуль │ 0 │
├────────────────────┼────────────────────────────── ─────┤
│ разрешено 0 │
├────────────────────┼────────────────────────────── ─────┤
│ разрешить определенный верх │ 0 │
├────────────────────┼────────────────────────────── ─────┤
│стд │ 1 │
├────────────────────┼────────────────────────────── ─────┤
│глобальные │ 0+ │
├────────────────────┼────────────────────────────── ─────┤
│новые глобалы │ 0+ │
├────────────────────┼────────────────────────────── ─────┤
│ читать глобалы │ 0+ │
├────────────────────┼────────────────────────────── ─────┤
│новые читаемые глобалы │ 0+ │
├────────────────────┼────────────────────────────── ─────┤
│ игнорировать │ 0+ (без аргументов все
│ │ игнорируется) │
├────────────────────┼────────────────────────────── ─────┤
│ включить │ 1+ │
├────────────────────┼────────────────────────────── ─────┤
│только │ 1+ │
└────────────────────┴────────────────────────────── ─────┘

Опции, которые не принимают аргументов, могут иметь префикс нет чтобы перевернуть их смысл. Например
--луачек: нет неиспользованный арг отключает предупреждения о неиспользуемых аргументах.

Часть файла, на которую влияет встроенный параметр, зависит от того, где он размещен. Если есть
код в строке с опцией затрагивается только эта строка; в противном случае все до
конец текущего закрытия. В частности, встроенные параметры в верхней части файла
повлиять на все это:

- luacheck: globals g1 g2, игнорировать foo
local foo = g1 (g2) - предупреждений не генерируется.

- О следующей неиспользованной функции не сообщается.
локальная функция f () - luacheck: игнорировать
- луачек: глобалы g3
g3 () - Без предупреждения.
конец

g3 () - выдается предупреждение, поскольку встроенная опция, определяющая g3, затрагивает только функцию f.

Для детального контроля над видимостью встроенных параметров используйте Луачек: протолкнуть. и Луачек:
поп директивы:

- luacheck: нажать ignore foo
foo () - Без предупреждения.
- луачек: поп
foo () - выдается предупреждение.

Встроенные параметры можно полностью отключить с помощью - не встраиваемый Опция CLI или встроенный конфиг
опцию.

ЛУАЧЕК МОДУЛЬ


Используйте локальным Луачек = требовать "Луачек" импортировать Луачек модуль. Он содержит
следующие функции:

· luacheck.get_report (источник): Данная исходная строка возвращает данные анализа (таблицу).

· luacheck.process_reports (отчеты, опции): Обрабатывает массив аналитических отчетов и
применяет параметры. отчеты [i] использования кредита, варианты [i], варианты [i] [1], варианты [i] [2]...
как опции, перекрывая друг друга в указанном порядке. Таблица опций представляет собой таблицу с полями
аналогично параметрам конфигурации; посмотреть варианты. Отчеты об анализе с полем роковой игнорируются.
процесс_отчеты возвращает окончательный отчет, см. Отчет формат.

· luacheck.check_strings (источники, опции): Проверяет массив источников с помощью опций, возвращает
заключительный отчет. Таблицы с полем роковой одной источники массив игнорируются.

· luacheck.check_files (файлы, опции): Проверяет массив файлов с помощью опций, возвращает окончательный
отчет. Вместо имен файлов можно передавать дескрипторы открытых файлов, и в этом случае они будут
читать до EOF и закрывать.

· luacheck.get_message (проблема): Возвращает строковое сообщение о проблеме, см. Отчет формат.

luacheck._VERSION содержит версию Луачека в виде строки в БОЛЬШОЙ.МАЛЫЙ.ПАТЧ формат.

. Луачек как функция эквивалентна вызову luacheck.check_files.

Отчет формат
Итоговый отчет - это массив файловых отчетов плюс поля. предупреждение, Ошибки и фатальный
содержащее общее количество предупреждений, ошибок и фатальных ошибок соответственно.

Файловый отчет - это набор проблем (предупреждений или ошибок). Если фатальная ошибка произошла во время
проверяя файл, его отчет будет иметь роковой поле, содержащее тип ошибки.

Проблема - таблица с полем код с указанием его типа (см. предупреждение) и поля линия,
обзор и конец_столбца указывая на источник предупреждения. имя поле может содержать имя
связанной переменной. Задачи некоторых типов также могут иметь дополнительные поля:

┌──────┬────────────────────────────────────
│Коды │ Дополнительные поля │
├──────┼────────────────────────────────────
│011 │ MSG поле содержит синтаксическую ошибку │
│ │ сообщение. │
├──────┼────────────────────────────────────
│111 │ модуль поле указывает, что │
│ │ присваивается немодуль │
│ │ глобальная переменная. │
├──────┼────────────────────────────────────
│211 │ FUNC поле указывает, что неиспользуемые │
│ │ переменная - это функция. │
├──────┼────────────────────────────────────
│4 .. │ пред_строка и пред_столбец поля │
│ │ содержат расположение │
│ │ перезаписанное определение. │
└──────┴────────────────────────────────────

Другие поля могут присутствовать по внутренним причинам.

Это документация для версии 0.13.0 Луачек, линтер для Lua.

Используйте luacheck в Интернете с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    Авогадро
    Авогадро
    Авогадро — передовая молекулярная
    редактор, предназначенный для кросс-платформенного использования
    в вычислительной химии, молекулярная
    моделирование, биоинформатика, материалы
    наука и...
    Скачать Авогадро
  • 2
    XMLTV
    XMLTV
    XMLTV - это набор программ для обработки
    TV (tvguide) списки и помощь в управлении
    просмотр телевизора, сохранение объявлений в
    Формат на основе XML. Есть утилиты для
    делать...
    Скачать XMLTV
  • 3
    забастовщик
    забастовщик
    Проект свободного программного обеспечения Strikr. Артефакты
    выпущен по "намерениям"
    двойная лицензия: AGPLv3 (сообщество) и
    CC-BY-NC-ND 4.0 международный
    (коммерческий) ...
    Скачать забастовку
  • 5
    ГИФЛИБ
    ГИФЛИБ
    giflib — это библиотека для чтения и
    написание гифок. Это API и ABI
    совместим с libungif, который был в
    широкое использование при сжатии LZW
    алгоритм был...
    Скачать ГИФЛИБ
  • 6
    Alt-F
    Alt-F
    Alt-F предоставляет бесплатный и открытый исходный код
    альтернативная прошивка для DLINK
    DNS-320/320L/321/323/325/327L and
    ДНР-322Л. Alt-F имеет Samba и NFS;
    поддерживает ext2 / 3/4 ...
    Скачать Alt-F
  • Больше »

Команды Linux

Ad