LuaLS / LuaLS/lua-language-server

How to apply different libraries to different files?

Open
#2,157 12 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
Lua
Stars
4.4k
Forks
442
PR merge metrics
No merged PRs in 30d

Description

### How are you using the lua-language-server?

Visual Studio Code Extension (sumneko.lua)

### Which OS are you using?

MacOS

### What is the issue affecting?

Libraries

### Expected Behaviour

Same variables refer to different definitions, depending on file

### Actual Behaviour

Same variables do not refer to different definitions, depending on file

### Reproduction steps

Create several libraries with different definitions for some global

### Additional Notes

Hi!

This is a question and not a bug report. Imagine, that I have several lua files with global variable named SomeVar:

file1.lua
```
print(SomeVar.X)
```

file2.lua
```
print(SomeVar.Y)
```

and there are two different files with annotations:
addon1/library/annotations1.lua
```
---@class TSomeVar1
---@field X integer
SomeVar = {}
```

addon2/library/annotations2.lua
```
---@class TSomeVar2
---@field Y integer
SomeVar = {}
```

Is there any way to specify that for file "file1.lua" first library should be used, and for "file2.lua" second library should be used?
I think that similar question was referred in this issue https://github.com/LuaLS/lua-language-server/issues/119
But I cannot run many language servers, because number of files can grow very large

### Log File

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reading the related issue #119 and comparing its discussion with the examples in file1.lua, file2.lua, addon1/library/annotations1.lua, and addon2/library/annotations2.lua. Determine whether the language server supports selecting different libraries per file and identify the configuration or implementation area involved. Done means the per-file behavior is either supported and documented or its limitation is clearly explained.

Written by the indexing model from the issue text.

Assessment

Tech stack
lua
Domain
devtools
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.