Amazon Best VPN GoSearch

Favicon OnWorks

luacheck - Online în cloud

Rulați luacheck în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda luacheck care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


luacheck - documentație luacheck

Cuprins:

LISTA OF AVERTISMENTE


Avertismentele produse de Luacheck sunt clasificate folosind coduri de avertizare din trei cifre. Avertizare
codurile pot fi afișate în ieșirea CLI folosind --coduri Opțiunea CLI sau Coduri opțiunea de configurare.
Erorile au și coduri care încep cu zero.

┌─────┬─────────────────────────────────────
│Cod │ Descriere │
├─────┼─────────────────────────────────────────
│011 │ O eroare de sintaxă. │
├─────┼─────────────────────────────────────────
│021 │ O opțiune inline nevalidă. │
├─────┼─────────────────────────────────────────
│022 │ O împingere în linie aranjată │
│ │ directivă. │
├─────┼─────────────────────────────────────────
│023 │ O directivă pop inline actualizată. │
├─────┼─────────────────────────────────────────
│111 │ Setarea unui global nedefinit │
│ │ variabilă. │
├─────┼─────────────────────────────────────────
│112 │ Mutarea unui global nedefinit │
│ │ variabilă. │
├─────┼─────────────────────────────────────────
│113 │ Accesarea unui global nedefinit │
│ │ variabilă. │
├─────┼─────────────────────────────────────────
│121 │ Setarea unui global numai pentru citire │
│ │ variabilă. │
├─────┼─────────────────────────────────────────
│122 │ Mutarea unui global numai în citire │
│ │ variabilă. │
├─────┼─────────────────────────────────────────
│131 │ Global neutilizat definit implicit │
│ │ variabilă. │
├─────┼─────────────────────────────────────────
│211 │ Variabilă locală neutilizată. │
├─────┼─────────────────────────────────────────
│212 │ Argument nefolosit. │
├─────┼─────────────────────────────────────────
│213 │ Variabilă buclă neutilizată. │
├─────┼─────────────────────────────────────────
│221 │ Variabila locală este accesată, dar │
│ │ nu se setează niciodată. │
├─────┼─────────────────────────────────────────
│231 │ Variabila locală este setată, dar niciodată │
│ │ accesat. │
├─────┼─────────────────────────────────────────
│232 │ Un argument este setat, dar niciodată │
│ │ accesat. │
├─────┼─────────────────────────────────────────
│233 │ Variabila buclă este setată, dar niciodată │
│ │ accesat. │
├─────┼─────────────────────────────────────────
│311 │ Valoare atribuită unui │ local
│ │ variabila este neutilizată. │
└─────┴───────────────────────────────────────

│312 │ Valoarea unui argument este neutilizată. │
├─────┼─────────────────────────────────────────
│313 │ Valoarea unei variabile buclei este │
│ │ nefolosit. │
├─────┼─────────────────────────────────────────
│321 │ Accesarea locală neinițializată │
│ │ variabilă. │
├─────┼─────────────────────────────────────────
│411 │ Redefinirea unei variabile locale. │
├─────┼─────────────────────────────────────────
│412 │ Redefinirea unui argument. │
├─────┼─────────────────────────────────────────
│413 │ Redefinirea unei variabile de buclă. │
├─────┼─────────────────────────────────────────
│421 │ Umbrirea unei variabile locale. │
├─────┼─────────────────────────────────────────
│422 │ Umbrirea unui argument. │
├─────┼─────────────────────────────────────────
│423 │ Umbrirea unei variabile de buclă. │
├─────┼─────────────────────────────────────────
│431 │ Umbrirea unei valori în creștere. │
├─────┼─────────────────────────────────────────
│432 │ Umbrirea unui argument de valoare. │
├─────┼─────────────────────────────────────────
│433 │ Umbrirea unei bucle de valoare ascendentă │
│ │ variabilă. │
├─────┼─────────────────────────────────────────
│511 │ Cod inaccesibil. │
├─────┼─────────────────────────────────────────
│512 │ Bucla poate fi executată cel mult │
│ │ o dată. │
├─────┼─────────────────────────────────────────
│521 │ Etichetă nefolosită. │
├─────┼─────────────────────────────────────────
│531 │ Partea stângă a unei sarcini │
│ │ este prea scurt. │
├─────┼─────────────────────────────────────────
│532 │ Partea stângă a unei sarcini │
│ │ este prea lung. │
├─────┼─────────────────────────────────────────
│541 │ Un gol do capăt bloc. │
├─────┼─────────────────────────────────────────
│542 │ Un gol if ramură. │
├─────┼─────────────────────────────────────────
│551 │ O declarație goală. │
└─────┴───────────────────────────────────────

