LuaLS / LuaLS/lua-language-server

How to make a third-party member function as deprecated

Offen
#2,784 11 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement
Vorherrschende Sprache
Lua
Sterne
4.4k
Forks
442
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Reproduktion mit File A, File B und File C aus dem Issue und konzentriere dich darauf, wie die Diagnose B.add nach der veralteten Zuweisung markiert. Führe die Reproduktion in der Visual Studio Code-Erweiterung aus und vergleiche die beobachteten Diagnosen mit der erwarteten Deprecation-Warnung für B.add.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
lua
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.