Amazon Best VPN GoSearch

icono de página de OnWorks

luacheck - Online en la nube

Ejecute luacheck en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando luacheck que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


luacheck - Documentación de luacheck

Contenido:

Anuncia OF ADVERTENCIAS


Las advertencias producidas por Luacheck se clasifican mediante códigos de advertencia de tres dígitos. Advertencia
Los códigos se pueden mostrar en la salida CLI usando - códigos Opción CLI o los códigos de opción de configuración.
Los errores también tienen códigos que comienzan con cero.

┌─────┬─────────────────────────────────┐
│Código │ Descripción │
├─────┼─────────────────────────────────┤
│011 │ Un error de sintaxis. │
├─────┼─────────────────────────────────┤
│021 │ Una opción en línea no válida. │
├─────┼─────────────────────────────────┤
│022 │ Una inserción en línea mejorada │
Directiva │ │. │
├─────┼─────────────────────────────────┤
│023 │ Una directiva pop en línea mejorada. │
├─────┼─────────────────────────────────┤
│111 │ Configuración de un global indefinido │
│ │ variables. │
├─────┼─────────────────────────────────┤
│112 │ Mutación de un global indefinido │
│ │ variables. │
├─────┼─────────────────────────────────┤
│113 │ Accediendo a un global indefinido │
│ │ variables. │
├─────┼─────────────────────────────────┤
│121 │ Configuración de un global de solo lectura │
│ │ variables. │
├─────┼─────────────────────────────────┤
│122 │ Mutación de un global de solo lectura │
│ │ variables. │
├─────┼─────────────────────────────────┤
│131 │ No utilizado implícitamente definido global │
│ │ variables. │
├─────┼─────────────────────────────────┤
│211 │ Variable local no utilizada. │
├─────┼─────────────────────────────────┤
│212 │ Argumento sin usar. │
├─────┼─────────────────────────────────┤
│213 │ Variable de bucle no utilizada. │
├─────┼─────────────────────────────────┤
│221 │ Se accede a la variable local pero │
│ │ nunca se establece. │
├─────┼─────────────────────────────────┤
│231 │ La variable local se establece pero nunca │
│ │ accedido. │
├─────┼─────────────────────────────────┤
│232 │ Se establece un argumento pero nunca │
│ │ accedido. │
├─────┼─────────────────────────────────┤
│233 │ La variable de bucle está configurada pero nunca │
│ │ accedido. │
├─────┼─────────────────────────────────┤
│311 │ Valor asignado a un local │
La variable │ │ no se utiliza. │
└─────┴─────────────────────────────────┘

│312 │ El valor de un argumento no se utiliza. │
├─────┼─────────────────────────────────┤
│313 │ El valor de una variable de ciclo es │
│ │ sin usar. │
├─────┼─────────────────────────────────┤
│321 │ Accediendo a local no inicializado │
│ │ variables. │
├─────┼─────────────────────────────────┤
│411 │ Redefiniendo una variable local. │
├─────┼─────────────────────────────────┤
│412 │ Redefiniendo un argumento. │
├─────┼─────────────────────────────────┤
│413 │ Redefiniendo una variable de bucle. │
├─────┼─────────────────────────────────┤
│421 │ Sombreado de una variable local. │
├─────┼─────────────────────────────────┤
│422 │ Sombra de un argumento. │
├─────┼─────────────────────────────────┤
│423 │ Sombreado de una variable de bucle. │
├─────┼─────────────────────────────────┤
│431 │ Sombra de un valor al alza. │
├─────┼─────────────────────────────────┤
│432 │ Sombreado de un argumento de upvalue. │
├─────┼─────────────────────────────────┤
│433 │ Sombreado de un bucle de upvalue │
│ │ variables. │
├─────┼─────────────────────────────────┤
│511 │ Código inalcanzable. │
├─────┼─────────────────────────────────┤
│512 │ El bucle se puede ejecutar como máximo │
│ │ una vez. │
├─────┼─────────────────────────────────┤
│521 │ Etiqueta sin usar. │
├─────┼─────────────────────────────────┤
│531 │ Lado izquierdo de una tarea │
│ │ es demasiado corto. │
├─────┼─────────────────────────────────┤
│532 │ Lado izquierdo de una tarea │
│ │ es demasiado largo. │
├─────┼─────────────────────────────────┤
│541 │ Un vacío do final cuadra. │
├─────┼─────────────────────────────────┤
│542 │ Un vacío if rama. │
├─────┼─────────────────────────────────┤
│551 │ Una declaración vacía. │
└─────┴─────────────────────────────────┘

