From 0cac07773817274d8de8d6df8b10edb691c5580e Mon Sep 17 00:00:00 2001 From: Muntasir Mahmud Date: Tue, 22 Apr 2025 13:25:37 +0600 Subject: feat(mdx_analyzer): add vim.lsp.config support (#3757) --- lsp/mdx_analyzer.lua | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 lsp/mdx_analyzer.lua diff --git a/lsp/mdx_analyzer.lua b/lsp/mdx_analyzer.lua new file mode 100644 index 00000000..36b84239 --- /dev/null +++ b/lsp/mdx_analyzer.lua @@ -0,0 +1,25 @@ +local function get_typescript_server_path(root_dir) + local project_root = vim.fs.dirname(vim.fs.find('node_modules', { path = root_dir, upward = true })[1]) + return project_root and vim.fs.joinpath(project_root, 'node_modules', 'typescript', 'lib') or '' +end + +---@brief +---https://github.com/mdx-js/mdx-analyzer +--- +---`mdx-analyzer`, a language server for MDX + +return { + cmd = { 'mdx-language-server', '--stdio' }, + filetypes = { 'mdx' }, + root_markers = { 'package.json' }, + single_file_support = true, + settings = {}, + init_options = { + typescript = {}, + }, + before_init = function(_, config) + if config.init_options and config.init_options.typescript and not config.init_options.typescript.tsdk then + config.init_options.typescript.tsdk = get_typescript_server_path(config.root_dir) + end + end, +} -- cgit v1.2.3-70-g09d2