LuaLS / LuaLS/lua-language-server
How to override a meta file definition?
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Lua
- Sterne
- 4.4k
- Forks
- 442
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
I am using a 3rd party library for neovim runtime (neodev) which defines types for the global variables. There's a table which it generally annotates as:
---@meta
---@type table<integer, table<string, any>>
vim.b = {}
Is there way I can override this definition in my project scope as shown below?
---@meta
---@type table<integer, {autoformat?: boolean}>
vim.b = {}
The problem that I have currently is that the LSP infers vim.b[0].autoformat as any because the definitions annotate it as any|boolean.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere das im Issue gezeigte Beispiel mit neodevs globaler vim.b-Definition und der @meta-Deklaration auf Projektebene. Beginne damit nachzuverfolgen, wie LuaLS konkurrierende @meta- und @type-Deklarationen auflöst, und bestimme anschließend, was ein unterstütztes Überschreibverhalten bedeuten würde; das Issue ist abgeschlossen, wenn das Verhalten implementiert oder mit einem gezielten Validierungsfall eindeutig dokumentiert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- lua
- Bereich
- devtools
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100