Global las variables
Para cada archivo, Luacheck crea una lista de globales definidos que se pueden usar allí. Por defecto
sólo se definen los globales de la biblioteca estándar de Lua; se pueden agregar globales personalizados usando
--globales Opción CLI o globales config, y la versión de la biblioteca estándar se puede
seleccionado usando --estándar Opción CLI o enfermedades de transmisión sexual opción de configuración. Cuando se establece un global indefinido,
mutado o accedido, Luacheck produce una advertencia.

Sólo lectura globales
Por defecto, todos los globales estándar excepto _G y PARA DOS están marcados como de solo lectura, de modo que
establecerlos o mutarlos produce una advertencia. Se pueden agregar globales de solo lectura personalizados usando
--leer-globales Opción CLI o leer_globales opción de configuración.

Implícitamente se define globales
Luacheck se puede configurar para considerar que los globales asignados bajo algunas condiciones
definido implícitamente. Cuándo -d/--permitir_definido Opción CLI o permitir_definido la opción de configuración es
utilizado, todas las asignaciones a globales los definen; Cuándo -t/--allow_definido_top Opción CLI o
permitir_definido_arriba se utiliza la opción config, asignaciones a globales en la función de nivel superior
scope (también conocido como main chunk) definirlos. Se produce una advertencia cuando implícitamente
definido global no se accede a ninguna parte.

Módulos
Los archivos se pueden marcar como módulos usando -m/--módulo Opción CLI o módulo opción de configuración para
simular la semántica de lo obsoleto módulo función. Globales definidos implícitamente dentro de un
Los módulos se consideran parte de su interfaz, no son visibles en el exterior y no se informan
como no utilizado. No se permiten asignaciones a otros globales, ni siquiera a los definidos.

No usado las variables y valores
Luacheck genera advertencias para todas las variables locales no utilizadas excepto una llamada _. También
detecta variables que están configuradas pero a las que nunca se accede o a las que se accede pero que nunca se configuran.

No usado valores y no inicializado las variables
Para cada valor asignado a una variable local, Luacheck calcula un conjunto de expresiones donde
puede ser usado. Se producen advertencias para valores no utilizados (cuando un valor no se puede utilizar
en cualquier lugar) y para acceder a variables no inicializadas (cuando ningún valor puede alcanzar un valor
expresión). Por ejemplo, en el siguiente valor de fragmento asignado a foo en la línea 1 no se utiliza, y
variable de caramelos no está inicializado en la línea 9:

foo local = expr1 ()
bar local

si condición () entonces
foo = expr2 ()
barra = expr3 ()
más
foo = expr4 ()
imprimir (barra)
final

volver foo, bar

Secundaria valores y las variables
El valor no utilizado asignado a una variable local es secundario si su origen es el último elemento en
el RHS de la asignación, y se utiliza otro valor de ese elemento. Valores secundarios
normalmente aparecen cuando el resultado de una llamada de función se coloca en locales, y solo algunos de ellos
se utilizan más tarde. Por ejemplo, aquí el valor asignado a b es secundario, valor asignado a c is
utilizado, y valor asignado a a simplemente no se usa:

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

volver c

Una variable es secundaria si todos los valores que se le asignan son secundarios. En el fragmento de arriba,
b es una variable secundaria.

Las advertencias relacionadas con valores secundarios y variables no utilizados se pueden eliminar usando
-s/--no-secundarios-no utilizados Opción CLI o secundarios_sin_usar opción de configuración.

Sombra declaraciones
Luacheck detecta declaraciones de variables locales que sombrean declaraciones anteriores, a menos que
la variable se llama _. Si la declaración anterior tiene el mismo alcance que la nueva,
se llama redefinir.

Tenga en cuenta que es No necesario para definir una nueva variable local al sobrescribir un argumento:

función local f (x)
local x = x o "predeterminado" - malo
final

función local f (x)
x = xo "predeterminado" - bueno
final

Control: de tus señales y datos de tus señales cuestiones
Se detectan los siguientes problemas de flujo de control y flujo de datos:

· Códigos y bucles inalcanzables que se pueden ejecutar como máximo una vez (por ejemplo, debido a un
ruptura incondicional);

· Etiquetas no utilizadas;

· Asignaciones desequilibradas;

· Bloques vacíos.

· Declaraciones vacías (punto y coma sin declaraciones anteriores).

COMANDO LÍNEA INTERFAZ


luacheck programa acepta archivos, directorios y rocaspecs como argumentos.

· Dado un archivo, luacheck lo comprobaré.

· Dado -, luacheck comprobará stdin.

· Dado un directorio, luacheck Verificará todos los archivos dentro de él, seleccionando solo archivos con
.luna extensión a menos que --incluir-archivos se utiliza la opción. Esta característica requiere
Sistema de archivos Lua (se instala automáticamente si se utilizó LuaRocks para instalar Luacheck).

