Amazon Best VPN GoSearch

Ulubiona usługa OnWorks

luacheck - Online w chmurze

Uruchom luacheck w bezpłatnym dostawcy hostingu OnWorks w systemie Ubuntu Online, Fedora Online, emulatorze online systemu Windows lub emulatorze online systemu MAC OS

To jest polecenie luacheck, które można uruchomić w bezpłatnym dostawcy hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS

PROGRAM:

IMIĘ


luacheck - dokumentacja luacheck

Spis treści:

WYKAZ OF OSTRZEŻENIA


Ostrzeżenia generowane przez Luacheck są klasyfikowane przy użyciu trzycyfrowych kodów ostrzegawczych. Ostrzeżenie
kody można wyświetlić na wyjściu CLI za pomocą --kody Opcja CLI lub Kody opcja konfiguracji.
Błędy mają również kody zaczynające się od zera.

┌─────┬───────────────────────────────────── ─┐
│Kod │ Opis │
├─────┼───────────────────────────────────── ─┤
│011 │ Błąd składni. │
├─────┼───────────────────────────────────── ─┤
│021 │ Nieprawidłowa opcja wbudowana. │
├─────┼───────────────────────────────────── ─┤
│022 │ Podniesione push-line │
│ │ dyrektywa. │
├─────┼───────────────────────────────────── ─┤
│023 │ Ulepszona dyrektywa dotycząca popu w tekście. │
├─────┼───────────────────────────────────── ─┤
│111 │ Ustawienie niezdefiniowanego globalnego │
│ │ zmienna. │
├─────┼───────────────────────────────────── ─┤
│112 │ Mutowanie niezdefiniowanego globalnego │
│ │ zmienna. │
├─────┼───────────────────────────────────── ─┤
│113 │ Dostęp do niezdefiniowanego globalnego │
│ │ zmienna. │
├─────┼───────────────────────────────────── ─┤
│121 │ Ustawianie globalnego │ tylko do odczytu
│ │ zmienna. │
├─────┼───────────────────────────────────── ─┤
│122 │ Mutacja globalnego tylko do odczytu │
│ │ zmienna. │
├─────┼───────────────────────────────────── ─┤
│131 │ Nieużywane, domyślnie zdefiniowane globalnie │
│ │ zmienna. │
├─────┼───────────────────────────────────── ─┤
│211 │ Nieużywana zmienna lokalna. │
├─────┼───────────────────────────────────── ─┤
│212 │ Nieużywany argument. │
├─────┼───────────────────────────────────── ─┤
│213 │ Nieużywana zmienna pętli. │
├─────┼───────────────────────────────────── ─┤
│221 │ Dostęp do zmiennej lokalnej, ale │
│ │ nigdy nie ustawione. │
├─────┼───────────────────────────────────── ─┤
│231 │ Zmienna lokalna jest ustawiona, ale nigdy │
│ │ dostępny. │
├─────┼───────────────────────────────────── ─┤
│232 │ Argument jest ustawiony, ale nigdy │
│ │ dostępny. │
├─────┼───────────────────────────────────── ─┤
│233 │ Zmienna pętli jest ustawiona, ale nigdy │
│ │ dostępny. │
├─────┼───────────────────────────────────── ─┤
│311 │ Wartość przypisana do lokalnego │
│ │ zmienna jest nieużywana. │
└─────┴───────────────────────────────────── ─┘

│312 │ Wartość argumentu jest nieużywana. │
├─────┼───────────────────────────────────── ─┤
│313 │ Wartość zmiennej pętli wynosi │
│ │ nieużywane. │
├─────┼───────────────────────────────────── ─┤
│321 │ Dostęp do niezainicjowanego lokalnego │
│ │ zmienna. │
├─────┼───────────────────────────────────── ─┤
│411 │ Redefinicja zmiennej lokalnej. │
├─────┼───────────────────────────────────── ─┤
│412 │ Przedefiniowanie argumentu. │
├─────┼───────────────────────────────────── ─┤
│413 │ Ponowna definicja zmiennej pętli. │
├─────┼───────────────────────────────────── ─┤
│421 │ Zasłanianie zmiennej lokalnej. │
├─────┼───────────────────────────────────── ─┤
│422 │ Podsycanie kłótni. │
├─────┼───────────────────────────────────── ─┤
│423 │ Zasłanianie zmiennej pętli. │
├─────┼───────────────────────────────────── ─┤
│431 │ Śledzenie wzrostu wartości. │
├─────┼───────────────────────────────────── ─┤
│432 │ Podsycanie argumentu zwiększającego wartość. │
├─────┼───────────────────────────────────── ─┤
│433 │ Śledzenie pętli wzrostu wartości │
│ │ zmienna. │
├─────┼───────────────────────────────────── ─┤
│511 │ Kod nieosiągalny. │
├─────┼───────────────────────────────────── ─┤
│512 │ Pętlę można wykonać co najwyżej │
│ │ raz. │
├─────┼───────────────────────────────────── ─┤
│521 │ Etykieta nieużywana. │
├─────┼───────────────────────────────────── ─┤
│531 │ Lewa strona przypisania │
│ │ jest za krótkie. │
├─────┼───────────────────────────────────── ─┤
│532 │ Lewa strona przypisania │
│ │ jest za długie. │
├─────┼───────────────────────────────────── ─┤
│541 │ Pusty do zakończenia blok. │
├─────┼───────────────────────────────────── ─┤
│542 │ Pusty if oddział. │
├─────┼───────────────────────────────────── ─┤
│551 │ Puste stwierdzenie. │
└─────┴───────────────────────────────────── ─┘

