LuaLS / LuaLS/lua-language-server

Not loading .luarc.json when using vscode or vim-lsp

Open
#2,185 3 comments 0 reactions 0 assignees View on GitHub
Info Needed
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?

Windows

### What is the issue affecting?

Diagnostics/Syntax Checking

### Expected Behaviour

When I add a `.luarc.json` file next to my vscode `.code-workspace` file, the values from my `.luarc.json` can control the configuration of lua-ls.

### Actual Behaviour

The `.luarc.json` file is ignored in both vscode (v1.79.2) and gvim (9.0.1626).

### Reproduction steps

1. Create a `.luarc.json` and disable lowercase-global
2. Open a file with a lowercase global in vscode or gvim
3. See error `[sumneko-lua-language-server] Lua Diagnostics.:Information:lowercase-global:Global variable in lowercase initial.`

Following the format in the project's [`.luarc.json` file](https://github.com/LuaLS/lua-language-server/blob/master/.luarc.json) and the instructions on [the wiki](https://github.com/LuaLS/lua-language-server/wiki/Configuration-File#luarcjson). (Possibly those instructions aren't clear enough and there's something I'm setting up incorrectly.)

### Additional Notes

Here's the contents of my entire repro project (`find . -type f -exec head -n10000 {} +`):

```
==> ./data/.luarc.json <==
{
"$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json",
"diagnostics": {
"disable": [
"lowercase-global"
]
},
"runtime": {
"version": "Lua 5.4",
"path": [
"script/?.lua",
"script/?/init.lua",
"test/?.lua",
"test/?/init.lua",
"script/meta/?.lua"
],
"pathStrict": true
}
}

==> ./data/proj.code-workspace <==
{
"folders": [
{
"path": "scripts"
}
],
"settings": {
"debug.allowBreakpointsEverywhere": true
},
"extensions": {
"recommendations": [
"dwenegar.vscode-luacheck",
"sumneko.lua"
]
},
}

==> ./data/scripts/file.lua <==
okayglobal = 10

print(okayglobal)
```

### Log File

Log file from using gvim with prabirshrestha/vim-lsp and mattn/vim-lsp-settings:
~[file_C_code_project_data_scripts.log](https://github.com/LuaLS/lua-language-server/files/11886742/file_C_code_project_data_scripts.log)~ oops, from changelog.md, it looks like that gvim lua-ls version is 1.8.1.

Updated lsp (`:LspInstallServer sumneko-lua-language-server`) and changelog.md now says 3.0.0. Here's the log for that: [file_C_code_project_data_scripts.log](https://github.com/LuaLS/lua-language-server/files/11886953/file_C_code_project_data_scripts.log)

I tried to get the vscode log, but there was no log folder in `%homepath%\.vscode\extensions\sumneko.lua-3.2.3\server` and there were no other sumneko or lua-ls folders in `extensions/`. My vscode lua-ls version is v3.6.22.

Contributor guide

Open the contributing guide

Research direction

Reproduce the report with the supplied data/.luarc.json, data/proj.code-workspace, and data/scripts/file.lua setup in VS Code or gvim. Check whether the workspace-adjacent configuration is discovered and applied to Lua diagnostics; done means disabling lowercase-global suppresses the reported diagnostic in the stated client setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
lua, vscode
Domain
devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.