VS Code variable resolution in @source annotations/relativity of paths
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 55/100
Direção de pesquisa
Reproduza o exemplo com .vscode/luals/library/foo.d.lua, baz.lua e a configuração workspace.userThirdParty. Comece rastreando como os caminhos @source são resolvidos e como as variáveis do VS Code são expandidas; em seguida, verifique o comportamento dos caminhos relativos e a substituição de variáveis em relação ao destino esperado de Go to Definition. Documente a relatividade de caminho escolhida caso ela permaneça inalterada.
Escrita pelo modelo de indexação a partir do texto da issue.
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
Intuitively, I expected:
---@sourceannotations in meta files with relative paths to be resolved relative to the workspace- VS Code variables in the
@sourcepath to be resolved when resolving a path
Actual Behaviour
@sourcepaths are resolved relative to the meta file itself- VS Code variables in the path are not resolved
Reproduction steps
- Create
.vscode/luals/library/foo.d.luawith:---@meta --- @class foo _G.foo = {} ---@source grault/foo.lua:1 function bar() end - Create
baz.luawith:require("foo") local quux = foo.bar() - In extension settings, set:
{ "Lua.workspace.userThirdParty": ["${fileWorkspaceFolder}/LuaLS"] }
[!NOTE]
The variable ${fileWorkspaceFolder} resolves correctly and adds the meta file to the list of search paths
- Open
baz.luain VS Code editor - Right click
bar - Select
Go to Definition - Observe:
VS Code opens a non-existent source file tab to.vscode/luals/library/grault/foo.lua
Additional Notes
This could be two separate issues, but they're tightly related -- one as a Documentation Issue that the relativity of the resolution of the path should be added to the docs, and two as a Bug/Feature Request that VS Code variables be resolved in the @source paths as they are in the settings
Attempting to work around this using VS Code variables has the variable unresolved and taken literally. For example, setting the @source path to /${fileWorkspaceFolder}/grault/foo.lua:1 causes VS Code to open a tab to that literal string instead of the expected /home/me/my_project/grault/foo.lua:1
Log File
No response
- Linguagem predominante
- Lua
- Estrelas
- 4.4k
- Forks
- 442
- Merge médio
- 8d 9h
- PRs com merge (30d)
- 1
Preparar o ambiente
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de LuaLS/lua-language-server
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
LuaLS/lua-language-server#1776 ·
-
泛型for迭代器的类型推导漏掉了带__call的类Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
LuaLS/lua-language-server#3463 · 5 comentários ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
LuaLS/lua-language-server#3461 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
LuaLS/lua-language-server#3460 · 1 comentário · 1 reação ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
LuaLS/lua-language-server#3459 · 1 reação ·
Todas as issues de LuaLS/lua-language-server
Issues semelhantes
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
Add c++23 mapping to nvccAbertafeature request
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 86/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 95/100
-
Bug Feature Request Forever Module - Townsfolk Needs testing/reproduction
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
bug triage/pending
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia