LuaLS / LuaLS/lua-language-server

How to make a third-party member function as deprecated

Abierto
#2,784 11 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

enhancement
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?

Windows

### What is the issue affecting?

Diagnostics/Syntax Checking

### Expected Behaviour

```lua
---@deprecated
M.add = M.add
```
The left one should have marked as deprecated immediately when used such as ~u:add~

### Actual Behaviour

1. it not works first.
![QQ_1722841266627](https://github.com/user-attachments/assets/6d27266b-1c94-4210-9b11-b42051fefe3b)
2. and works unexpectedly.
![QQ_1722841307997](https://github.com/user-attachments/assets/e082f762-4d47-472b-9337-a4fdea7c2a94)

### Reproduction steps

1. Write the code
```lua
-- File A

---@class A
local A = {}

---@param attr string
function A.add(attr)
end

-- File B

---@class A
local B = A

---@deprecated
B.add = A.add

B.add('some attr')
```
We'll find that B.add havn't marked as deprecated
2. Keep write the followed
```lua
-- File C

---@class A
---@field add fun(attr: string)
local C = A
```

### Additional Notes

My original intention was to mark a third-party member function as deprecated.
As there was no straightforward way, I think, to do it, I had to use a lot of tricks, which led to more subsequent problems.

### Log File

_No response_

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la reproducción de File A, File B y File C del issue, centrándote en cómo el diagnóstico marca B.add después de la asignación obsoleta. Ejecuta la reproducción en la extensión de Visual Studio Code y compara los diagnósticos observados con la advertencia de obsolescencia esperada para B.add.

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
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.