Caritate variabile
Pentru fiecare fișier, Luacheck construiește o listă de valori globale definite care pot fi folosite acolo. În mod implicit
sunt definite numai globalurile din biblioteca standard Lua; global personalizate pot fi adăugate folosind
--globali Opțiunea CLI sau GLOBALS opțiunea de configurare și versiunea bibliotecii standard pot fi
selectat folosind --std Opțiunea CLI sau std opțiunea de configurare. Când este setată o globală nedefinită,
mutat sau accesat, Luacheck produce un avertisment.

Numai în citire GLOBALS
În mod implicit, toate standardele globale, cu excepția _G si pachet sunt marcate ca doar pentru citire, astfel încât
stabilirea sau mutarea acestora produce un avertisment. Pot fi adăugate globaluri personalizate numai pentru citire folosind
--read-globals Opțiunea CLI sau read_globals opțiunea de configurare.

Implicit definit GLOBALS
Luacheck poate fi configurat pentru a considera globalele atribuite în anumite condiții
definit implicit. Cand -d/--allow_defined Opțiunea CLI sau permit_defined opțiunea de configurare este
utilizate, toate atribuirile la globale le definesc; cand -t/--allow_defined_top Opțiunea CLI sau
permit_defined_top este utilizată opțiunea de configurare, atribuiri globale în funcția de nivel superior
sfera (cunoscută și sub numele de bucată principală) le definesc. Un avertisment este produs atunci când este implicit
definit global nu este accesat nicăieri.

Panouri
Fișierele pot fi marcate ca module folosind -m/--modul Opțiunea CLI sau modul opțiunea de configurare la
simulează semantica deprecierii modul funcţie. Globale definite implicit în interiorul a
modul sunt considerate parte a interfeței sale, nu sunt vizibile în exterior și nu sunt raportate
ca nefolosit. Atribuțiile către alte globaluri nu sunt permise, chiar și către cele definite.

nefolosit variabile si Valorile
Luacheck generează avertismente pentru toate variabilele locale neutilizate, cu excepția uneia numite _. De asemenea
detectează variabilele care sunt setate, dar niciodată accesate sau accesate, dar niciodată setate.

nefolosit Valorile si neinitializate variabile
Pentru fiecare valoare atribuită unei variabile locale, Luacheck calculează un set de expresii în care aceasta
ar putea fi folosit. Avertismentele sunt produse pentru valorile neutilizate (când o valoare nu poate fi utilizată
oriunde) și pentru accesarea variabilelor neinițializate (când nicio valoare nu poate ajunge la un
expresie). De exemplu, în următoarea valoare a fragmentului atribuită lui foo pe linia 1 este nefolosită și
variabil bar este neinițializat pe linia 9:

local foo = expr1()
bar local

dacă condiția() atunci
foo = expr2()
bara = expr3()
altfel
foo = expr4()
print(bara)
capăt

întoarce foo, bar

Secundar Valorile si variabile
Valoarea neutilizată atribuită unei variabile locale este secundară dacă originea acesteia este ultimul element activat
RHS-ul atribuirii și se folosește o altă valoare din acel articol. Valori secundare
de obicei apar atunci când rezultatul unui apel de funcție este introdus în localuri și doar unele dintre ele
sunt folosite ulterior. De exemplu, aici valoarea atribuită lui b este secundar, valoare atribuită c is
folosit și valoarea atribuită a este pur și simplu nefolosit:

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

întoarcere c

O variabilă este secundară dacă toate valorile care i se atribuie sunt secundare. În fragmentul de mai sus,
b este o variabilă secundară.

Avertismentele legate de valorile și variabilele secundare neutilizate pot fi eliminate folosind
-s/--fără-neutilizate-secundare Opțiunea CLI sau unused_secondaries opțiunea de configurare.

shadowing declarații
Luacheck detectează declarațiile variabilelor locale care umbră declarațiile anterioare, cu excepția cazului în care
variabila este numită _. Dacă declarația anterioară este în același domeniu cu cea nouă,
se numeste redefinire.

Rețineți că este nu necesar pentru a defini o nouă variabilă locală atunci când se suprascrie un argument:

funcția locală f(x)
local x = x sau „implicit” -- rău
capăt

funcția locală f(x)
x = x sau „implicit” -- bine
capăt

Mod de control: debit si de date debit probleme de
Sunt detectate următoarele probleme privind fluxul de control și fluxul de date:

· Cod inaccesibil și bucle care pot fi executate cel mult o dată (de exemplu, din cauza unui
pauză necondiționată);

· Etichete neutilizate;

· Misiuni dezechilibrate;

· Blocuri goale.

· Instrucțiuni goale (punct și virgulă fără instrucțiuni precedente).

COMMAND LINE INTERFAȚĂ