· Dada una rockspec (un archivo con .rockspec extensión), luacheck comprobará todos los archivos con
.luna extensión mencionada en el rockspec en compilar.instalar.lua, compilar.instalar.bin y
construir.módulos mesas.

La salida de luacheck consta de informes separados para cada archivo verificado y termina con un
resumen:

$ luacheck src
Comprobando las advertencias de src / bad_code.lua 5

src / bad_code.lua: 3: 16: asistente de variable no utilizado
src / bad_code.lua: 3:23: argumento de longitud variable no utilizado
src / bad_code.lua: 7: 10: configuración de abrazo de variable global no estándar
src / bad_code.lua: 8: 10: la variable opt se definió previamente como un argumento en la línea 7
src / bad_code.lua: 9: 11: acceder a la variable indefinida hepler

Verificando src / good_code.lua OK
Comprobando el error src / python_code.lua 1

src / python_code.lua: 1: 6: esperado '=' cerca de '__future__'

Comprobando las advertencias de src / unused_code.lua 9

src / unused_code.lua: 3:18: argumento no utilizado baz
src / unused_code.lua: 4: 8: variable de bucle no utilizada i
src / unused_code.lua: 5: 13: variable no utilizada q
src / unused_code.lua: 7: 11: variable de bucle no utilizada a
src / unused_code.lua: 7:14: variable de bucle no utilizada b
src / unused_code.lua: 7:17: variable de bucle no utilizada c
src / unused_code.lua: 13: 7: el valor asignado a la variable x no se usa
src / unused_code.lua: 14: 1: el valor asignado a la variable x no se usa
src / unused_code.lua: 22: 1: el valor asignado a la variable z no se usa

Total: 14 advertencias / 1 error en 4 archivos

luacheck sale con 0 si no se produjeron advertencias o errores y con un número positivo
de otra manera.

Comando línea opciones
Las opciones cortas que no toman un argumento se pueden combinar en una, de modo que -qqu is
equivalente a -q -q -u. Para opciones largas, ambos --opción propuesta de or --opción = valor puede ser
usado.

Las opciones que toman varios argumentos se pueden utilizar varias veces; --ignorar foo --ignorar de caramelos is
equivalente a --ignorar foo de caramelos.

Tenga en cuenta que las opciones que pueden tener varios argumentos, como --globales, No debería ser usado
inmediatamente antes de los argumentos posicionales; dado --globales foo de caramelos archivo.lua, luacheck will
considerar todo foo, de caramelos y archivo.lua global y luego pánico ya que no quedan nombres de archivo.

┌────────────────────────────────┬──────────────── ───────────────────┐
│Opción │ Significado │
├────────────────────────────────┼──────────────── ───────────────────┤
-g | --no-global │ Filtre las advertencias relacionadas con │
│ │ variables globales. │
├────────────────────────────────┼──────────────── ───────────────────┤
-u | --no-sin usar │ Filtre las advertencias relacionadas con │
│ │ variables y valores no utilizados. │
├────────────────────────────────┼──────────────── ───────────────────┤
-r | --no redefinido │ Filtre las advertencias relacionadas con │
│ │ variables redefinidas. │
├────────────────────────────────┼──────────────── ───────────────────┤
-a | --no-argumentos-no utilizados │ Filtre las advertencias relacionadas con │
│ │ argumentos y bucle no utilizados │
│ │ variables. │
├────────────────────────────────┼──────────────── ───────────────────┤
-s | --no-secundarios-no utilizados │ Filtre las advertencias relacionadas con │
│ │ conjunto de variables no utilizadas │
│ │ con los usados. │
│ │ │
│ │ Ver valores secundarios y variables │
├────────────────────────────────┼──────────────── ───────────────────┤
--no-yo │ Filtre las advertencias relacionadas con │
│ │ implícito yo argumento. │
└────────────────────────────────┴──────────────── ───────────────────┘