Globalny zmienne
Dla każdego pliku Luacheck buduje listę zdefiniowanych globali, które można w nim wykorzystać. Domyślnie
zdefiniowano tylko globale ze standardowej biblioteki Lua; niestandardowe globale można dodać za pomocą
--globaliści Opcja CLI lub globals config, a wersja standardowej biblioteki może być
wybrane za pomocą --std Opcja CLI lub std opcja konfiguracji. Gdy ustawiona jest niezdefiniowana wartość globalna,
zmutowane lub dostępne, Luacheck wyświetla ostrzeżenie.

Tylko do odczytu globals
Domyślnie wszystkie standardowe globale z wyjątkiem _G i pakiet są oznaczone jako tylko do odczytu, więc tak
ustawienie lub mutacja powoduje wyświetlenie ostrzeżenia. Niestandardowe globale tylko do odczytu można dodać za pomocą
--czytaj-globalistów Opcja CLI lub czytaj_globale opcja konfiguracji.

Niejawnie zdefiniowane globals
Luacheck można skonfigurować tak, aby uwzględniał wartości globalne przypisane pod pewnymi warunkami
zdefiniowane w sposób dorozumiany. Gdy -d/--allow_definiowane Opcja CLI lub zezwolenie_zdefiniowane opcja konfiguracji to
używane, definiują je wszystkie przypisania do globali; Kiedy -t/--allow_definiowane_góra Opcja CLI lub
Zezwól na_zdefiniowaną_górę config, przypisania do globali w funkcji najwyższego poziomu
zakres (znany również jako część główna) definiuje je. Ostrzeżenie jest generowane, gdy niejawnie
zdefiniowany globalny nie jest nigdzie dostępny.

Moduły
Pliki można oznaczać jako moduły za pomocą -m/--moduł Opcja CLI lub moduł opcję konfiguracji na
symulować semantykę przestarzałych moduł funkcjonować. Globale domyślnie zdefiniowane wewnątrz a
modułu są uważane za część jego interfejsu, nie są widoczne na zewnątrz i nie są raportowane
jako nieużywany. Przypisania do innych globali nie są dozwolone, nawet do zdefiniowanych.

Nie używany zmienne i wartości
Luacheck generuje ostrzeżenia dla wszystkich nieużywanych zmiennych lokalnych z wyjątkiem jednej nazwanej _. Również
wykrywa zmienne, które są ustawione, ale nigdy nie dostępne lub dostępne, ale nigdy nie ustawione.

Nie używany wartości i niezainicjowany zmienne
Dla każdej wartości przypisanej do zmiennej lokalnej Luacheck oblicza zestaw wyrażeń, w którym się ona znajduje
można było użyć. Ostrzeżenia są generowane w przypadku nieużywanych wartości (kiedy nie można użyć wartości
gdziekolwiek) oraz do uzyskiwania dostępu do niezainicjowanych zmiennych (kiedy żadna wartość nie może osiągnąć wartości an
wyrażenie). Np. w poniższym fragmencie wartość przypisana do bla w linii 1 jest nieużywany, oraz
zmienna bar jest niezainicjowany w linii 9:

lokalne foo = wyrażenie1()
lokalny bar

jeśli warunek() to
foo = wyrażenie2()
słupek = wyrażenie3()
więcej
foo = wyrażenie4()
drukuj (pasek)
zakończenia

zwróć foo, bar

Wtórny wartości i zmienne
Nieużywana wartość przypisana do zmiennej lokalnej jest drugorzędna, jeśli jej pochodzenie jest ostatnią pozycją
RHS przypisania i używana jest inna wartość z tej pozycji. Wartości wtórne
zazwyczaj pojawiają się, gdy wynik wywołania funkcji jest umieszczany w ustawieniach lokalnych i tylko niektóre z nich
są później wykorzystywane. Na przykład tutaj wartość przypisana do b jest drugorzędna, wartość przypisana do c is
używane i przypisane do nich wartości a jest po prostu nieużywany:

lokalny a, b, c = f(), g()

powrót c

Zmienna jest drugorzędna, jeśli wszystkie przypisane do niej wartości są wtórne. We fragmencie powyżej
b jest zmienną wtórną.

Ostrzeżenia dotyczące nieużywanych wartości i zmiennych wtórnych można usunąć za pomocą
-s/--no-nieużywane-wtórne Opcja CLI lub nieużywane_wtórne opcja konfiguracji.

Cieniowanie Oświadczenia
Luacheck wykrywa deklaracje zmiennych lokalnych przesłaniających poprzednie deklaracje, chyba że
zmienna ma nazwę _. Jeżeli poprzednie oświadczenie mieści się w tym samym zakresie co nowe,
nazywa się to przedefiniowaniem.

