lua-language-server
lua-language-server copied to clipboard
[Enhancement] Create cache in a user directory
How are you using the lua-language-server?
NeoVim
Which OS are you using?
Linux
What is the issue affecting?
Other
Expected Behaviour
lua-language-server should create the cache directory on the user's home directory. On Linux this should be in ~/.cache/lua-language-server/ ideally.
Actual Behaviour
lua-language-server fails to start because it attempts to create the cache directory in a system directory which a regular user doesn't have permissions to write to.
Reproduction steps
- Download
lua-language-server-3.9.1-linux-x64.tar.gzand extract it to/opt/lua-language-server/ - Make sure the owner of
/opt/lua-language-server/isroot:root. - Execute
/opt/lua-language-server/bin/lua-language-server --help - See error:
lua-language-server: create_directories: "/opt/lua-language-server/log/cache/40815": (generic:13)Permission denied
Additional Notes
No response
Log File
No response
As a workaround this can be addressed by setting the logpath command line option to a location the user has access to. In my case (setting up neovim on Windows) I was able to get it working by adding the option to the cmd array in the lsp configuration file.
-- ./nvim/lsp/luals.lua
return {
cmd = {'lua-language-server', '--logpath=C:/Users/aj_ro/AppData/Local/Temp/luals'},
filetypes = {'lua'},
root_markers = {'.luarc.json', '.luarc.jsonc'},
}