--estándar │ Establecer globales estándar. puede │
│ │ ser uno de: │
│ │ │
│ │ · _G - Globales de los Lua │
│ │ intérprete luacheck
│ │ se ejecuta (predeterminado); │
│ │ │
│ │ · lua51 - Globales de Lua │
│ │ 5.1; │
│ │ │
│ │ · lua52 - Globales de Lua │
│ │ 5.2; │
│ │ │
│ │ · lua52c - Globales de Lua │
│ │ 5.2 compilado con │
│ │ LUA_COMPAT_TODO; │
│ │ │
│ │ · lua53 - Globales de Lua │
│ │ 5.3; │
│ │ │
│ │ · lua53c - Globales de Lua │
│ │ 5.3 compilado con │
│ │ LUA_COMPAT_5_2; │
│ │ │
│ │ · luajit - globales de │
│ │ LuaJIT 2.0; │
│ │ │
│ │ · ngx_lua - globales de │
│ │ Apertura │
│ │ módulo lua-nginx con │
│ │ LuaJIT 2.0; │
│ │ │
│ │ · min - intersección de │
│ │ globales de Lua 5.1, Lua │
│ │ 5.2 y LuaJIT 2.0; │
│ │ │
│ │ · max - unión de globales │
│ │ de Lua 5.1, Lua 5.2 y │
│ │ LuaJIT 2.0; │
│ │ │
│ │ · Busted - globales agregados │
│ │ de Busted 2.0; │
│ │ │
│ │ · ninguna - sin estándar │
│ │ globales. │
│ │ │
│ │ Ver Sets of estándar
│ │ globales
├────────────────────────────────┼──────────────── ───────────────────┤
--globales [ ] ... │ Agregue globales personalizados encima de │
│ │ los estándar. │
├────────────────────────────────┼──────────────── ───────────────────┤
--leer-globales [ ] ... │ Agregue globales de solo lectura. │
├────────────────────────────────┼──────────────── ───────────────────┤
--nuevos globales [ ] ... │ Establecer globales personalizados. Elimina │
│ │ globales personalizados añadidos anteriormente. │
├────────────────────────────────┼──────────────── ───────────────────┤
--nuevas-lecturas-globales [ ] │ Establecer globales de solo lectura. Elimina │
... │ globales de solo lectura añadidos │
│ │ anteriormente. │
├────────────────────────────────┼──────────────── ───────────────────┤
-c | --compatible │ Equivalente a --estándar max. │
└────────────────────────────────┴──────────────── ───────────────────┘

-d | --definido permitido │ Permitir definir globales │
│ │ implícitamente configurándolos. │
│ │ │
│ │ Ver globales implícitamente definidos │
├────────────────────────────────┼──────────────── ───────────────────┤
-t | --permitido superior definido │ Permitir definir globales │
│ │ implícitamente configurándolos en │
│ │ el alcance de nivel superior. │
│ │ │
│ │ Ver globales implícitamente definidos │
├────────────────────────────────┼──────────────── ───────────────────┤
-m | --módulo │ Limitar la visibilidad de implícitamente │
│ │ definió globales en sus archivos. │
│ │ │
│ │ Ver módulos │
├────────────────────────────────┼──────────────── ───────────────────┤
--ignorar | -i [ ] │ Filtrar las advertencias que coincidan │
... │ patrones. │
├────────────────────────────────┼──────────────── ───────────────────┤
--habilitar | -e [ ] │ No filtrar las advertencias │
... │ patrones coincidentes. │
├────────────────────────────────┼──────────────── ───────────────────┤
--solo | -o [ ] ... │ Filtrar las advertencias que no coincidan │
│ │ patrones. │
├────────────────────────────────┼──────────────── ───────────────────┤
--no en línea │ Desactive las opciones en línea. │
├────────────────────────────────┼──────────────── ───────────────────┤
--config │ Ruta a la configuración personalizada │
│ │ archivo (predeterminado: .luacheckrc). │
├────────────────────────────────┼──────────────── ───────────────────┤
--no-config │ No busques personalizado │
│ │ archivo de configuración. │
├────────────────────────────────┼──────────────── ───────────────────┤
--nombre del archivo │ Utilice otro nombre de archivo en la salida, │
│ │ para seleccionar la configuración │
│ │ anula y para archivo │
│ │ filtrado. │
├────────────────────────────────┼──────────────── ───────────────────┤
--excluir-archivos [ ] │ No compruebe la coincidencia de archivos │
... │ estos patrones globulares. │
│ │ Globos recursivos como ** / *. lua
│ │ son compatibles. │
├────────────────────────────────┼──────────────── ───────────────────┤
--incluir-archivos [ ] │ No verifique archivos que no coincidan │
... │ estos patrones globulares. │
├────────────────────────────────┼──────────────── ───────────────────┤
--cache [ ] │ Ruta al archivo de caché. (predeterminado: │
│ │ .luacheckcache). Ver Almacenamiento en caché
├────────────────────────────────┼──────────────── ───────────────────┤
--sin caché │ No use caché. │
├────────────────────────────────┼──────────────── ───────────────────┤
-j | --trabajos │ Comprobar archivos en paralelo. │
│ │ Requiere LuaLanes. │
└────────────────────────────────┴──────────────── ───────────────────┘