Zauważ, że jest nie konieczne jest zdefiniowanie nowej zmiennej lokalnej podczas nadpisywania argumentu:

funkcja lokalna f(x)
lokalny x = x lub „domyślny” - zły
zakończenia

funkcja lokalna f(x)
x = x lub „domyślny” – dobrze
zakończenia

Control: pływ i dane pływ problemy
Wykryto następujące problemy z przepływem sterowania i przepływem danych:

· Nieosiągalny kod i pętle, które można wykonać najwyżej raz (np. z powodu
bezwarunkowa przerwa);

· Nieużywane etykiety;

· Przydziały niezrównoważone;

· Puste bloki.

· Puste instrukcje (średniki bez poprzedzających instrukcji).

COMMAND LINE INTERFACE


luach program akceptuje pliki, katalogi i specyfikacje skał jako argumenty.

· Biorąc pod uwagę plik, luach sprawdzi to.

· Dany -, luach sprawdzi stdin.

· Biorąc pod uwagę katalog, luach sprawdzi wszystkie znajdujące się w nim pliki, wybierając tylko pliki z
.lua przedłużenie, chyba że --include-files opcja jest używana. Ta funkcja wymaga
System plików Lua (instalowany automatycznie, jeśli do instalacji Luacheck użyto LuaRocks).

· Biorąc pod uwagę specyfikację rock (plik z .rockspec rozbudowa), luach sprawdzi wszystkie pliki za pomocą
.lua rozszerzenie wspomniane w specyfikacji rock w build.install.lua, build.install.bin i
budowanie.modułów stoły.

Moc wyjściowa luach składa się z oddzielnych raportów dla każdego sprawdzanego pliku i kończy się na
streszczenie:

$ luacheck src
Sprawdzam src/bad_code.lua 5 ostrzeżeń

src/bad_code.lua:3:16: nieużywany pomocnik zmiennej
src/bad_code.lua:3:23: nieużywany argument o zmiennej długości
src/bad_code.lua:7:10: ustawienie niestandardowego uwzględnienia zmiennych globalnych
src/bad_code.lua:8:10: zmienna opt została wcześniej zdefiniowana jako argument w linii 7
src/bad_code.lua:9:11: dostęp do niezdefiniowanego modułu pomocniczego zmiennych

Sprawdzam src/good_code.lua OK
Sprawdzanie src/python_code.lua 1 błąd

src/python_code.lua:1:6: oczekiwano „=” w pobliżu „__future__”

Sprawdzanie ostrzeżeń src/unused_code.lua 9

src/unused_code.lua:3:18: nieużywany argument baz
src/unused_code.lua:4:8: nieużywana zmienna pętli, tj
src/unused_code.lua:5:13: nieużywana zmienna q
src/unused_code.lua:7:11: nieużywana zmienna pętli a
src/unused_code.lua:7:14: nieużywana zmienna pętli b
src/unused_code.lua:7:17: nieużywana zmienna pętli c
src/unused_code.lua:13:7: Wartość przypisana do zmiennej x jest nieużywana
src/unused_code.lua:14:1: Wartość przypisana do zmiennej x jest nieużywana
src/unused_code.lua:22:1: wartość przypisana do zmiennej z jest nieużywana

Łącznie: 14 ostrzeżeń / 1 błąd w 4 plikach

luach kończy się z 0, jeśli nie wystąpiły żadne ostrzeżenia lub błędy, oraz z liczbą dodatnią
Inaczej.

Command linia Opcje
Krótkie opcje, które nie wymagają argumentu, można połączyć w jedną, tak że -qqu is
równoważny -q -q -u. W przypadku opcji długich oba --opcja wartość or --opcja=wartość może być
używany.

Opcje przyjmujące kilka argumentów mogą być użyte kilka razy; --ignorować bla --ignorować bar is
równoważny --ignorować bla bar.

Należy pamiętać, że opcje, które mogą przyjmować kilka argumentów, np --globaliści, nie należy stosować
bezpośrednio przed argumentami pozycyjnymi; dany --globaliści bla bar plik.lua, luach będzie
rozważ wszystko bla, bar i plik.lua global, a potem panikuj, ponieważ nie ma już żadnych nazw plików.

┌─────────────────────────────────┬───── ─────────────────────────────┐
│Opcja │ Znaczenie │
├─────────────────────────────────┼───── ─────────────────────────────┤
-g | --nie-globalny │ Odfiltruj ostrzeżenia związane z │
│ │ zmienne globalne. │
├─────────────────────────────────┼───── ─────────────────────────────┤
-u | --nie-nieużywane │ Odfiltruj ostrzeżenia związane z │
│ │ nieużywane zmienne i wartości. │
├─────────────────────────────────┼───── ─────────────────────────────┤
-r | --nie-przedefiniowane │ Odfiltruj ostrzeżenia związane z │
│ │ zmienne na nowo. │
├─────────────────────────────────┼───── ─────────────────────────────┤
-a | --no-unused-args │ Odfiltruj ostrzeżenia związane z │
│ │ nieużywane argumenty i pętla │
│ │ zmienne. │
├─────────────────────────────────┼───── ─────────────────────────────┤
-s | --no-nieużywane-wtórne │ Odfiltruj ostrzeżenia związane z │
│ │ nieużywane zmienne ustawione razem │
│ │ z używanymi. │
│ │
│ │ Zobacz drugorzędne wartości i zmienne │
├─────────────────────────────────┼───── ─────────────────────────────┤
--bez siebie │ Odfiltruj ostrzeżenia związane z │
│ │ ukryte samego siebie argument. │
└─────────────────────────────────┴───── ─────────────────────────────┘

