LuaLS / LuaLS/lua-language-server

Support specifying globals inside Lua files

Offen
#1,464 8 Kommentare 9 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

Currently, when using this language server, you get warnings for global variables:

if someGlobalVariable then -- Undefined global `someGlobalVariable `. Lua Diagnostics.(undefined-global)
  print("wow!")
end

The way to squelch them is to add the globals to the VSCode settings. But this is too much of a sledgehammer, as we might only want the globals to be enabled in this specific file. Thus, we should also add a feature so that end-users can specify the globals in-line:

-- We specify a list of globals at the top of the file.
-- @global someGlobalVariable 

someCode()

if someGlobalVariable then -- No warning.
  print("wow!")
end

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 damit, die Behandlung der Diagnose für undefinierte globale Variablen und die vorhandene VSCode-Einstellung für globale Variablen im Language Server zu lokalisieren. Verfolge, wie Lua-Kommentare geparst werden, und definiere und teste anschließend die Inline-Syntax @global, sodass die benannte globale Variable nur in dieser Datei akzeptiert wird, ohne die projektweiten Einstellungen zu ändern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
lua
Bereich
devtools
Issue-Typ
Feature
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.