aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer
diff options
context:
space:
mode:
Diffstat (limited to 'lua/nvim-lsp-installer')
-rw-r--r--lua/nvim-lsp-installer/servers/jdtls/init.lua8
1 files changed, 8 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/servers/jdtls/init.lua b/lua/nvim-lsp-installer/servers/jdtls/init.lua
index 597ca9e1..b8094c08 100644
--- a/lua/nvim-lsp-installer/servers/jdtls/init.lua
+++ b/lua/nvim-lsp-installer/servers/jdtls/init.lua
@@ -87,6 +87,14 @@ return function(name, root_dir)
},
default_options = {
cmd = get_cmd(vim.env.WORKSPACE and vim.env.WORKSPACE or path.concat { vim.env.HOME, "workspace" }),
+ on_new_config = function(config)
+ -- We redefine the cmd in on_new_config because `cmd` will be invalid if the user has not installed
+ -- jdtls when starting the session (due to vim.fn.expand returning an empty string, because it can't
+ -- locate the file).
+ config.cmd = get_cmd(
+ vim.env.WORKSPACE and vim.env.WORKSPACE or path.concat { vim.env.HOME, "workspace" }
+ )
+ end,
},
}
end