--std │ Ustaw standardowe globale. może │
│ │ być jednym z: │
│ │
│ │ · _G - globale Lua │
│ │ tłumacz luach
│ │ działa dalej (domyślnie); │
│ │
│ │ · lua51 - globale Lua │
│ │ 5.1; │
│ │
│ │ · lua52 - globale Lua │
│ │ 5.2; │
│ │
│ │ · lua52c - globale Lua │
│ │ 5.2 skompilowany z │
│ │ LUA_COMPAT_ALL; │
│ │
│ │ · lua53 - globale Lua │
│ │ 5.3; │
│ │
│ │ · lua53c - globale Lua │
│ │ 5.3 skompilowany z │
│ │ LUA_COMPAT_5_2; │
│ │
│ │ · luajit - globale │
│ │ LuaJIT 2.0; │
│ │
│ │ · ngx_lua - globale │
│ │ Otwartość │
│ │. moduł lua-nginx z │
│ │ LuaJIT 2.0; │
│ │
│ │ · min - przecięcie │
│ │ globale Lua 5.1, Lua │
│ │ 5.2 i LuaJIT 2.0; │
│ │
│ │ · max - związek globali │
│ │ Lua 5.1, Lua 5.2 i │
│ │ LuaJIT 2.0; │
│ │
│ │ · Busted - dodano globale │
│ │ autorstwa Busted 2.0; │
│ │
│ │ · Żaden - brak standardu │
│ │ globale. │
│ │
│ │ Zobacz Zestawy of
│ │. globals
├─────────────────────────────────┼───── ─────────────────────────────┤
--globaliści [ ] ... │ Dodaj niestandardowe globale na │
│ │ standardowe. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--czytaj-globalistów [ ] ... │ Dodaj globale tylko do odczytu. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--nowi-globaliści [ ] ... │ Ustaw niestandardowe globale. Usuwa │
│ │ niestandardowe globale dodane wcześniej. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--new-read-globals [ ] │ Ustaw wartości globalne tylko do odczytu. Usuwa │
... │ dodano globale tylko do odczytu │
│ │ wcześniej. │
├─────────────────────────────────┼───── ─────────────────────────────┤
-c | --kompatybilny │ Odpowiednik --std max. │.
└─────────────────────────────────┴───── ─────────────────────────────┘

