LuaLS / LuaLS/lua-language-server

`module()` function isn't respected by the language server

Aberta
#2,901 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
Lua
Estrelas
4.4k
Forks
442
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

How are you using the lua-language-server?

Visual Studio Code Extension (sumneko.lua)

Which OS are you using?

Linux

What is the issue affecting?

Diagnostics/Syntax Checking

Expected Behaviour

When module() is used in a script, functions defined "globally", like so:

module("MyExampleModule")

function HelloWorld() end

Are understood by the language server to belong to the table at _G.MyExampleModule

Actual Behaviour

Using the above example, the language server incorrectly believes HelloWorld() is at _G.HelloWorld() as opposed to _G.MyExampleModule.HelloWorld()

Reproduction steps
  1. Copy the above example into a file
  2. Create another file in the same workspace
  3. Type "Hello"
  4. Observe that the autocomplete suggests the function _G.HelloWorld(), which does not exist
Additional Notes

This cannot be worked around with setfenv()

Log File

N/A

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Reproduza o problema na extensão do Visual Studio Code usando o exemplo com dois arquivos e a etapa de autocompletar descrita. Rastreie como module("MyExampleModule") é tratado durante os diagnósticos e o autocompletar e, em seguida, verifique se HelloWorld é sugerido em _G.MyExampleModule, em vez de _G.HelloWorld.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
lua
Domínio
devtools
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Claramente especificada
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.