Amazon Best VPN GoSearch

Значок 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 або Коди параметр config.
Помилки також мають коди, які починаються з нуля.

┌─────┬───────────────────────────────────┐
│Код │ Опис │
├─────┼───────────────────────────────────┤
│011 │ Синтаксична помилка. │
├─────┼───────────────────────────────────┤
│021 │ Недійсний вбудований параметр. │
├─────┼───────────────────────────────────┤
│022 │ З’єднаний рядковий поштовх │
│ │ директива. │
├─────┼───────────────────────────────────┤
│023 │ Змінена вбудована вбудована директива. │
├─────┼───────────────────────────────────┤
│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 │ Порожня заява. │
└─────┴─────────────────────────────────────┘

Глобальний змінні
Для кожного файлу Luacheck створює список визначених глобальних елементів, які можна там використовувати. За замовчуванням
визначаються лише глобали зі стандартної бібліотеки Lua; користувацькі глобали можна додати за допомогою
--глобали Опція CLI або глобали config, і версія стандартної бібліотеки може бути
вибрано за допомогою --стандартний Опція CLI або std параметр конфігурації. Коли встановлено невизначений глобальний,
мутований або доступний, Luacheck видає попередження.

Тільки для читання глобали
За замовчуванням усі стандартні глобали, крім _G та пакет позначені як доступні лише для читання, тому
їх встановлення або мутація викликає попередження. Глобальні значення, доступні лише для читання, можна додати за допомогою
--read-globals Опція CLI або read_globals параметр config.

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

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

Невикористаний змінні та величини
Luacheck генерує попередження для всіх невикористаних локальних змінних, крім однієї з іменем _. Він також
виявляє змінні, які встановлені, але ніколи не були доступні або доступні, але ніколи не встановлені.

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

локальний foo = expr1()
місцевий бар

якщо умова() то
foo = вираз2()
бар = вираз3()
ще
foo = вираз4()
друк (бар)
кінець

повернути foo, bar

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

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

повернути c

Змінна є вторинною, якщо всі значення, присвоєні їй, є вторинними. У фрагменті вище,
b є вторинною змінною.

Попередження, пов’язані з невикористаними вторинними значеннями та змінними, можна видалити за допомогою
-s/--no-unused-secondars Опція CLI або unused_secondaries параметр config.

Тінізація декларацій
Luacheck виявляє оголошення локальних змінних, що перекривають попередні оголошення, якщо тільки
змінна названа _. Якщо попередня декларація входить до того ж обсягу, що й нова,
це називається перевизначенням.

Зауважте, що так НЕ необхідно визначити нову локальну змінну під час перезапису аргументу:

локальна функція f(x)
локальний x = x або "за замовчуванням" -- погано
кінець

локальна функція f(x)
x = x або "за замовчуванням" -- добре
кінець

Контроль потік та дані потік питання
Виявлено такі проблеми потоку керування та потоку даних:

· Недосяжний код і цикли, які можна виконати щонайбільше один раз (наприклад, через an
безумовний розрив);

· Невикористані етикетки;

· Незбалансовані доручення;

· Порожні блоки.

· Порожні оператори (крапка з комою без попередніх операторів).

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


luacheck програма приймає файли, каталоги і специфікації порід як аргументи.

· Даний файл, luacheck перевірить це.

· Дано -, luacheck перевірить stdin.

· Даний каталог, luacheck перевірить усі файли в ньому, вибравши лише файли з
.lua розширення, якщо --include-files використовується варіант. Ця функція вимагає
LuaFileSystem (встановлюється автоматично, якщо для встановлення Luacheck використовувався LuaRocks).

· Дано rockspec (файл з .rockspec розширення), luacheck перевірить усі файли за допомогою
.lua розширення, згадане в Rockspec в build.install.lua, build.install.bin та
build.modules столи.

Вихідні дані luacheck складається з окремих звітів для кожного перевіреного файлу і закінчується символом a
резюме:

$ luacheck src
Перевірка 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 OK
Перевірка 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 файлах

luacheck виходить з 0, якщо не було попереджень або помилок, і з додатним числом
інакше.

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

Опції, які беруть кілька аргументів, можна використовувати кілька разів; --ігнорувати Foo --ігнорувати бар is
еквівалентно --ігнорувати Foo бар.