-d | --zdefiniowane przez zezwolenie │ Zezwalaj na definiowanie globali │
│ │ pośrednio, ustawiając je. │
│ │
│ │ Zobacz domyślnie zdefiniowane globalne │
├─────────────────────────────────┼───── ─────────────────────────────┤
-t | --allow-zdefiniowany-top │ Zezwalaj na definiowanie globali │
│ │ pośrednio, ustawiając je w │
│ │ zakres najwyższego poziomu. │
│ │
│ │ Zobacz domyślnie zdefiniowane globalne │
├─────────────────────────────────┼───── ─────────────────────────────┤
-m | --moduł │ Ogranicz widoczność ukrytego │
│ │ zdefiniował globale w swoich plikach. │
│ │
│ │ Zobacz moduły │
├─────────────────────────────────┼───── ─────────────────────────────┤
--ignorować | -i [ ] │ Odfiltruj ostrzeżenia pasujące do │
... │ wzory. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--włączyć | -e [ ] │ Nie filtruj ostrzeżeń │
... │ dopasowanie wzorów. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--tylko | -o [ ] ... │ Odfiltruj ostrzeżenia, które nie pasują │
│ │ wzory. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--nie-inline │ Wyłącz opcje wbudowane. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--konfig │ Ścieżka do konfiguracji niestandardowej │
│ │ plik (domyślnie: .luacheckrc). │
├─────────────────────────────────┼───── ─────────────────────────────┤
--no-config │ Nie szukaj zwyczaju │
│ │ plik konfiguracyjny. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--Nazwa pliku │ Użyj innej nazwy pliku na wyjściu, │
│ │ do wyboru konfiguracji │
│ │ zastępuje i dla pliku │
│ │ filtrowanie. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--exclude-files [ ] │ Nie sprawdzaj plików pasujących do │
... │ te wzorce globalizacji. │
│ │ Globy rekurencyjne, takie jak **/*.lua
│ │ są obsługiwane. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--include-files [ ] │ Nie sprawdzaj plików, które nie pasują │
... │ te wzorce globalizacji. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--Pamięć podręczna [ ] │ Ścieżka do pliku pamięci podręcznej. (domyślnie: │
│ │. .luacheckcache). Widzieć buforowanie
├─────────────────────────────────┼───── ─────────────────────────────┤
--brak pamięci podręcznej │ Nie używaj pamięci podręcznej. │
├─────────────────────────────────┼───── ─────────────────────────────┤
-j | --Oferty pracy │ Sprawdź pliki równolegle. │
│ │ Wymaga LuaLanes. │.
└─────────────────────────────────┴───── ─────────────────────────────┘

--formatator │ Użyj niestandardowego formatera. │
│ │. musi być modułem │
│ │ imię lub jedno z: │
│ │
│ │ · TAP - Przetestuj wszystko │
│ │ Formater protokołu; │
│ │
│ │ · JUnit - JUnit XML │
│ │ formater; │
│ │
│ │ · zwykły - proste │
│ │ ostrzeżenie w wierszu │
│ │ formater; │
│ │
│ │ · domyślnym - standardowy │
│ │ formater. │
├─────────────────────────────────┼───── ─────────────────────────────┤
-q | --cichy │ Pomiń generowanie raportów dla plików │
│ │ bez ostrzeżeń. │
│ │
│ │ · -qq - Pomiń wyjście │
│ │ ostrzeżeń. │
│ │
│ │ · -qqq - Tylko wyjście │
│ │ podsumowanie. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--kody │ Pokaż kody ostrzegawcze. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--zakresy │ Pokaż zakresy powiązanych kolumn │
│ │ do ostrzeżeń. │
├─────────────────────────────────┼───── ─────────────────────────────┤
--brak koloru │ Nie koloruj wydruku. │
├─────────────────────────────────┼───── ─────────────────────────────┤
-v | --wersja │ Pokaż wersję Luacheck i jej │
│ │ zależności i zakończ. │
├─────────────────────────────────┼───── ─────────────────────────────┤
-h | --help │ Pokaż pomoc i wyjdź. │
└─────────────────────────────────┴───── ─────────────────────────────┘

wzory
Opcje CLI --ignorować, --włączyć i --tylko i odpowiednie opcje konfiguracyjne umożliwiają filtrowanie
ostrzeżenia przy użyciu dopasowywania wzorców w kodach ostrzeżeń, nazwach zmiennych lub obu. Jeśli wzór
zawiera ukośnik, część przed ukośnikiem odpowiada kodowi ostrzegawczemu, a część po dopasowaniu
nazwa zmiennej. W przeciwnym razie, jeśli wzór zawiera literę lub podkreślenie, pasuje
nazwa zmiennej. W przeciwnym razie pasuje do kodu ostrzegawczego. Np:

┌┌──────┬┬┬───────────────────────────────┐
│Wzór │ Pasujące ostrzeżenia │
├├──────┼┼┼───────────────────────────────┤
│4.2 │ Deklaracje cieniujące │
│ │ argumentów lub ich przedefiniowanie. │
├├──────┼┼┼───────────────────────────────┤
│.*_ │ Ostrzeżenia dotyczące zmiennych │
│ │ z _ przyrostek. │
├├──────┼┼┼───────────────────────────────┤
│4.2/.*_ │ Deklaracje cieniujące │
│ │ argumentuje z _ przyrostek lub │
│ │ ich redefinicja. │
└└──────┴┴┴───────────────────────────────┘

Jeśli wzorce pasujące do nazw zmiennych nie są już zakotwiczone, są zakotwiczone po obu stronach i
wzorce pasujące do kodów ostrzegawczych są zakotwiczone na ich początku. To pozwala
filtruj ostrzeżenia według kategorii (np --tylko 1 koncentruje luach w sprawie ostrzeżeń globalnych).

Zestawy of globals
Opcja CLI --std umożliwia łączenie opisanych powyżej zestawów wbudowanych za pomocą +, Na przykład,
--std max odpowiada --std=lua51+lua52+lua53. Wiodący znak plus dodaje nowe zestawy do
domyślny zamiast go zastępować. Na przykład, --std + złapany nadaje się do sprawdzenia
testuj pliki, które używają Busted ramy testowania. Niestandardowe zestawy globali można zdefiniować za pomocą
mutująca zmienna globalna std w konfiguracji Zobacz niestandardowe_stds

Formatery
Opcja CLI --formatator pozwala wybrać niestandardowy formater dla luach wyjście. Zwyczaj
formatter to moduł Lua zwracający funkcję z trzema argumentami: raport jako zwrócony przez
luach moduł (patrz raport), tablica nazw plików i tabela opcji. Opcje zawierają
wartości przypisane do cichy, kolor, ograniczenie, Kody, zakresy i formatyzator opcje w CLI lub
konfiguracja Funkcja formatująca musi zwracać ciąg znaków.

buforowanie
Jeśli dostępny jest LuaFileSystem, Luacheck może buforować wyniki sprawdzania plików. Na kolejnych
sprawdza, tylko pliki, które uległy zmianie od czasu ostatniej kontroli, zostaną ponownie sprawdzone i udoskonalone
czas pracy znacznie. Zmiana opcji (np. zdefiniowanie dodatkowych globali) nie powoduje tego
unieważnić pamięć podręczną. Buforowanie można włączyć za pomocą --Pamięć podręczna opcja lub Pamięć podręczna config
opcja. Za pomocą --Pamięć podręczna bez argumentu i ustawienia Pamięć podręczna opcję konfiguracji na prawdziwy zestawy
.luacheckcache jako plik pamięci podręcznej. Zauważ to --Pamięć podręczna trzeba używać za każdym razem luach is
uciekaj, a nie tylko za pierwszym razem.

Stabilny Interfejs dla redaktor wtyczki i narzędzia
Interfejs wiersza poleceń Luacheck może zmieniać się pomiędzy mniejszymi wydaniami. Począwszy od wersji 0.11.0
wersji, gwarantowany jest następujący interfejs przynajmniej do wersji 1.0.0 i tak powinno być
używane przez narzędzia wykorzystujące dane wyjściowe Luacheck, np. wtyczki edytora.

· Luacheck należy uruchomić z katalogu zawierającego sprawdzany plik.

· Plik można przekazać przez standardowe wejście za pomocą - jako argument lub użycie pliku tymczasowego. Prawdziwy
nazwę pliku należy przekazać za pomocą --Nazwa pliku opcja.

· Należy używać zwykłego formatera. Wyświetla jeden problem (ostrzeżenie lub błąd) w każdym wierszu.

· Aby uzyskać dokładną lokalizację błędu, --zakresy można skorzystać z opcji. Każda linia zaczyna się od real
nazwa pliku (przekazana przy użyciu --Nazwa pliku), śledzony przez : : - :,
gdzie to numer wiersza, w którym wystąpił problem, i - is
obejmujący zakres kolumn tokena związanych z problemem. Numeracja rozpoczyna się od 1. Jeśli
--zakresy nie jest używany, końcowa kolumna i myślnik nie są drukowane.

· Aby uzyskać ostrzeżenia i kody błędów, --kody można skorzystać z opcji. Dla każdej linii podciąg
w nawiasach zawiera trzycyfrowy kod wydania, poprzedzony prefiksem E za błędy i W
za ostrzeżenia. Brak takiego podłańcucha wskazuje na błąd krytyczny (np. błąd wejścia/wyjścia).

· Pozostała część linii to komunikat ostrzegawczy.

Jeśli wymagana jest kompatybilność ze starszą wersją Luacheck, wyjście luach --help może być
używany do uzyskania jego wersji. Jeśli zawiera ciąg 0. ., Gdzie jest na
co najmniej 11 i łata jest dowolną liczbą, należy skorzystać z interfejsu opisanego powyżej.

KONFIGURACJA FILE


luach próbuje załadować konfigurację z .luacheckrc plik w bieżącym katalogu. Jeśli
nie zostanie znaleziony, będzie go szukać w katalogu nadrzędnym itd., aż do niego
dociera do katalogu głównego systemu plików. Ścieżkę do konfiguracji można ustawić za pomocą --konfig opcję, w takim przypadku
będzie używany podczas ładowania rekurencyjnego. Ładowanie konfiguracji można wyłączyć za pomocą --no-config
flag.

Config to po prostu skrypt Lua wykonywany przez luach. Może ustawić różne opcje według
przypisując do globali lub zwracając tabelę z nazwami opcji jako kluczami.

Config Opcje
┌───────────────────┬─────────────────────── ───────┬── ───────────────────┐
│Opcja │ Typ │ Wartość domyślna │
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
kolor │ Wartość logiczna │ prawdziwy
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
Kody │ Wartość logiczna │ fałszywy
└───────────────────┴─────────────────────────── ───────┴── ───────────────────┘

formatyzator │ Ciąg znaków lub funkcja │ "domyślny"
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
Pamięć podręczna │ Wartość logiczna lub ciąg znaków │ fałszywy
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
Oferty pracy │ Dodatnia liczba całkowita │ 1
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
wyklucz_pliki │ Tablica ciągów │ {}
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
włącz_pliki │ Tablica ciągów │ (Uwzględnij wszystkie pliki) │
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
światowy │ Wartość logiczna │ prawdziwy
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
nieużywana │ Wartość logiczna │ prawdziwy
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
przedefiniowane │ Wartość logiczna │ prawdziwy
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
niewykorzystane_argumenty │ Wartość logiczna │ prawdziwy
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
nieużywane_wtórne │ Wartość logiczna │ prawdziwy
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
samego siebie │ Wartość logiczna │ prawdziwy
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
std │ Ciąg lub zestaw │ "_G"
│ │ standardowe globale │ │
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
globals │ Tablica ciągów │ {}
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
nowe_globale │ Tablica ciągów │ (Nie nadpisuj) │
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
czytaj_globale │ Tablica ciągów │ {}
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
nowy_czytany_globals │ Tablica ciągów │ (Nie nadpisuj) │
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
kompatybil │ Wartość logiczna │ fałszywy
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
zezwolenie_zdefiniowane │ Wartość logiczna │ fałszywy
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
Zezwól na_zdefiniowaną_górę │ Wartość logiczna │ fałszywy
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
moduł │ Wartość logiczna │ fałszywy
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
ignorować │ Tablica wzorów (patrz │ {}
│ │ wzory) │ │
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
umożliwiać │ Tablica wzorów │ {}
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
tylko │ Tablica wzorców │ (Nie filtruj) │
├───────────────────┼─────────────────────── ───────┼── ───────────────────┤
inline │ Wartość logiczna │ prawdziwy
└───────────────────┴─────────────────────────── ───────┴── ───────────────────┘

Przykład konfiguracji, która sprawia, że luach upewnij się, że tylko globale z wersji przenośnej
używane jest skrzyżowanie Lua 5.1, Lua 5.2, Lua 5.3 i LuaJIT 2.0, a także wyłącza
wykrywanie nieużywanych argumentów:

std = „min”
ignorować = {"212"}

warunki indywidualne zestawy of globals
std opcja umożliwia ustawienie niestandardowego standardowego zestawu globali przy użyciu tabeli. W tamtym stole
klucze łańcuchowe są kluczami globalnymi, a ciągi znaków w części tablicy są kluczami globalnymi tylko do odczytu.

Dodatkowo, zestawom niestandardowym można nadać nazwy poprzez mutację global std zmienny. Dla
przykład, gdy używasz LPG biblioteki, sensowne jest zwięzłe uzyskanie dostępu do jej funkcji za pomocą
globaliści. W takim przypadku poniższa konfiguracja umożliwia usunięcie fałszywych alarmów związanych z
łatwy dostęp globalny:

stds.lpeg = wymagaj „lpeg”

lokalny lpeg = wymagaj „lpeg”

funkcja lokalna parse1(...)
-- Ta funkcja używa wyłącznie funkcji lpeg jako funkcji globalnych.
lokalny _ENV = lpeg
-- luacheck: std lpeg
cyfra lokalna, spacja = R „09”, S „ ”
--...
zakończenia

funkcja lokalna parse2(...)
-- Ta funkcja wykorzystuje funkcje lpeg oraz standardowe funkcje globalne.
lokalny _ENV = setmetatable({}, {__index = funkcja(_, k) return _ENV[k] lub lpeg[k] koniec})
-- luacheck: std + lpeg
cyfra lokalna, spacja = R „09”, S „ ”
numer lokalny = C(cyfra^1) / tonumber
--...
zakończenia

Na plik i na ścieżkę nadpisuje
Środowisko, w którym luach ładuje konfigurację zawierającą specjalny plik global pliki. Kiedy
sprawdzanie pliku , luach zastąpi opcje z głównej konfiguracji wpisami
od akta[ ] i akta[ ], stosując najpierw wpisy dla krótszych ścieżek. Dla
na przykład poniższa konfiguracja ponownie włącza wykrywanie nieużywanych argumentów tylko dla plików w
src/reż, ale nie dla src/dir/mojplik.luai umożliwia korzystanie Busted globaliści wewnątrz specyfikacja/:

std = „min”
ignorować = {"212"}
pliki["src/dir"] = {włącz = {"212"}}
pliki["src/dir/myfile.lua"] = {ignore = {"212"}}
pliki["spec"] = {std = "+porażka"}

Należy pamiętać, że pliki stół obsługuje autowifikację, dzięki czemu

pliki["mójplik.lua"].ignore = {"212"}

i

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

są równoważne.

W LINII OPCJE


Luacheck obsługuje ustawianie niektórych opcji bezpośrednio w zaznaczonych plikach za pomocą inline
komentarze konfiguracyjne. Wbudowany komentarz konfiguracyjny zaczyna się od sprawdź: etykieta,
prawdopodobnie po spacji. Treść komentarza powinna być oddzielona przecinkami
opcje, gdzie wywołanie opcji składa się z jej nazwy i argumentów oddzielonych spacjami. The
obsługiwane są następujące opcje:

┌───────────────────┬─────────────────── ────────── ─────┐
│Opcja │ Liczba argumentów │
├───────────────────┼─────────────────── ────────── ─────┤
│globalny │ 0 │
├───────────────────┼─────────────────── ────────── ─────┤
│nieużywany │ 0 │
├───────────────────┼─────────────────── ────────── ─────┤
│przedefiniowany │ 0 │
├───────────────────┼─────────────────── ────────── ─────┤
│nieużywane argumenty │ 0 │
├───────────────────┼─────────────────── ────────── ─────┤
│nieużywane wtórne │ 0 │
├───────────────────┼─────────────────── ────────── ─────┤
│siebie │ 0 │
└───────────────────┴─────────────────── ───────────────┘

│zgodny │ 0 │
├───────────────────┼─────────────────── ────────── ─────┤
│moduł │ 0 │
├───────────────────┼─────────────────── ────────── ─────┤
│zezwól zdefiniowany │ 0 │
├───────────────────┼─────────────────── ────────── ─────┤
│zezwól na zdefiniowany szczyt │ 0 │
├───────────────────┼─────────────────── ────────── ─────┤
│std │ 1 │
├───────────────────┼─────────────────── ────────── ─────┤
│globaliści │ 0+ │
├───────────────────┼─────────────────── ────────── ─────┤
│nowe globale │ 0+ │
├───────────────────┼─────────────────── ────────── ─────┤
│czytaj globale │ 0+ │
├───────────────────┼─────────────────── ────────── ─────┤
│nowe globalne odczyty │ 0+ │
├───────────────────┼─────────────────── ────────── ─────┤
│ignore │ 0+ (bez argumentów wszystko │
│ │ jest ignorowane) │
├───────────────────┼─────────────────── ────────── ─────┤
│włącz │ 1+ │
├───────────────────┼─────────────────── ────────── ─────┤
│tylko │ 1+ │
└───────────────────┴─────────────────── ───────────────┘

Opcje, które nie przyjmują argumentów, mogą być poprzedzone prefiksem Nie odwrócić ich znaczenie. Np
--luacheck: Nie nieużywana args wyłącza ostrzeżenia o nieużywanych argumentach.

Część pliku, na którą wpływa opcja inline, zależy od tego, gdzie jest umieszczona. Jeśli istnieje jakikolwiek
kod w linii z opcją, dotyczy to tylko tej linii; w przeciwnym razie wszystko do
koniec obecnego zamknięcia. W szczególności opcje wbudowane na górze pliku
mieć wpływ na to wszystko:

-- luacheck: globals g1 g2, zignoruj ​​foo
local foo = g1(g2) — Nie są emitowane żadne ostrzeżenia.

-- Następująca nieużywana funkcja nie jest zgłaszana.
funkcja lokalna f() -- luacheck: zignorować
-- luacheck: globals g3
g3() -- Brak ostrzeżenia.
zakończenia

g3() — Ostrzeżenie jest emitowane, ponieważ opcja wbudowana definiująca g3 dotyczy tylko funkcji f.

Aby uzyskać precyzyjną kontrolę nad widocznością opcji wbudowanych sprawdź: naciskać i sprawdź:
muzyka pop dyrektywach:

-- luacheck: naciśnij ignorowanie foo
foo() -- Brak ostrzeżenia.
-- luacheck: pop
foo() — Wyświetlane jest ostrzeżenie.

Opcje wbudowane można całkowicie wyłączyć za pomocą --nie-inline Opcja CLI lub inline config
opcja.

LUACHECK MODUŁ


Zastosowanie miejscowy luach = wymagać „luaczek” importować luach moduł. Zawiera
następujące funkcje:

· luacheck.get_report(źródło): Podany ciąg źródłowy, zwraca dane analityczne (tabelę).

· luacheck.process_reports(raporty, opcje): Przetwarza szereg raportów analitycznych i
stosuje opcje. raporty zastosowania Opcje, opcje[i], opcje[i] [1], opcje[i] [2]...
jako opcje, zastępując się nawzajem w tej kolejności. Tabela opcji to tabela z polami
podobne do opcji konfiguracyjnych; zobacz opcje. Raporty analityczne z polem fatalny są ignorowane.
raporty_procesowe zwraca raport końcowy, patrz Zgłoś format.

· luacheck.check_strings(źródła, opcje): Sprawdza tablicę źródeł za pomocą opcji, zwraca
raport końcowy. Tabele z polem fatalny w ciągu źródła tablica są ignorowane.

· luacheck.check_files(pliki, opcje): Sprawdza tablicę plików za pomocą opcji, zwraca wartość końcową
raport. Zamiast nazw plików można przekazywać uchwyty otwartych plików, w takim przypadku tak będzie
przeczytaj do EOF i zamknij.

· luacheck.get_message (problem): Zwraca komunikat w postaci ciągu znaków dotyczący problemu, patrz Zgłoś format.

luacheck._VERSION zawiera wersję Luacheck jako ciąg znaków DUŻA, Drobna, Łatka Format.

Korzystanie z luach jako funkcja jest równoznaczna z wywołaniem luacheck.check_files.

Zgłoś format
Raport końcowy to tablica raportów plikowych plus pola ostrzeżenia, błędy i fatalny
zawierający odpowiednio całkowitą liczbę ostrzeżeń, błędów i błędów krytycznych.

Raport plikowy to zbiór problemów (ostrzeżeń lub błędów). Jeśli wystąpił błąd krytyczny podczas
sprawdzanie pliku, jego raport będzie zawierał fatalny pole zawierające typ błędu.

Problemem jest tabela z polem kod wskazując jego rodzaj (patrz ostrzeżenia) i pola linia,
kolumna i kolumna końcowa wskazując źródło ostrzeżenia. Nazwa pole może zawierać nazwę
powiązanej zmiennej. Sprawy niektórych typów mogą posiadać także dodatkowe pola:

┌──────┬──────────────────────────────── ──┐
│Kody │ Dodatkowe pola │
├──────┼──────────────────────────────── ──┤
│011 │ msg pole zawiera błąd składniowy │
│ │ wiadomość. │
├──────┼──────────────────────────────── ──┤
│111 │ moduł pole wskazuje, że │
│ │ przypisanie jest do elementu niebędącego modułem │
│ │ zmienna globalna. │
├──────┼──────────────────────────────── ──┤
│211 │ funkcjonować pole wskazuje, że niewykorzystane │
│ │ zmienna jest funkcją. │
├──────┼──────────────────────────────── ──┤
│4.. │ poprzednia_linia i poprzednia_kolumna pola │
│ │ zawierają lokalizację │
│ │ nadpisana definicja. │
└──────┴──────────────────────────────── ──┘

Inne pola mogą być obecne z przyczyn wewnętrznych.

To jest dokumentacja dla wersji 0.13.0 Luaczek, linter dla Luka.

Korzystaj z luacheck online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad




×
reklama
❤️Zrób zakupy, zarezerwuj lub kup tutaj — bezpłatnie, co pomaga utrzymać bezpłatne usługi.