LuaLS / LuaLS/lua-language-server
Better global
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
I'm going to do some work for global variable distinguishing environments.
At present, my idea is as follows:
---@global global -- the table will be merged into current globals. the second `global` can be omitted
local t = {
X = 1,
Y = 2,
Z = 3,
}
print(X) -- `X` is `t.X`
---@global module1, module2 -- the table will be merged into environment `module1` and `module2`
local t = {
X = 1,
Y = 2,
Z = 3,
}
print(X) -- `x` is undefined
---@environment module1, global -- set the current environment can visit `module1` and `global`
print(X) -- `X` is `t.X`
---@environment module1
print(X) -- `X` is `t.X` and `print` is undefined
EDIT:
---@partial class _G -- the table will be merged into class `_G`. the default environment is class `_G`
local t = {
X = 1,
Y = 2,
Z = 3,
}
print(X) -- `X` is `t.X`
---@class module1
local t = {
X = 1,
Y = 2,
Z = 3,
}
print(X) -- `x` is undefined
---@environment module1, _G -- set the current environment can visit class `module1` and `_G`
print(X) -- `X` is `t.X`
---@environment module1
print(X) -- `X` is `t.X` and `print` is undefined
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
El issue propone nuevas anotaciones @global, @partial, @class y @environment para distinguir los entornos de Lua, pero no indica archivos, pruebas ni puntos de entrada. Empieza por aclarar el entorno previsto y la semántica de combinación; después, localiza las implementaciones de las anotaciones y de la resolución de globales. Se considera terminado cuando los ejemplos propuestos resuelvan los globales como se describe y exista cobertura para las distintas combinaciones de entornos.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- lua
- Área
- devtools
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100