Зауважте, що параметри, які можуть мати кілька аргументів, наприклад --глобали, не слід використовувати
безпосередньо перед позиційними аргументами; дано --глобали Foo бар file.lua, luacheck волі
розглянути все Foo, бар та file.lua глобальний, а потім панікувати, оскільки не залишилося імен файлів.

┌──────────────────────────────────┬────────────── ─────────────────────┐
│Варіант │ Значення │
├──────────────────────────────────┼────────────── ────────────────────┤
-g | --не глобальний │ Відфільтруйте попередження, пов’язані з │
│ │ глобальні змінні. │
├──────────────────────────────────┼────────────── ────────────────────┤
-u | --не-невикористано │ Відфільтруйте попередження, пов’язані з │
│ │ невикористані змінні та значення. │
├──────────────────────────────────┼────────────── ────────────────────┤
-r | --не перевизначено │ Відфільтруйте попередження, пов’язані з │
│ │ перевизначені змінні. │
├──────────────────────────────────┼────────────── ────────────────────┤
-a | --no-unused-args │ Відфільтруйте попередження, пов’язані з │
│ │ невикористані аргументи та цикл │
│ │ змінні. │
├──────────────────────────────────┼────────────── ────────────────────┤
-s | --no-unused-secondars │ Відфільтруйте попередження, пов’язані з │
│ │ невикористані змінні, встановлені разом │
│ │ з вживаними. │
│ │ │
│ │ Див. вторинні значення та змінні │
├──────────────────────────────────┼────────────── ────────────────────┤
--не-я │ Відфільтруйте попередження, пов’язані з │
│ │ неявно себе аргумент. │
└─────────────────────────────────┴────────────── ─────────────────────┘

--стандартний │ Встановити стандартні глобали. може │
│ │ бути одним із: │
│ │ │
│ │ · _G - глобали Lua │
│ │ перекладач luacheck
│ │ працює (за замовчуванням); │
│ │ │
│ │ · lua51 - глобали Lua │
│ │ 5.1; │
│ │ │
│ │ · lua52 - глобали Lua │
│ │ 5.2; │
│ │ │
│ │ · lua52c - глобали Lua │
│ │ 5.2 складено з │
│ │ LUA_COMPAT_ALL; │
│ │ │
│ │ · lua53 - глобали Lua │
│ │ 5.3; │
│ │ │
│ │ · lua53c - глобали Lua │
│ │ 5.3 складено з │
│ │ LUA_COMPAT_5_2; │
│ │ │
│ │ · luajit - глобали │
│ │ LuaJIT 2.0; │
│ │ │
│ │ · ngx_lua - глобали │
│ │ Openresty │
│ │ модуль 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 standard
│ │ глобали
├──────────────────────────────────┼────────────── ────────────────────┤
--глобали [ ] ... │ Додайте власні глобали поверх │
│ │ стандартні. │
├──────────────────────────────────┼────────────── ────────────────────┤
--read-globals [ ] ... │ Додайте глобали лише для читання. │
├──────────────────────────────────┼────────────── ────────────────────┤
--нові-глобали [ ] ... │ Встановити власні глобальні значення. Видаляє │
│ │ користувацькі глобали, додані раніше. │
├──────────────────────────────────┼────────────── ────────────────────┤
--new-read-globals [ ] │ Встановити глобальні значення лише для читання. Видаляє │
... │ додано глобальні параметри лише для читання │
│ │ раніше. │
├──────────────────────────────────┼────────────── ────────────────────┤
-c | --compat │ Еквівалентно --стандартний Макс. │
└─────────────────────────────────┴────────────── ─────────────────────┘

