aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-01-09 16:32:37 +0100
committerWilliam Boman <william@redwill.se>2022-01-09 16:32:37 +0100
commit516320a43bfaab9cea5140fcbb3d3620060877c4 (patch)
treeeea820d80dbaa20dd2b180f09743c94fb0fe503e /lua/nvim-lsp-installer
parentui: map keybind to update all outdated servers (#407) (diff)
downloadmason-516320a43bfaab9cea5140fcbb3d3620060877c4.tar
mason-516320a43bfaab9cea5140fcbb3d3620060877c4.tar.gz
mason-516320a43bfaab9cea5140fcbb3d3620060877c4.tar.bz2
mason-516320a43bfaab9cea5140fcbb3d3620060877c4.tar.lz
mason-516320a43bfaab9cea5140fcbb3d3620060877c4.tar.xz
mason-516320a43bfaab9cea5140fcbb3d3620060877c4.tar.zst
mason-516320a43bfaab9cea5140fcbb3d3620060877c4.zip
fix(jdtls): redefine cmd in on_new_config
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