The PR reworks path handling by using a paths child struct on the LanguageServer. vpaths will be set up during the language server setup process and become easily accessible throughout the session.
This helps to remove things like calling the compiler_path() function and calculating the vexe path on e.g. every request to a tool (like formatting on save). The same goes for repetitive calls of vmodules_root() and vlib_root(). Instead, the paths are just available via ls.paths.vexels.paths.vlib_rootls.paths.vmodules_root.
The PR reworks path handling by using a
paths
child struct on theLanguageServer
. vpaths will be set up during the language server setup process and become easily accessible throughout the session.This helps to remove things like calling the
compiler_path()
function and calculating the vexe path on e.g. every request to a tool (like formatting on save). The same goes for repetitive calls ofvmodules_root()
andvlib_root()
. Instead, the paths are just available vials.paths.vexe
ls.paths.vlib_root
ls.paths.vmodules_root
.