-d | --дозволити-визначено │ Дозволити визначення глобальних │
│ │ неявно, встановивши їх. │
│ │ │
│ │ Див. неявно визначені глобали │
├──────────────────────────────────┼────────────── ────────────────────┤
-t | --allow-defined-top │ Дозволити визначення глобальних │
│ │ неявно, встановивши їх у │
│ │ область верхнього рівня. │
│ │ │
│ │ Див. неявно визначені глобали │
├──────────────────────────────────┼────────────── ────────────────────┤
-m | -- модуль │ Обмежити видимість неявно │
│ │ визначено глобальні значення для своїх файлів. │
│ │ │
│ │ Див. модулі │
├──────────────────────────────────┼────────────── ────────────────────┤
--ігнорувати | -i [ ] │ Відфільтруйте відповідні попередження │
... │ візерунки. │
├──────────────────────────────────┼────────────── ────────────────────┤
--увімкнути | -e [ ] │ Не відфільтровуйте попередження │
... │ відповідність візерунків. │
├──────────────────────────────────┼────────────── ────────────────────┤
--тільки | -o [ ] ... │ Відфільтруйте попередження, що не збігаються │
│ │ візерунки. │
├──────────────────────────────────┼────────────── ────────────────────┤
--no-inline │ Вимкніть вбудовані параметри. │
├──────────────────────────────────┼────────────── ────────────────────┤
--config │ Шлях до спеціальної конфігурації │
│ │ файл (за замовчуванням: .luacheckrc). │
├──────────────────────────────────┼────────────── ────────────────────┤
--no-config │ Не шукайте на замовлення │
│ │ файл конфігурації. │
├──────────────────────────────────┼────────────── ────────────────────┤
--ім'я файлу │ Використовуйте інше ім’я файлу у виводі, │
│ │ для вибору конфігурації │
│ │ замінює і для файлу │
│ │ фільтрація. │
├──────────────────────────────────┼────────────── ────────────────────┤
--exclude-files [ ] │ Не перевіряйте відповідність файлів │
... │ ці глобінгові візерунки. │
│ │ Рекурсивні глоби, такі як **/*.lua
│ │ підтримуються. │
├──────────────────────────────────┼────────────── ────────────────────┤
--include-files [ ] │ Не перевіряйте файли, які не відповідають │
... │ ці глобінгові візерунки. │
├──────────────────────────────────┼────────────── ────────────────────┤
--кеш [ ] │ Шлях до файлу кешу. (за замовчуванням: │
│ │ .luacheckcache). Подивитися кешування
├──────────────────────────────────┼────────────── ────────────────────┤
--без кешу │ Не використовуйте кеш. │
├──────────────────────────────────┼────────────── ────────────────────┤
-j | -- робочі місця │ Перевірте файли паралельно. │
│ │ Вимагає LuaLanes. │
└─────────────────────────────────┴────────────── ─────────────────────┘

--форматор │ Використовуйте спеціальний форматувальник. │
│ │ має бути модуль │
│ │ ім'я або одне з: │
│ │ │
│ │ · TAP - Перевірте будь-що │
│ │ Форматувальник протоколів; │
│ │ │
│ │ · Юніт - JUnit XML │
│ │ форматувальник; │
│ │ │
│ │ · простий - простий │
│ │ попередження на рядок │
│ │ форматувальник; │
│ │ │
│ │ · дефолт - стандартний │
│ │ форматувальник. │
├──────────────────────────────────┼────────────── ────────────────────┤
-q | --спокійно │ Придушити вихід звіту для файлів │
│ │ без попереджень. │
│ │ │
│ │ · -qq - Придушити вихід │
│ │ попереджень. │
│ │ │
│ │ · -qqq - Тільки вихід │
│ │ підсумок. │
├──────────────────────────────────┼────────────── ────────────────────┤
-- коди │ Показати коди попереджень. │
├──────────────────────────────────┼────────────── ────────────────────┤
-- діапазони │ Показати діапазони пов’язаних стовпців │
│ │ до попереджень. │
├──────────────────────────────────┼────────────── ────────────────────┤
--без кольору │ Не розфарбовуйте вихідні дані. │
├──────────────────────────────────┼────────────── ────────────────────┤
-v | -- версія │ Показати версію Luacheck та його │
│ │ залежності та вихід. │
├──────────────────────────────────┼────────────── ────────────────────┤
-h | --допомога │ Показати допомогу та вийти. │
└─────────────────────────────────┴────────────── ─────────────────────┘

Шаблони
Параметри CLI --ігнорувати, --увімкнути та --тільки і відповідні параметри конфігурації дозволяють фільтрувати
попередження з використанням відповідності шаблону для кодів попереджень, імен змінних або обох. Якщо візерунок
містить косу риску, частина перед косою рискою відповідає коду попередження, а частина після збігів
ім'я змінної. В іншому випадку, якщо шаблон містить літеру або підкреслення, він збігається
ім'я змінної. В іншому випадку він відповідає коду попередження. наприклад:

┌────────┬───────────────────────────────────┐
│Візерунок │ Попередження про відповідність │
├────────┼───────────────────────────────────┤
│4.2 │ Затінювання декларацій │
│ │ аргументи або їх перевизначення. │
├────────┼───────────────────────────────────┤
│.*_ │ Попередження, пов’язані зі змінними │
│ │ с _ суфікс. │
├────────┼───────────────────────────────────┤
│4.2/.*_ │ Затінення декларацій │
│ │ суперечки с _ суфікс або │
│ │ перевизначення їх. │
└────────┴───────────────────────────────────┘

Якщо вони вже не прив’язані, шаблони, що відповідають іменам змінних, прив’язуються з обох сторін і
шаблони, що відповідають кодам попереджень, закріплені на початку. Це дозволяє
фільтруйте попередження за категоріями (напр --тільки 1 фокусується luacheck щодо глобальних попереджень).

набори of standard глобали
Опція CLI --stds дозволяє комбінувати описані вище вбудовані набори за допомогою +, Наприклад,
--стандартний Макс еквівалентна --std=lua51+lua52+lua53. Провідний знак плюс додає нові набори
за замовчуванням замість заміни. Наприклад, --стандартний +розбитий підходить для перевірки
тестові файли, які використовують Розорений рамка тестування. Спеціальні набори глобалів можуть бути визначені за допомогою
змінна глобальна змінна стандартні в конфігурації. Див. custom_stds

Форматери
Опція CLI --форматор дозволяє вибрати спеціальний форматувальник для luacheck вихід. Звичай
formatter — це модуль Lua, який повертає функцію з трьома аргументами: звіт, як повернуто
luacheck модуль (див. звіт), масив імен файлів і таблицю параметрів. Опції містять
присвоєні значення тихий, color, обмежувати, Коди, діапазони та форматувальник параметри в CLI або
конфіг. Функція форматування повинна повертати рядок.

кешування
Якщо LuaFileSystem доступний, Luacheck може кешувати результати перевірки файлів. На наступних
перевірки, лише файли, які були змінені з моменту останньої перевірки, будуть повторно перевірені, покращуючи
час роботи значно. Зміна параметрів (наприклад, визначення додаткових глобалів) не робиться
зробити недійсним кеш. Кешування можна ввімкнути за допомогою --кеш варіант або cache конфиг
варіант. Використання --кеш без аргументів чи налаштувань cache параметр config до правда Набори
.luacheckcache як файл кешу. Зауважте, що --кеш необхідно використовувати кожен раз luacheck is
бігти, а не тільки на перший запуск.

Стабільний інтерфейс та цінності редактор plugins та інструменти
Інтерфейс командного рядка Luacheck може змінюватися між незначними випусками. Починаючи з 0.11.0
версії, наведений нижче інтерфейс гарантується принаймні до версії 1.0.0 і має бути таким
використовується інструментами, що використовують вихід Luacheck, наприклад плагінами редактора.

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

· Файл можна передати через stdin за допомогою - як аргумент або за допомогою тимчасового файлу. Справжній
Ім'я файлу слід передавати за допомогою --ім'я файлу варіант.

· Слід використовувати звичайний форматувальник. Він виводить одну проблему (попередження або помилку) на рядок.

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

· Щоб отримати коди попереджень і помилок, -- коди можна використовувати варіант. Для кожного рядка підрядок
між дужками міститься тризначний код проблеми з префіксом E для помилок і W
для попереджень. Відсутність такого підрядка вказує на фатальну помилку (наприклад, помилку введення/виводу).

· Решта рядка – це попереджувальне повідомлення.

Якщо потрібна сумісність зі старішою версією Luacheck, виведіть файл luacheck --допомога може бути
використовувався для отримання його версії. Якщо він містить рядок 0 ., Де є в
мінімум 11 і ділянку будь-яке число, слід використовувати інтерфейс, описаний вище.

КОНФІГУРАЦІЯ Фото


luacheck намагається завантажити конфігурацію з .luacheckrc файл у поточному каталозі. Якщо
не знайдено, він шукатиме його в батьківському каталозі і так далі, продовжуючи до нього
досягає кореня файлової системи. Шлях до конфігурації можна встановити за допомогою --config варіант, у такому випадку
він буде використовуватися під час рекурсивного завантаження. Завантаження конфігурації можна вимкнути за допомогою --no-config
прапор

Config - це просто скрипт Lua, який виконується luacheck. Він може встановлювати різні параметри
присвоєння глобальним або шляхом повернення таблиці з іменами параметрів як ключів.

конфиг опції
┌───────────────────┬──────────────────────────┬─── ─────────────────────┐
│Параметр │ Тип │ Значення за замовчуванням │
├───────────────────┼───────────────────────────┼── ────────────────────┤
color │ Логічне значення │ правда
├───────────────────┼───────────────────────────┼── ────────────────────┤
Коди │ Логічне значення │ false
└───────────────────┴──────────────────────────┴── ─────────────────────┘

форматувальник │ Рядок або функція │ "за замовчуванням"
├───────────────────┼───────────────────────────┼── ────────────────────┤
cache │ Логічний або рядковий │ false
├───────────────────┼───────────────────────────┼── ────────────────────┤
роботи │ Ціле додатне число │ 1
├───────────────────┼───────────────────────────┼── ────────────────────┤
exclude_files │ Масив рядків │ {}
├───────────────────┼───────────────────────────┼── ────────────────────┤
include_files │ Масив рядків │ (Включити всі файли) │
├───────────────────┼───────────────────────────┼── ────────────────────┤
в цілому │ Логічне значення │ правда
├───────────────────┼───────────────────────────┼── ────────────────────┤
невикористаний │ Логічне значення │ правда
├───────────────────┼───────────────────────────┼── ────────────────────┤
переосмислений │ Логічне значення │ правда
├───────────────────┼───────────────────────────┼── ────────────────────┤
unused_args │ Логічне значення │ правда
├───────────────────┼───────────────────────────┼── ────────────────────┤
unused_secondaries │ Логічне значення │ правда
├───────────────────┼───────────────────────────┼── ────────────────────┤
себе │ Логічне значення │ правда
├───────────────────┼───────────────────────────┼── ────────────────────┤
std │ Рядок або набір │ "_G"
│ │ стандартні глобали │ │
├───────────────────┼───────────────────────────┼── ────────────────────┤
глобали │ Масив рядків │ {}
├───────────────────┼───────────────────────────┼── ────────────────────┤
нові_глобальні │ Масив рядків │ (Не перезаписувати) │
├───────────────────┼───────────────────────────┼── ────────────────────┤
read_globals │ Масив рядків │ {}
├───────────────────┼───────────────────────────┼── ────────────────────┤
new_read_globals │ Масив рядків │ (Не перезаписувати) │
├───────────────────┼───────────────────────────┼── ────────────────────┤
Compat │ Логічне значення │ false
├───────────────────┼───────────────────────────┼── ────────────────────┤
дозволено_визначено │ Логічне значення │ false
├───────────────────┼───────────────────────────┼── ────────────────────┤
allow_defined_top │ Логічне значення │ false
├───────────────────┼───────────────────────────┼── ────────────────────┤
Модулі │ Логічне значення │ false
├───────────────────┼───────────────────────────┼── ────────────────────┤
ігнорувати │ Масив візерунків (див. │ {}
│ │ візерунки) │ │
├───────────────────┼───────────────────────────┼── ────────────────────┤
включіть │ Масив візерунків │ {}
├───────────────────┼───────────────────────────┼── ────────────────────┤
тільки │ Масив шаблонів │ (Не фільтрувати) │
├───────────────────┼───────────────────────────┼── ────────────────────┤
вбудований │ Логічне значення │ правда
└───────────────────┴──────────────────────────┴── ─────────────────────┘

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

std = "хв"
ігнорувати = {"212"}

індивідуальні умови Набори of глобали
std Опція дозволяє встановити користувацький стандартний набір глобалів за допомогою таблиці. в тій таблиці,
ключі рядка є глобальними, а рядок у частині масиву є глобалами лише для читання.

Крім того, користувацьким наборам можна дати імена шляхом мутації глобальних стандартні змінний. Для
наприклад, при використанні LPEG бібліотеки, має сенс отримати доступ до її функцій коротко за допомогою
глобальні. У цьому випадку наступна конфігурація дозволяє видалити помилкові спрацьовування, пов’язані з
глобальний доступ легко:

stds.lpeg = вимагає "lpeg"

локальний lpeg = вимагає "lpeg"

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

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

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

std = "хв"
ігнорувати = {"212"}
файли["src/dir"] = {включити = {"212"}}
files["src/dir/myfile.lua"] = {ігнорувати = {"212"}}
files["spec"] = {std = "+busted"}

Зверніть увагу, що файли таблиця підтримує автооживлення, так що

files["myfile.lua"].ignore = {"212"}

та

files["myfile.lua"] = {ігнорувати = {"212"}}

рівнозначні.

В ЛІНІЮ ВАРІАНТИ


Luacheck підтримує налаштування деяких параметрів безпосередньо у перевірених файлах за допомогою вбудованого
коментарі щодо конфігурації. Вбудований коментар конфігурації починається з luacheck: етикетка,
можливо, після деякого пробілу. Тіло коментаря має містити розділені комами
options, де виклик параметра складається з його імені та аргументів, розділених пробілом. The
підтримуються такі параметри:

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

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

Опції, які не беруть аргументів, можуть мати префікс немає перевернути їх значення. напр
--luacheck: немає невикористаний аргументи вимикає попередження про невикористані аргументи.

Частина файлу, на яку впливає вбудована опція, залежить від того, де вона розміщена. Якщо є така
код у рядку з опцією, впливає тільки на цей рядок; інакше, все до
кінець поточного закриття. Зокрема, вбудовані параметри у верхній частині файлу
впливати на все це:

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

-- Наступна невикористана функція не повідомляється.
локальна функція f() -- luacheck: ігнорувати
-- luacheck: глобали g3
g3() -- Попередження немає.
кінець

g3() -- Попередження видається як вбудована опція, яка визначає лише функцію f, яка впливає на g3.

Для детального контролю над видимістю вбудованих опцій luacheck: штовхати та luacheck:
поп директиви:

-- luacheck: натисніть ігнорувати foo
foo() -- Без попередження.
-- luacheck: поп
foo() -- Видається попередження.

Вбудовані параметри можна повністю вимкнути за допомогою --no-inline Опція CLI або вбудований конфиг
варіант.

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


Скористайтеся кнопкою місцевий luacheck = вимагати "luacheck" імпортувати luacheck модуль. Він містить
такі функції:

· luacheck.get_report(джерело): Заданий вихідний рядок, повертає дані аналізу (таблицю).

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

· luacheck.check_strings(джерела, options): перевіряє масив джерел за допомогою параметрів, повертає
остаточний звіт. Таблиці з полем фатальний в джерел масив ігноруються.

· luacheck.check_files(файли, options): перевіряє масив файлів за допомогою параметрів, повертає final
звіт. Замість імен файлів можна передавати дескриптори відкритих файлів, у цьому випадку вони будуть
прочитати до EOF і закрити.

· luacheck.get_message(проблема): повертає рядкове повідомлення про проблему, див доповідь формат.

luacheck._VERSION містить версію Luacheck як рядок ОСНОВНИЙ.МЕНШИЙ.ПАТЧ Формат.

використання luacheck як функція еквівалентна виклику luacheck.check_files.

доповідь формат
Остаточний звіт – це масив звітів із файлами плюс поля попередження, Помилки та летальні
містить загальну кількість попереджень, помилок і фатальних помилок відповідно.

Звіт про файли — це набір проблем (попереджень або помилок). Якщо сталася фатальна помилка під час
перевіряючи файл, його звіт буде мати фатальний поле, що містить тип помилки.

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

┌──────┬───────────────────────────────────┐
│Коди │ Додаткові поля │
├──────┼───────────────────────────────────┤
│011 │ MSG поле містить синтаксичну помилку │
│ │ повідомлення. │
├──────┼───────────────────────────────────┤
│111 │ Модулі поле вказує, що │
│ │ присвоєння немодульному │
│ │ глобальна змінна. │
├──────┼───────────────────────────────────┤
│211 │ функц поле вказує, що невикористані │
│ │ змінна — функція. │
├──────┼───────────────────────────────────┤
│4.. │ попередній_рядок та попередній_стовпець поля │
│ │ містять розташування │
│ │ перезаписане визначення. │
└──────┴─────────────────────────────────────┘

Інші поля можуть бути присутніми з внутрішніх причин.

Це документація для версії 0.13.0 Luacheck, лінтер для Lua.

Використовуйте luacheck онлайн за допомогою служб onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

Команди Linux

Ad




×
реклама
❤️Робіть покупки, бронюйте або купуйте тут — безкоштовно, це допомагає зберегти послуги безкоштовними.