LuaLS / LuaLS/lua-language-server

How to make a third-party member function as deprecated

Aberta
#2,784 11 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

enhancement
Linguagem predominante
Lua
Estrelas
4.4k
Forks
442
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

### 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_

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece com a reprodução de File A, File B e File C do issue, concentrando-se em como o diagnóstico marca B.add após a atribuição obsoleta. Execute a reprodução na extensão do Visual Studio Code e compare os diagnósticos observados com o aviso de obsolescência esperado para B.add.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
lua
Domínio
devtools
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.