LuaLS / LuaLS/lua-language-server
Unexpected `textDocument/references` results on keys inside nested tables
Nessuno ha ancora preso questa issue.
- Lingua principale
- Lua
- Stelle
- 4.4k
- Fork
- 442
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
**Describe the bug**
`textDocument/references` is returning unexpected results when used in a specific situation (more about that below).
**To Reproduce**
1. Paste the following snippet in a lua file
```lua
ENUM = {
VALUE1 = 1,
VALUE2 = 2,
}
a = {
{ type = ENUM.VALUE1 },
{ type = ENUM.VALUE1 },
{ type = ENUM.VALUE2 },
}
```
2. Move cursor over the 1st instance of `"type"` key in the `a` table
3. Request references (`textDocument/references`)
4. Observe the faulty results which comprise of the hovered `"type"` key + both instances of `"VALUE1"`
**Expected behavior**
Results that comprise of all 3 instances of `"type"` key
**Additional context**
`textDocument/rename` on the other hand only renames the hovered `"type"` key while expected to rename all 3 of its instances
**Environment**
- OS: Linux
- Client: Neovim
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci il problema in un file Lua usando l’esempio mostrato di tabella annidata e richiedi textDocument/references sulla prima chiave di tipo. Confronta le posizioni restituite con il comportamento di textDocument/rename; il lavoro è concluso quando i riferimenti includono tutte e tre le chiavi di tipo senza includere VALUE1 o VALUE2.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- lua, neovim
- Ambito
- devtools
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100