luacheck programul acceptă fișiere, directoare și rockspecs ca argumente.

· Dat un fișier, luacheck o va verifica.

· Dat -, luacheck va verifica stdin.

· Dat un director, luacheck va verifica toate fișierele din el, selectând numai fișierele cu
.lua prelungire dacă nu --include-fișiere este folosită opțiunea. Această caracteristică necesită
LuaFileSystem (instalat automat dacă LuaRocks a fost folosit pentru a instala Luacheck).

· Dat un rockspec (un fișier cu .rockspec extensie), luacheck va verifica toate fișierele cu
.lua extensia menționată în rockspec în build.install.lua, build.install.bin si
construi.module tabele.

Rezultatul luacheck constă în rapoarte separate pentru fiecare fișier verificat și se termină cu a
rezumat:

$ luacheck src
Se verifică src/bad_code.lua 5 avertismente

src/bad_code.lua:3:16: ajutor variabil neutilizat
src/bad_code.lua:3:23: argument de lungime variabilă neutilizat
src/bad_code.lua:7:10: setarea îmbrățișării variabilelor globale non-standard
src/bad_code.lua:8:10: variabila opt a fost definită anterior ca argument pe linia 7
src/bad_code.lua:9:11: accesarea variabilei nedefinite hepler

Se verifică src/good_code.lua OK
Verificarea src/python_code.lua 1 eroare

src/python_code.lua:1:6: așteptat „=” lângă „__future__”

Se verifică src/unused_code.lua 9 avertismente

src/unused_code.lua:3:18: argument neutilizat baz
src/unused_code.lua:4:8: variabila buclă neutilizată i
src/unused_code.lua:5:13: variabila neutilizată q
src/unused_code.lua:7:11: variabilă buclă neutilizată a
src/unused_code.lua:7:14: variabilă de buclă neutilizată b
src/unused_code.lua:7:17: variabilă buclă neutilizată c
src/unused_code.lua:13:7: valoarea atribuită variabilei x este neutilizată
src/unused_code.lua:14:1: valoarea atribuită variabilei x este neutilizată
src/unused_code.lua:22:1: valoarea atribuită variabilei z este neutilizată

Total: 14 avertismente / 1 eroare în 4 fișiere

luacheck iese cu 0 dacă nu au apărut avertismente sau erori și cu un număr pozitiv
in caz contrar.

Comandă linie Opțiuni
Opțiunile scurte care nu iau un argument pot fi combinate într-una singură, astfel încât -qqu is
echivalent cu -q -q -u. Pentru opțiuni lungi, ambele --opțiune valoare or --option=valoare poate fi
folosit.

Opțiunile care au mai multe argumente pot fi folosite de mai multe ori; --ignora foo --ignora bar is
echivalent cu --ignora foo bar.

Rețineți că opțiunile care pot lua mai multe argumente, cum ar fi --globali, nu trebuie folosit
imediat înaintea argumentelor poziționale; dat --globali foo bar dosar.lua, luacheck voi
ia în considerare toate foo, bar si dosar.lua global și apoi intrați în panică deoarece nu au mai rămas nume de fișiere.

┌─────────────────────────────────┬─────────────── ───────────────────┐
│Opțiune │ Semnificație │
├─────────────────────────────────┼─────────────── ───────────────────┤
-g | --nu-global │ Filtrați avertismentele legate de │
│ │ variabile globale. │
├─────────────────────────────────┼─────────────── ───────────────────┤
-u | --nu-nefolosit │ Filtrați avertismentele legate de │
│ │ variabile și valori neutilizate. │
├─────────────────────────────────┼─────────────── ───────────────────┤
-r | --nu-redefinit │ Filtrați avertismentele legate de │
│ │ variabile redefinite. │
├─────────────────────────────────┼─────────────── ───────────────────┤
-a | --no-unused-args │ Filtrați avertismentele legate de │
│ │ argumente neutilizate și buclă │
│ │ variabile. │
├─────────────────────────────────┼─────────────── ───────────────────┤
-s | --fără-neutilizate-secundare │ Filtrați avertismentele legate de │
│ │ variabile neutilizate puse împreună │
│ │ cu cele folosite. │
│ │ │
│ │ Vezi valori și variabile secundare │
├─────────────────────────────────┼─────────────── ───────────────────┤
--nu-sine │ Filtrați avertismentele legate de │
│ │ implicit auto argument. │
└─────────────────────────────────┴─────────────── ───────────────────┘

