aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/server_configurations/mdx_analyzer.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lspconfig/server_configurations/mdx_analyzer.lua')
-rw-r--r--lua/lspconfig/server_configurations/mdx_analyzer.lua13
1 files changed, 13 insertions, 0 deletions
diff --git a/lua/lspconfig/server_configurations/mdx_analyzer.lua b/lua/lspconfig/server_configurations/mdx_analyzer.lua
index d41ba84e..1dfbcb5a 100644
--- a/lua/lspconfig/server_configurations/mdx_analyzer.lua
+++ b/lua/lspconfig/server_configurations/mdx_analyzer.lua
@@ -1,5 +1,10 @@
local util = require 'lspconfig.util'
+local function get_typescript_server_path(root_dir)
+ local project_root = util.find_node_modules_ancestor(root_dir)
+ return project_root and (util.path.join(project_root, 'node_modules', 'typescript', 'lib')) or ''
+end
+
return {
default_config = {
cmd = { 'mdx-language-server', '--stdio' },
@@ -7,6 +12,14 @@ return {
root_dir = util.root_pattern 'package.json',
single_file_support = true,
settings = {},
+ init_options = {
+ typescript = {},
+ },
+ on_new_config = function(new_config, new_root_dir)
+ if vim.tbl_get(new_config.init_options, 'typescript') and not new_config.init_options.typescript.tsdk then
+ new_config.init_options.typescript.tsdk = get_typescript_server_path(new_root_dir)
+ end
+ end,
},
commands = {},
docs = {