- formateador │ Utilice un formateador personalizado. │
│ │ debe ser un módulo │
│ │ nombre o uno de: │
│ │ │
│ │ · TAP - Prueba cualquier cosa │
│ │ Formateador de protocolo; │
│ │ │
│ │ · JUnit - JUnitXML │
│ │ formateador; │
│ │ │
│ │ · llanura - sencillo │
│ │ advertencia por línea │
│ │ formateador; │
│ │ │
│ │ · tu préstamo estudiantil - estándar │
│ │ formateador. │
├────────────────────────────────┼──────────────── ───────────────────┤
-q | --tranquilo │ Suprime la salida de informes para archivos │
│ │ sin advertencias. │
│ │ │
│ │ · -qq - Suprimir salida │
│ │ de advertencias. │
│ │ │
│ │ · -qqq - Solo salida │
│ │ resumen. │
├────────────────────────────────┼──────────────── ───────────────────┤
- códigos │ Mostrar códigos de advertencia. │
├────────────────────────────────┼──────────────── ───────────────────┤
--rangos │ Mostrar rangos de columnas relacionadas │
│ │ a las advertencias. │
├────────────────────────────────┼──────────────── ───────────────────┤
--sin color │ No coloree la salida. │
├────────────────────────────────┼──────────────── ───────────────────┤
-v | --versión │ Muestra la versión de Luacheck y su │
│ │ dependencias y salida. │
├────────────────────────────────┼──────────────── ───────────────────┤
-h | --ayuda │ Muestre ayuda y salga. │
└────────────────────────────────┴──────────────── ───────────────────┘

Patrones
Opciones de CLI --ignorar, --habilitar y --solo y las opciones de configuración correspondientes permiten el filtrado
advertencias mediante la coincidencia de patrones en códigos de advertencia, nombres de variables o ambos. Si un patrón
contiene una barra, la parte antes de la barra coincide con el código de advertencia y la parte después de las coincidencias
nombre de la variable. De lo contrario, si un patrón contiene una letra o un guión bajo, coincide
nombre de la variable. De lo contrario, coincide con el código de advertencia. P.ej:

-
│Patrón │ Advertencias coincidentes │

│4.2 │ Declaraciones de sombreado de │
│ │ argumentos o redefinirlos. │

│. * _ │ Advertencias relacionadas con variables │
│ │ con _ sufijo. │

│4.2 /.*_ │ Declaraciones de sombreado de │
│ │ argumentos con _ sufijo o │
│ │ redefiniéndolos. │
-

A menos que ya estén anclados, los patrones que coinciden con los nombres de las variables están anclados en ambos lados y
los patrones que coinciden con los códigos de advertencia están anclados en sus inicios. Esto le permite a uno
filtrar advertencias por categoría (p. ej. --solo 1 se centra luacheck sobre advertencias relacionadas con el mundo).

Sets of estándar globales
Opción CLI --stds permite combinar los conjuntos integrados descritos anteriormente utilizando +. Por ejemplo,
--estándar max es equivalente a --std = lua51 + lua52 + lua53. El signo más inicial agrega nuevos conjuntos a
predeterminado en lugar de reemplazarlo. Por ejemplo, --estándar + reventado es adecuado para comprobar
archivos de prueba que usan Busted marco de prueba. Los conjuntos personalizados de globales se pueden definir mediante
variable global mutante ETS en config. Ver custom_stds

Formateadores
Opción CLI - formateador permite seleccionar un formateador personalizado para luacheck producción. Una costumbre
formateador es un módulo Lua que devuelve una función con tres argumentos: informe como lo devuelve
luacheck módulo (ver informe), matriz de nombres de archivos y tabla de opciones. Las opciones contienen
valores asignados a tranquilo, Color, límitar, los códigos de, rangos y formateador opciones en CLI o
config. La función del formateador debe devolver una cadena.

Almacenamiento en caché
Si LuaFileSystem está disponible, Luacheck puede almacenar en caché los resultados de la verificación de archivos. En los siguientes
comprobaciones, solo se volverán a comprobar los archivos que hayan cambiado desde la última comprobación, mejorando
tiempo de ejecución significativamente. Cambiar opciones (por ejemplo, definir globales adicionales) no
invalidar caché. El almacenamiento en caché se puede habilitar usando --cache Opción o cache config
opción. Utilizando --cache sin un argumento o escenario cache opción de configuración para su verdadero conjuntos
.luacheckcache como el archivo de caché. Tenga en cuenta que --cache debe usarse cada vez luacheck is
ejecutar, no solo en la primera ejecución.