--std │ Setați valori globale standard. poate │
│ │ fi unul dintre: │
│ │ │
│ │ · _G - globale ale Lua │
│ │ interpret luacheck
│ │ rulează (implicit); │
│ │ │
│ │ · lua51 - globale de Lua │
│ │ 5.1; │
│ │ │
│ │ · lua52 - globale de Lua │
│ │ 5.2; │
│ │ │
│ │ · lua52c - globale de Lua │
│ │ 5.2 compilat cu │
│ │ LUA_COMPAT_ALL; │
│ │ │
│ │ · lua53 - globale de Lua │
│ │ 5.3; │
│ │ │
│ │ · lua53c - globale de Lua │
│ │ 5.3 compilat cu │
│ │ LUA_COMPAT_5_2; │
│ │ │
│ │ · luajit - globale ale │
│ │ LuaJIT 2.0; │
│ │ │
│ │ · ngx_lua - globale ale │
│ │ Openresty │
│ │ lua-nginx-modul cu │
│ │ LuaJIT 2.0; │
│ │ │
│ │ · minute - intersecția lui │
│ │ globale ale Lua 5.1, Lua │
│ │ 5.2 și LuaJIT 2.0; │
│ │ │
│ │ · max - unirea globalelor │
│ │ din Lua 5.1, Lua 5.2 și │
│ │ LuaJIT 2.0; │
│ │ │
│ │ · arestat - globale adăugate │
│ │ de Busted 2.0; │
│ │ │
│ │ · nici unul - fără standard │
│ │ globale. │
│ │ │
│ │ Vezi Seturi of standard
│ │ GLOBALS
├─────────────────────────────────┼─────────────── ───────────────────┤
--globali [ ] ... │ Adăugați global personalizate deasupra │
│ │ cele standard. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--read-globals [ ] ... │ Adăugați globaluri numai pentru citire. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--noi-globali [ ] ... │ Setați valori globale personalizate. Îndepărtează │
│ │ global personalizate adăugate anterior. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--new-read-globals [ ] │ Setați valori globale numai pentru citire. Îndepărtează │
... │ au fost adăugate globaluri numai pentru citire │
│ │ anterior. │
├─────────────────────────────────┼─────────────── ───────────────────┤
-c | --compat │ Echivalent cu --std max. │
└─────────────────────────────────┴─────────────── ───────────────────┘

