LuaLS / LuaLS/lua-language-server
Global in one file affects diagnostics in another
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?
Visual Studio Code Extension (sumneko.lua)
Which OS are you using?
Windows
What is the issue affecting?
Diagnostics/Syntax Checking
Expected Behaviour
If I have 1.lua:
function Main()
foobar = 1
end
and 2.lua:
function Main()
print(foobar)
end
in the same workspace/directory.
I would expect 2.lua to show foobar as undefined (unless I explicitly require 1.lua)
Actual Behaviour
No error is shown.
Additional Notes
This might be a pecularity of how I'm using lua (each file defines a separate plugin) but I would be surprised if this is an uncommon usage pattern. At the very least there should be a way to configure the behaviour.
Also - I'd be curious to understand the thinking behind the existing behaviour?
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 Beispiel in der Visual Studio Code extension mit 1.lua und 2.lua im selben Workspace und verfolge anschließend, wie der language server Globals zwischen Dateien teilt. Ermittle, wie sich die explizite Verwendung von require auf Diagnosen auswirken sollte und ob eine Konfigurationsoption erforderlich ist. Fertig ist die Aufgabe, wenn 2.lua foobar als undefiniert meldet, sofern 1.lua nicht explizit required wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- lua, vscode
- Bereich
- devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 30/100