Estable interfaz. para editor plugins y
La interfaz de línea de comandos de Luacheck puede cambiar entre versiones menores. A partir de 0.11.0
versión, la siguiente interfaz está garantizada al menos hasta la versión 1.0.0, y debe ser
utilizado por herramientas que utilizan la salida de Luacheck, por ejemplo, complementos de editor.

· Luacheck debe iniciarse desde el directorio que contiene el archivo verificado.

· El archivo se puede pasar a través de stdin usando - como argumento o usando un archivo temporal. Verdadero
el nombre de archivo debe pasarse usando --nombre del archivo .

· Se debe utilizar un formateador simple. Genera un problema (advertencia o error) por línea.

· Para obtener una ubicación precisa del error, --rangos se puede utilizar la opción. Cada línea comienza con real
nombre de archivo (pasado usando --nombre del archivo), seguido por : : - :,
donde es el número de línea en el que se produjo el problema y - is
rango inclusivo de columnas de token relacionadas con la emisión. La numeración comienza desde 1. Si
--rangos no se utiliza, la columna final y el guión no se imprimen.

· Para obtener códigos de error y advertencia, - códigos se puede utilizar la opción. Para cada línea, subcadena
entre paréntesis contiene un código de emisión de tres dígitos, con el prefijo E por errores y W
para las advertencias. La falta de dicha subcadena indica un error fatal (por ejemplo, error de E / S).

· El resto de la línea es un mensaje de advertencia.

Si se desea compatibilidad con la versión anterior de Luacheck, la salida de luacheck --ayuda puede ser
solía obtener su versión. Si contiene cadena 0. ., donde el Está en
al menos 11 y parche es cualquier número, se debe utilizar la interfaz descrita anteriormente.

CONFIGURACIÓN ARCHIVO


luacheck intenta cargar la configuración desde .luacheckrc archivo en el directorio actual. Si
no encontrado, lo buscará en el directorio principal y así sucesivamente, subiendo hasta que
llega a la raíz del sistema de archivos. La ruta a la configuración se puede establecer usando --config opción, en cuyo caso
se utilizará durante la carga recursiva. La carga de configuración se puede deshabilitar usando --no-config
bandera.

Config es simplemente un script Lua ejecutado por luacheck. Puede configurar varias opciones
asignando a globales o devolviendo una tabla con nombres de opciones como claves.

Config opciones
┌──────────────────┬──────────────────────────┬── ───────────────────┐
│Opción │ Tipo │ Valor predeterminado │
├──────────────────┼──────────────────────────┼── ───────────────────┤
Color │ Booleano │ su verdadero
├──────────────────┼──────────────────────────┼── ───────────────────┤
los códigos de │ Booleano │ false
└──────────────────┴──────────────────────────┴── ───────────────────┘

formateador │ Cadena o función │ "defecto"
├──────────────────┼──────────────────────────┼── ───────────────────┤
cache │ Booleano o cadena │ false
├──────────────────┼──────────────────────────┼── ───────────────────┤
recibas nuevas vacantes en tu correo │ Entero positivo │ 1
├──────────────────┼──────────────────────────┼── ───────────────────┤
excluir_archivos │ Matriz de cuerdas │ {}
├──────────────────┼──────────────────────────┼── ───────────────────┤
incluir_archivos │ Matriz de cadenas │ (Incluir todos los archivos) │
├──────────────────┼──────────────────────────┼── ───────────────────┤
global │ Booleano │ su verdadero
├──────────────────┼──────────────────────────┼── ───────────────────┤
no usado │ Booleano │ su verdadero
├──────────────────┼──────────────────────────┼── ───────────────────┤
redefinido │ Booleano │ su verdadero
├──────────────────┼──────────────────────────┼── ───────────────────┤
argumentos_usados │ Booleano │ su verdadero
├──────────────────┼──────────────────────────┼── ───────────────────┤
secundarios_sin_usar │ Booleano │ su verdadero
├──────────────────┼──────────────────────────┼── ───────────────────┤
yo │ Booleano │ su verdadero
├──────────────────┼──────────────────────────┼── ───────────────────┤
enfermedades de transmisión sexual │ Cadena o conjunto de │ "_GRAMO"
│ │ globales estándar │ │
├──────────────────┼──────────────────────────┼── ───────────────────┤
globales │ Matriz de cuerdas │ {}
├──────────────────┼──────────────────────────┼── ───────────────────┤
nuevos_globales │ Matriz de cadenas │ (No sobrescribir) │
├──────────────────┼──────────────────────────┼── ───────────────────┤
leer_globales │ Matriz de cuerdas │ {}
├──────────────────┼──────────────────────────┼── ───────────────────┤
new_read_globals │ Matriz de cadenas │ (No sobrescribir) │
├──────────────────┼──────────────────────────┼── ───────────────────┤
compat │ Booleano │ false
├──────────────────┼──────────────────────────┼── ───────────────────┤
permitir_definido │ Booleano │ false
├──────────────────┼──────────────────────────┼── ───────────────────┤
permitir_definido_arriba │ Booleano │ false
├──────────────────┼──────────────────────────┼── ───────────────────┤
módulo │ Booleano │ false
├──────────────────┼──────────────────────────┼── ───────────────────┤
pasar por alto │ Matriz de patrones (ver │ {}
│ │ patrones) │ │
├──────────────────┼──────────────────────────┼── ───────────────────┤
habilitar │ Matriz de patrones │ {}
├──────────────────┼──────────────────────────┼── ───────────────────┤
only │ Matriz de patrones │ (No filtrar) │
├──────────────────┼──────────────────────────┼── ───────────────────┤
en línea │ Booleano │ su verdadero
└──────────────────┴──────────────────────────┴── ───────────────────┘