-d | --permite-definit │ Permite definirea globalelor │
│ │ implicit prin setarea lor. │
│ │ │
│ │ Vezi global definite implicit │
├─────────────────────────────────┼─────────────── ───────────────────┤
-t | --allow-defined-top │ Permite definirea globalelor │
│ │ implicit prin setarea lor în │
│ │ domeniul de aplicare de nivel superior. │
│ │ │
│ │ Vezi global definite implicit │
├─────────────────────────────────┼─────────────── ───────────────────┤
-m | --modul │ Limitați vizibilitatea implicit │
│ │ global definite în fișierele lor. │
│ │ │
│ │ Vezi modulele │
├─────────────────────────────────┼─────────────── ───────────────────┤
--ignora | -i [ ] │ Filtrați avertismentele care se potrivesc │
... │ modele. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--permite | -e [ ] │ Nu filtrați avertismentele │
... │ modele de potrivire. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--numai | -o [ ] ... │ Filtrați avertismentele care nu se potrivesc │
│ │ modele. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--no-inline │ Dezactivați opțiunile inline. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--config │ Calea către configurația personalizată │
│ │ fișier (implicit: .luacheckrc). │
├─────────────────────────────────┼─────────────── ───────────────────┤
--no-config │ Nu căuta personalizat │
│ │ fișier de configurare. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--nume de fișier │ Utilizați alt nume de fișier în ieșire, │
│ │ pentru selectarea configurației │
│ │ suprascrie și pentru fișier │
│ │ filtrare. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--exclude-fișiere [ ] │ Nu verificați fișierele care se potrivesc │
... │ aceste modele globbing. │
│ │ Globi recursive precum **/*.lua
│ │ sunt suportate. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--include-fișiere [ ] │ Nu verificați fișierele care nu se potrivesc │
... │ aceste modele globbing. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--cache [ ] │ Calea către fișierul cache. (implicit: │
│ │ .luacheckcache). Vedea Caching
├─────────────────────────────────┼─────────────── ───────────────────┤
--fără-cache │ Nu utilizați memoria cache. │
├─────────────────────────────────┼─────────────── ───────────────────┤
-j | --locuri de munca │ Verificați fișiere în paralel. │
│ │ Necesită LuaLanes. │
└─────────────────────────────────┴─────────────── ───────────────────┘

--formator │ Utilizați formatator personalizat. │
│ │ trebuie să fie un modul │
│ │ nume sau unul dintre: │
│ │ │
│ │ · TAP - Testează orice │
│ │ Formatator de protocol; │
│ │ │
│ │ · JUnit - JUnit XML │
│ │ formatator; │
│ │ │
│ │ · simplu - simplu │
│ │ avertisment-pe-linie │
│ │ formatator; │
│ │ │
│ │ · lipsă - standard │
│ │ formatator. │
├─────────────────────────────────┼─────────────── ───────────────────┤
-q | --Liniște │ Suprimați ieșirea raportului pentru fișiere │
│ │ fără avertismente. │
│ │ │
│ │ · -qq - Suprima ieșirea │
│ │ de avertismente. │
│ │ │
│ │ · -qqq - Doar ieșire │
│ │ rezumat. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--coduri │ Afișați codurile de avertizare. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--domenii │ Afișați intervalele de coloane legate │
│ │ la avertismente. │
├─────────────────────────────────┼─────────────── ───────────────────┤
--fara-culoare │ Nu colorați ieșirea. │
├─────────────────────────────────┼─────────────── ───────────────────┤
-v | --versiune │ Afișați versiunea Luacheck și │ a acestuia
│ │ dependențe și ieșire. │
├─────────────────────────────────┼─────────────── ───────────────────┤
-h | --Ajutor │ Arată ajutor și ieși. │
└─────────────────────────────────┴─────────────── ───────────────────┘

Modele
Opțiuni CLI --ignora, --permite si --numai și opțiunile de configurare corespunzătoare permit filtrarea
avertismente folosind potrivirea modelelor pe codurile de avertizare, numele variabilelor sau ambele. Dacă un model
conține o bară oblică, partea dinaintea barei oblice se potrivește cu codul de avertizare și partea de după potriviri
numele variabilei. În caz contrar, dacă un model conține o literă sau un caracter de subliniere, se potrivește
numele variabilei. În caz contrar, se potrivește cu codul de avertizare. De exemplu:

┌────────┬───────────────────────────────────
│Model │ Avertismente potrivite │
├────────┼────────────────────────────────────────
│4.2 │ Declarații de umbră ale │
│ │ argumente sau redefinirea lor. │
├────────┼────────────────────────────────────────
│.*_ │ Avertismente legate de variabile │
│ │ cu _ sufix. │
├────────┼────────────────────────────────────────
│4.2/.*_ │ Declarații de umbră ale │
│ │ argumente cu _ sufix sau │
│ │ redefinindu-le. │
└────────┴───────────────────────────────────────

Dacă nu sunt deja ancorate, modelele care se potrivesc cu numele variabilelor sunt ancorate pe ambele părți și
modelele care corespund codurilor de avertizare sunt ancorate la începuturile lor. Acest lucru îi permite să
filtrați avertismentele după categorie (de ex --numai 1 se concentrează luacheck privind avertismentele la nivel global).

Seturi of standard GLOBALS
opțiunea CLI --stds permite combinarea seturilor încorporate descrise mai sus folosind +. De exemplu,
--std max este echivalent cu --std=lua51+lua52+lua53. Semnul Lider plus adaugă seturi noi la
unul implicit în loc să îl înlocuiți. De exemplu, --std + prins este potrivit pentru verificare
fișierele de testare care utilizează Busted cadrul de testare. Seturi personalizate de globale pot fi definite prin
variabilă globală mutantă stds în config. Vedeți custom_stds

Formatatoare
opțiunea CLI --formator permite selectarea unui formatator personalizat pentru luacheck ieșire. Un obicei
formatator este un modul Lua care returnează o funcție cu trei argumente: raport așa cum este returnat de
luacheck modul (vezi raportul), matrice de nume de fișiere și tabel de opțiuni. Opțiunile conțin
valorile atribuite liniştit, culoare, limita, Coduri, game si formatator opțiuni în CLI sau
config. Funcția de formatare trebuie să returneze un șir.

Caching
Dacă LuaFileSystem este disponibil, Luacheck poate stoca în cache rezultatele verificării fișierelor. Pe ulterioare
verificări, numai fișierele care s-au modificat de la ultima verificare vor fi verificate din nou, îmbunătățindu-se
timpul de rulare în mod semnificativ. Modificarea opțiunilor (de exemplu, definirea unor globaluri suplimentare) nu
invalidează memoria cache. Memorarea în cache poate fi activată utilizând --cache opțiune sau cache config
opțiune. Folosind --cache fără argument sau decor cache opțiunea de configurare la adevărat seturi
.luacheckcache ca fișier cache. Rețineți că --cache trebuie folosit de fiecare dată luacheck is
alerga, nu numai la prima alergare.

Stabil interfață pentru editor Plugin-uri si Unelte
Interfața de linie de comandă a Luacheck se poate schimba între versiunile minore. Începând cu 0.11.0
versiune, următoarea interfață este garantată cel puțin până la versiunea 1.0.0 și ar trebui să fie
utilizat de instrumentele care folosesc ieșirea Luacheck, de exemplu, pluginuri de editor.

· Luacheck trebuie pornit din directorul care conține fișierul verificat.

· Fișierul poate fi trecut prin stdin folosind - ca argument sau folosind un fișier temporar. Real
numele fișierului ar trebui să fie transmis folosind --nume de fișier opțiune.

· Trebuie folosit un formatator simplu. Emite o problemă (avertisment sau eroare) pe linie.

· Pentru a obține locația precisă a erorii, --domenii poate fi folosită opțiunea. Fiecare linie începe cu real
nume de fișier (promis folosind --nume de fișier), urmată de : : - :,
Unde este numărul rândului pe care a apărut problema și - is
gamă inclusivă de coloane de jeton legate de problemă. Numerotarea începe de la 1. Dacă
--domenii nu este utilizat, coloana de sfârșit și liniuța nu sunt imprimate.

· Pentru a obține coduri de avertizare și eroare, --coduri poate fi folosită opțiunea. Pentru fiecare linie, subșir
între paranteze conține codul de emisiune din trei cifre, prefixat cu E pentru erori și W
pentru avertismente. Lipsa unui astfel de subșir indică o eroare fatală (de exemplu, eroare I/O).

· Restul liniei este un mesaj de avertizare.

Dacă se dorește compatibilitatea cu versiunea mai veche a Luacheck, ieșirea de luacheck --Ajutor poate fi
folosit pentru a obține versiunea sa. Dacă conține șir 0. ., În cazul în care este la
cel puțin 11 și plasture este orice număr, trebuie utilizată interfața descrisă mai sus.

CONFIGURARE FILE


luacheck încearcă să încarce configurația de la .luacheckrc fișier în directorul curent. Dacă
nu a fost găsit, îl va căuta în directorul părinte și așa mai departe, mergând până la el
ajunge la rădăcina sistemului de fișiere. Calea către config poate fi setată folosind --config opțiune, caz în care
va fi folosit în timpul încărcării recursive. Încărcarea configurației poate fi dezactivată folosind --no-config
steag.

Config este pur și simplu un script Lua executat de luacheck. Poate seta diverse opțiuni prin
atribuirea globale sau prin returnarea unui tabel cu nume de opțiuni ca chei.

config Opțiuni
┌───────────────────┬──────────────────────────┬── ───────────────────┐
│Opțiune │ Tip │ Valoare implicită │
├───────────────────┼──────────────────────────┼── ───────────────────┤
culoare │ Boolean │ adevărat
├───────────────────┼──────────────────────────┼── ───────────────────┤
Coduri │ Boolean │ fals
└───────────────────┴──────────────────────────┴── ───────────────────┘

formatator │ Șir sau funcție │ "Mod implicit"
├───────────────────┼──────────────────────────┼── ───────────────────┤
cache │ Boolean sau șir │ fals
├───────────────────┼──────────────────────────┼── ───────────────────┤
de locuri de muncă │ Număr întreg pozitiv │ 1
├───────────────────┼──────────────────────────┼── ───────────────────┤
exclude_fișiere │ Matrice de șiruri │ {}
├───────────────────┼──────────────────────────┼── ───────────────────┤
include_files │ Matrice de șiruri │ (Include toate fișierele) │
├───────────────────┼──────────────────────────┼── ───────────────────┤
global │ Boolean │ adevărat
├───────────────────┼──────────────────────────┼── ───────────────────┤
nefolosit │ Boolean │ adevărat
├───────────────────┼──────────────────────────┼── ───────────────────┤
Redefined │ Boolean │ adevărat
├───────────────────┼──────────────────────────┼── ───────────────────┤
unused_args │ Boolean │ adevărat
├───────────────────┼──────────────────────────┼── ───────────────────┤
unused_secondaries │ Boolean │ adevărat
├───────────────────┼──────────────────────────┼── ───────────────────┤
auto │ Boolean │ adevărat
├───────────────────┼──────────────────────────┼── ───────────────────┤
std │ Șir sau set de │ „_G”
│ │ globale standard │ │
├───────────────────┼──────────────────────────┼── ───────────────────┤
GLOBALS │ Matrice de șiruri │ {}
├───────────────────┼──────────────────────────┼── ───────────────────┤
noi_globali │ Matrice de șiruri │ (Nu suprascrieți) │
├───────────────────┼──────────────────────────┼── ───────────────────┤
read_globals │ Matrice de șiruri │ {}
├───────────────────┼──────────────────────────┼── ───────────────────┤
new_read_globals │ Matrice de șiruri │ (Nu suprascrieți) │
├───────────────────┼──────────────────────────┼── ───────────────────┤
compa │ Boolean │ fals
├───────────────────┼──────────────────────────┼── ───────────────────┤
permit_defined │ Boolean │ fals
├───────────────────┼──────────────────────────┼── ───────────────────┤
permit_defined_top │ Boolean │ fals
├───────────────────┼──────────────────────────┼── ───────────────────┤
modul │ Boolean │ fals
├───────────────────┼──────────────────────────┼── ───────────────────┤
ignora │ Matrice de modele (vezi │ {}
│ │ modele) │ │
├───────────────────┼──────────────────────────┼── ───────────────────┤
permite │ Matrice de modele │ {}
├───────────────────┼──────────────────────────┼── ───────────────────┤
│ Matrice de modele │ (Nu filtrați) │
├───────────────────┼──────────────────────────┼── ───────────────────┤
inline │ Boolean │ adevărat
└───────────────────┴──────────────────────────┴── ───────────────────┘

Un exemplu de configurare care face luacheck asigurați-vă că numai globale din portabil
sunt folosite intersecția Lua 5.1, Lua 5.2, Lua 5.3 și LuaJIT 2.0, precum și dezactivează
detectarea argumentelor neutilizate:

std = "min"
ignora = {"212"}

pachet personalizat seturi of GLOBALS
std opțiunea permite setarea unui set standard personalizat de globale folosind un tabel. În acel tabel,
cheile șir sunt globale, iar șirurile din partea matricei sunt globale numai pentru citire.

În plus, seturile personalizate pot primi nume prin mutarea globală stds variabil. Pentru
de exemplu, când se utilizează LPEG bibliotecă, este logic să accesați funcțiile sale concis folosind
globale. În acest caz, următoarea configurație permite eliminarea falselor pozitive legate de
acces global ușor:

stds.lpeg = necesită „lpeg”

local lpeg = necesită „lpeg”

funcția locală parse1(...)
-- Această funcție folosește numai funcții lpeg ca global.
local _ENV = lpeg
-- luacheck: std lpeg
cifră locală, spațiu = R "09", S " "
--...
capăt

funcția locală parse2(...)
-- Această funcție folosește funcții lpeg, precum și globale standard.
local _ENV = setmetatable({}, {__index = function(_, k) return _ENV[k] sau lpeg[k] end})
-- luacheck: std +lpeg
cifră locală, spațiu = R "09", S " "
număr local = C(cifră^1) / număr to
--...
capăt

Per-fișier si pe cale suprascrie
Mediul în care luacheck încarcă configurația conține un global special fișiere. Când
verificarea unui fișier , luacheck va suprascrie opțiunile din configurația principală cu intrări
din fisiere[ ] si fisiere[ ], aplicând mai întâi intrări pentru căi mai scurte. Pentru
De exemplu, următoarea configurație reactivează detectarea argumentelor neutilizate numai pentru fișierele din
src/dir, dar nu pentru src/dir/myfile.lua, și permite utilizarea Busted globale din interior spec /:

std = "min"
ignora = {"212"}
fișiere["src/dir"] = {activare = {"212"}}
files["src/dir/myfile.lua"] = {ignora = {"212"}}
fișiere["spec"] = {std = "+busted"}

Rețineți că fișiere tabelul acceptă autovivificarea, astfel încât

fișiere["myfile.lua"].ignore = {"212"}

si

fișiere["myfile.lua"] = {ignora = {"212"}}

sunt echivalente.

ÎN LINIE OPŢIUNI


Luacheck acceptă setarea unor opțiuni direct în fișierele verificate folosind inline
comentarii de configurare. Un comentariu de configurare inline începe cu luacheck: eticheta,
eventual după niște spații albe. Corpul comentariului trebuie să conțină separat prin virgulă
opțiuni, unde invocarea opțiunii constă din numele ei plus argumente separate prin spațiu. The
sunt acceptate următoarele opțiuni:

┌───────────────────┬───────────────────────────── ─────┐
│Opțiune │ Număr de argumente │
├───────────────────┼───────────────────────────── ─────┤
│global │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│nefolosit │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│redefinit │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│arg-uri neutilizate │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│secundare neutilizate │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│self │ 0 │
└───────────────────┴───────────────────────────── ─────┘

│compat │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│modul │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│permite definit │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│permite top definit │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│std │ 1 │
├───────────────────┼───────────────────────────── ─────┤
│globali │ 0+ │
├───────────────────┼───────────────────────────── ─────┤
│noi globale │ 0+ │
├───────────────────┼───────────────────────────── ─────┤
│citește globale │ 0+ │
├───────────────────┼───────────────────────────── ─────┤
│noi citiți globale │ 0+ │
├───────────────────┼───────────────────────────── ─────┤
│ignora │ 0+ (fără argumente totul │
│ │ este ignorat) │
├───────────────────┼───────────────────────────── ─────┤
│activați │ 1+ │
├───────────────────┼───────────────────────────── ─────┤
│doar │ 1+ │
└───────────────────┴───────────────────────────── ─────┘

Opțiunile care nu acceptă argumente pot fi prefixate cu Nu. pentru a le inversa sensul. De exemplu
--luacheck: Nu. nefolosit args dezactivează avertismentele de argument neutilizate.

O parte a fișierului afectată de opțiunea inline depinde de locul în care este plasată. Dacă există vreunul
cod pe linia cu opțiunea, doar acea linie este afectată; altfel, totul până la
sfarsitul inchiderii curente este. În special, opțiunile inline din partea de sus a fișierului
afectează totul:

-- luacheck: globals g1 g2, ignore foo
local foo = g1(g2) -- Nu sunt emise avertismente.

-- Următoarea funcție neutilizată nu este raportată.
funcția locală f() -- luacheck: ignora
-- luacheck: globals g3
g3() -- Nicio avertizare.
capăt

g3() -- Avertismentul este emis ca opțiunea inline care definește g3 numai funcția f afectată.

Pentru un control fin asupra utilizării vizibilității opțiunii în linie luacheck: împinge si luacheck:
pop directive:

-- luacheck: push ignore foo
foo() -- Nici un avertisment.
-- luacheck: pop
foo() -- Este emis un avertisment.

Opțiunile în linie pot fi complet dezactivate folosind --no-inline Opțiunea CLI sau inline config
opțiune.

LUACHECK MODULUL


Utilizare local luacheck = necesita "luacheck" a importa luacheck modul. Acesta conține
următoarele funcții:

· luacheck.get_report(sursa): dat șirul sursă, returnează date de analiză (un tabel).

· luacheck.process_reports(rapoarte, opțiuni): Procesează o serie de rapoarte de analiză și
aplică opțiuni. rapoarte[i] utilizări Opțiuni, opțiuni[i], opțiuni[i][1], opțiuni[i][2], ...
ca opțiuni, suprascriindu-se reciproc în această ordine. Tabelul de opțiuni este un tabel cu câmpuri
similar cu opțiunile de configurare; vezi optiunile. Rapoarte de analiză cu teren fatal sunt ignorate.
proces_rapoarte returnează raportul final, vezi Raport format.

· luacheck.check_strings(surse, opțiuni): Verifică gama de surse folosind opțiuni, returnează
raport final. Tabele cu câmp fatal în surse matricele sunt ignorate.

· luacheck.check_files(fișiere, opțiuni): Verifică matricea de fișiere folosind opțiuni, returnează final
raport. În locul numelor de fișiere pot fi transmise mânere de fișiere deschise, caz în care acestea vor fi
citit până la EOF și închis.

· luacheck.get_message(problema): returnează un șir de mesaj pentru o problemă, vezi Raport format.

luacheck._VERSION conține versiunea Luacheck ca șir în MAJOR.MINOR.PETIC format.

Utilizarea luacheck ca o funcție este echivalentă cu apelarea luacheck.check_files.

Raport format
Un raport final este o serie de rapoarte de fișiere plus câmpuri avertismente, Erori si fatal
care conțin numărul total de avertismente, erori și erori fatale, în mod corespunzător.

Un raport de fișier este o serie de probleme (avertismente sau erori). Dacă a apărut o eroare fatală în timp ce
verificarea unui dosar, raportul acestuia va avea fatal câmp care conține tipul de eroare.

O problemă este un tabel cu câmp cod indicând tipul acestuia (vezi avertismente), și câmpuri linie,
coloană si coloană_finală arătând spre sursa avertismentului. nume câmpul poate conține nume
a variabilei legate. Problemele de anumite tipuri pot avea și câmpuri suplimentare:

┌──────┬─────────────────────────────────────
│Coduri │ Câmpuri suplimentare │
├──────┼───────────────────────────────────────
│011 │ msg câmpul conține o eroare de sintaxă │
│ │ mesaj. │
├──────┼───────────────────────────────────────
│111 │ modul câmpul indică faptul că │
│ │ atribuirea este unui non-modul │
│ │ variabilă globală. │
├──────┼───────────────────────────────────────
│211 │ FUNC câmpul indică faptul că │ neutilizat
│ │ variabila este o funcție. │
├──────┼───────────────────────────────────────
│4.. │ prev_line si prev_coloană câmpuri │
│ │ conţin locaţia │
│ │ definiție suprascrisă. │
└──────┴────────────────────────────────────────

Alte câmpuri pot fi prezente din motive interne.

Aceasta este documentația pentru versiunea 0.13.0 a Luacheck, un linter pentru Lua.

Utilizați luacheck online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

Comenzi Linux

Ad




×
publicitate
❤️Cumpără, rezervă sau cumpără aici — gratuit, contribuind la menținerea serviciilor gratuite.