LuaLS / LuaLS/lua-language-server
Error "Undefined field" on _G if global is declared by Lua.diagnostics.globals
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Lua
- Estrellas
- 4.4k
- Forks
- 442
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
How are you using the lua-language-server?
Visual Studio Code Extension (sumneko.lua)
Which OS are you using?
Linux
What is the issue affecting?
Diagnostics/Syntax Checking
Expected Behaviour
local extract0 = bit32 and bit32.extract -- Lua 5.2/Lua 5.3 in compatibility mode
local extract = _G.bit32 and _G.bit32.extract -- Lua 5.2/Lua 5.3 in compatibility mode
Expected: No error
Actual Behaviour
Error on 2nd line:
(global) _G.bit32: unknown
Undefined fieldbit32.Lua Diagnostics.(undefined-field)
Reproduction steps
- Add 'bit32' to globals;
- Errors on 1st line disappeared; but errors on 2nd line persists.
Additional Notes
sumneko.lua-3.6.18-linux-x64
Real global variables does not trigger errors. Only Lua.diagnostics.globals items lead to errors.
Additional question: how to mute errors for this pattern?
if _G.bit then -- LuaJIT
local shl, shr, band = _G.bit.lshift, _G.bit.rshift, _G.bit.band
...
end
@diagnostic disable: mute too much, but @diagnostic disable-line: mute too little.
Log File
No response
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Reproduce el problema de diagnóstico en la extensión de Visual Studio Code usando Lua.diagnostics.globals con bit32, comparando el acceso directo con el acceso mediante _G.bit32. Rastrea el procesamiento de diagnósticos para los globals configurados; el trabajo está terminado cuando _G.bit32 ya no informa de un campo indefinido, mientras que los diagnósticos de campos indefinidos no relacionados y el comportamiento de supresión a nivel de línea permanecen intactos.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- lua
- Área
- devtools
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100