Un ejemplo de una configuración que hace luacheck asegúrese de que solo los globales del portátil
intersección de Lua 5.1, Lua 5.2, Lua 5.3 y LuaJIT 2.0 se utilizan, así como deshabilita
detección de argumentos no utilizados:

std = "min"
ignorar = {"212"}

Personalizado conjuntos of globales
enfermedades de transmisión sexual La opción permite establecer un conjunto estándar personalizado de globales mediante una tabla. En esa mesa,
las claves de cadena son globales y las cadenas en la parte de la matriz son globales de solo lectura.

Además, los conjuntos personalizados pueden recibir nombres mediante la mutación global ETS variable. Para
ejemplo, cuando se usa LPEG biblioteca, tiene sentido acceder a sus funciones concisamente usando
globales. En ese caso, la siguiente configuración permite eliminar falsos positivos relacionados con
acceso global fácilmente:

stds.lpeg = require "lpeg"

local lpeg = requiere "lpeg"

función local parse1 (...)
- Esta función solo usa funciones lpeg como globales.
_ENV local = lpeg
- luacheck: std lpeg
dígito local, espacio = R "09", S ""
- ...
final

función local parse2 (...)
- Esta función utiliza funciones lpeg así como globales estándar.
local _ENV = setmetatable ({}, {__index = function (_, k) return _ENV [k] o lpeg [k] end})
- luacheck: std + lpeg
dígito local, espacio = R "09", S ""
número local = C (dígito ^ 1) / tonumber
- ...
final

Por archivo y por ruta anula
El entorno en el que luacheck carga la configuración contiene un global especial archivos. Cuando el
revisando un archivo , luacheck anulará las opciones de la configuración principal con entradas
Desde archivos [ ] y archivos [ ], aplicando entradas para rutas más cortas primero. Para
ejemplo, la siguiente configuración vuelve a habilitar la detección de argumentos no utilizados solo para archivos en
src / dir, pero no para src / dir / myfile.luay permite usar Busted globales dentro Especificaciones/:

std = "min"
ignorar = {"212"}
archivos ["src / dir"] = {enable = {"212"}}
archivos ["src / dir / myfile.lua"] = {ignore = {"212"}}
archivos ["spec"] = {std = "+ busted"}

Tenga en cuenta que archivos La tabla admite la autovivificación, de modo que

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

y

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

son equivalentes

EN LÍNEA OPCIONES


Luacheck admite la configuración de algunas opciones directamente en los archivos comprobados utilizando en línea
comentarios de configuración. Un comentario de configuración en línea comienza con luacheck: etiqueta,
posiblemente después de algunos espacios en blanco. El cuerpo del comentario debe contener comas separadas
opciones, donde la invocación de la opción consiste en su nombre más argumentos separados por espacios. El
Se admiten las siguientes opciones:

┌──────────────────┬───────────────────────────── ─────┐
│Opción │ Número de argumentos │
├───────────────────┼───────────────────────────── ─────┤
│globales │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│sin usar │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│redefinido │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│ argumentos no utilizados │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│secundarios no utilizados │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│auto │ 0 │
└───────────────────┴───────────────────────────── ─────┘

│ compatible │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│módulo │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│permitido definido │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│permitir parte superior definida │ 0 │
├───────────────────┼───────────────────────────── ─────┤
│ estándar │ 1 │
├───────────────────┼───────────────────────────── ─────┤
│globales │ 0+ │
├───────────────────┼───────────────────────────── ─────┤
│nuevos globales │ 0+ │
├───────────────────┼───────────────────────────── ─────┤
│ leer globales │ 0+ │
├───────────────────┼───────────────────────────── ─────┤
│nueva lectura global │ 0+ │
├───────────────────┼───────────────────────────── ─────┤
│ ignorar │ 0+ (sin argumentos todo │
│ │ se ignora) │
├───────────────────┼───────────────────────────── ─────┤
│habilitar │ 1+ │
├───────────────────┼───────────────────────────── ─────┤
│sólo │ 1+ │
└───────────────────┴───────────────────────────── ─────┘

