From 06f4b6fe25fd53413933bc0b3d33929a1ea9db2b Mon Sep 17 00:00:00 2001 From: w0rp Date: Fri, 21 Mar 2025 12:07:10 +0000 Subject: [PATCH] Detect the Lua project root using .luarc.json --- autoload/ale/lua.vim | 1 + test/linter/test_lua_language_server.vader | 5 +++++ test/lua/.luarc.json | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 test/lua/.luarc.json diff --git a/autoload/ale/lua.vim b/autoload/ale/lua.vim index cda81aac..f4a5d05c 100644 --- a/autoload/ale/lua.vim +++ b/autoload/ale/lua.vim @@ -4,6 +4,7 @@ " Find project root for a Lua language server. function! ale#lua#FindProjectRoot(buffer) abort let l:possible_project_roots = [ + \ '.luarc.json', \ '.git', \ bufname(a:buffer), \] diff --git a/test/linter/test_lua_language_server.vader b/test/linter/test_lua_language_server.vader index c4529835..f6abd364 100644 --- a/test/linter/test_lua_language_server.vader +++ b/test/linter/test_lua_language_server.vader @@ -14,3 +14,8 @@ Execute(lua-language-server should be configurable): AssertLinter 'billy', ale#Escape('billy') AssertLSPConfig {'x': 'y'} + +Execute(lua-language-server should detect the project root using .luarc.json): + call ale#test#SetFilename('../lua/dummy.lua') + + AssertLSPProject ale#path#Simplify(g:dir . '/../lua') diff --git a/test/lua/.luarc.json b/test/lua/.luarc.json new file mode 100644 index 00000000..98766310 --- /dev/null +++ b/test/lua/.luarc.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/setting/schema.json", + "diagnostics.globals": [ + "vim", + "describe", + "it", + "before_each", + "after_each", + "setup", + "teardown", + "pending", + "assert" + ], + "workspace.library": [ + "../../lua" + ], + "runtime.version": "LuaJIT", + "hint.enable": false +}