lua-language-server icon indicating copy to clipboard operation
lua-language-server copied to clipboard

[Enhancement] Create cache in a user directory

Open itaranto opened this issue 1 year ago • 1 comments

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

  1. Download lua-language-server-3.9.1-linux-x64.tar.gz and extract it to /opt/lua-language-server/
  2. Make sure the owner of /opt/lua-language-server/ is root:root.
  3. Execute /opt/lua-language-server/bin/lua-language-server --help
  4. 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

itaranto avatar May 23 '24 13:05 itaranto

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'},
}

detrohutt avatar Mar 08 '25 21:03 detrohutt