Las opciones que no aceptan argumentos pueden tener el prefijo no para invertir su significado. P.ej
--luacheck: no no usado args desactiva las advertencias de argumentos no utilizados.

Parte del archivo afectado por la opción en línea depende de dónde se coloque. Si hay alguna
código en la línea con la opción, solo esa línea se ve afectada; de lo contrario, todo hasta
el final del cierre actual es. En particular, las opciones en línea en la parte superior del archivo
afectar todo eso:

- luacheck: globals g1 g2, ignorar foo
local foo = g1 (g2) - No se emiten advertencias.

- No se informa la siguiente función no utilizada.
función local f () - luacheck: ignorar
- luacheck: globals g3
g3 () - Sin advertencia.
final

g3 () - Se emite una advertencia como la opción en línea que define g3 solo la función afectada f.

Para un control detallado sobre el uso de visibilidad de opciones en línea luacheck: empuje y luacheck:
Deliciosos directivas:

- luacheck: empujar ignorar foo
foo (): sin advertencia.
- luacheck: pop
foo (): se emite una advertencia.

Las opciones en línea se pueden deshabilitar completamente usando --no en línea Opción CLI o en línea config
.

LUACHECK MÓDULO


Use local luacheck = exigir "luacheck" para importar luacheck módulo. Contiene el
siguientes funciones:

· luacheck.get_report (fuente): Dada la cadena de origen, devuelve datos de análisis (una tabla).

· luacheck.process_reports (informes, opciones): Procesa una variedad de informes de análisis y
aplica opciones. informes [i] usos opciones, opciones [i], opciones [i] [1], opciones [i] [2]...
como opciones, reemplazándose entre sí en ese orden. La tabla de opciones es una tabla con campos
similar a las opciones de configuración; ver opciones. Informes de análisis con campo fatal se ignoran
informes_del_proceso devuelve el informe final, ver Informes formato.

· luacheck.check_strings (fuentes, opciones): Comprueba la variedad de fuentes usando opciones, devuelve
reporte final. Tablas con campo fatal within fuentes La matriz se ignora.

· luacheck.check_files (archivos, opciones): Comprueba la matriz de archivos usando opciones, devuelve final
reporte. Se pueden pasar identificadores de archivos abiertos en lugar de nombres de archivos, en cuyo caso serán
leer hasta EOF y cerrar.

· luacheck.get_message (problema): Devuelve un mensaje de cadena para un problema, consulte Informes formato.

luacheck._VERSIÓN contiene la versión de Luacheck como una cadena en PARCHE.MINOR.PRINCIPAL formato.

Usando luacheck como función es equivalente a llamar luacheck.check_files.

Informes formato
Un informe final es una serie de informes de archivos más campos advertencias, errores y fatales
que contiene el número total de advertencias, errores y errores fatales, correspondientemente.

Un informe de archivo es una serie de problemas (advertencias o errores). Si ocurre un error fatal mientras
comprobando un archivo, su informe tendrá fatal campo que contiene el tipo de error.

Un problema es una tabla con campo código indicando su tipo (ver advertencias) y campos línea,
visión de conjunto y columna_final señalando la fuente de la advertencia. nombre el campo puede contener nombre
de relacionar variable. Los problemas de algunos tipos también pueden tener campos adicionales:

┌──────┬─────────────────────────────────┐
│Códigos │ Campos adicionales │
├──────┼─────────────────────────────────┤
│011 │ MSG el campo contiene un error de sintaxis │
│ │ mensaje. │
├──────┼─────────────────────────────────┤
│111 │ módulo campo indica que │
│ │ la asignación es para un no módulo │
│ │ variable global. │
├──────┼─────────────────────────────────┤
│211 │ divertida campo indica que sin usar │
│ │ variable es una función. │
├──────┼─────────────────────────────────┤
│4 .. │ línea_anterior y columna_previa campos │
│ │ contiene la ubicación del │
│ │ definición sobrescrita. │
└──────┴─────────────────────────────────┘

Otros campos pueden estar presentes por razones internas.

Esta es la documentación para la versión 0.13.0 de Luacheck, un linter para Lua.

Use luacheck en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad




×
Anuncio
❤ ️Compre, reserve o adquiera aquí: sin costo, ayuda a mantener los servicios gratuitos.