LuaLS / LuaLS/lua-language-server
Alias doesn't handle `#` character in string
Dieses Issue hat noch niemand übernommen.
- 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?
NeoVim
Which OS are you using?
Linux
What is the issue affecting?
Diagnostics/Syntax Checking
Expected Behaviour
Enum members can contain # character
Actual Behaviour
The LSP diagnostic reports an error on using it
Reproduction steps
- Create an enum alias with members containing
#
Given the following alias
---| "/vfx#impact_fx_creator"
---| "/sfx"
---| "/player#player_upgrader"
---| "/cauli"
---| "/game_over_ui"
---| "/in_game_ui"
- Notice that the type check considers the right-hand of
#as a comment even though it's in the string
---@type component_url
local d = "/vfx#impact_fx_creator"
- See error
Diagnostics:
1. Cannot assign `string` to parameter `"/cauli"|"/game_over_ui"|"/in_game_ui"|"/player#"|"/sfx"...(+1)`.
- `string` cannot match `"/cauli"|"/game_over_ui"|"/in_game_ui"|"/player#"|"/sfx"...(+1)`
Additional Notes
No response
Log File
No response
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
Beginne damit, das Enum-Alias-Beispiel aus dem Issue im Lua language server mit dem gemeldeten NeoVim-Setup zu reproduzieren, und konzentriere dich darauf, wie # während der Diagnostik innerhalb von Mitgliedern in Anführungszeichen geparst wird. Als erledigt gilt es, wenn die vollständigen Strings, die # enthalten, Enum-Mitglieder bleiben und die gezeigte Zuweisung nicht mehr den gemeldeten Type-Check-Fehler erzeugt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- lua
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100