diff options
| author | Julian Visser <12615757+justmejulian@users.noreply.github.com> | 2025-06-17 16:12:45 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-17 07:12:45 -0700 |
| commit | 95a5ded01e67deb6670f0ac5a0fa143dc392e9da (patch) | |
| tree | 20d126e245478a260a0eb21c8026783ab94fa662 /lsp/glint.lua | |
| parent | docs: update configs.md (diff) | |
| download | nvim-lspconfig-95a5ded01e67deb6670f0ac5a0fa143dc392e9da.tar nvim-lspconfig-95a5ded01e67deb6670f0ac5a0fa143dc392e9da.tar.gz nvim-lspconfig-95a5ded01e67deb6670f0ac5a0fa143dc392e9da.tar.bz2 nvim-lspconfig-95a5ded01e67deb6670f0ac5a0fa143dc392e9da.tar.lz nvim-lspconfig-95a5ded01e67deb6670f0ac5a0fa143dc392e9da.tar.xz nvim-lspconfig-95a5ded01e67deb6670f0ac5a0fa143dc392e9da.tar.zst nvim-lspconfig-95a5ded01e67deb6670f0ac5a0fa143dc392e9da.zip | |
fix(glint): dynamic cmd #3912
Diffstat (limited to 'lsp/glint.lua')
| -rw-r--r-- | lsp/glint.lua | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/lsp/glint.lua b/lsp/glint.lua index 4a278ab4..d4a745c4 100644 --- a/lsp/glint.lua +++ b/lsp/glint.lua @@ -22,27 +22,28 @@ --- }, --- }) +function get_cmd() + local useGlobal = vim.lsp.config.glint.init_options.glint.useGlobal + if useGlobal then + return { 'glint-language-server' } + end + + local root_markers = vim.lsp.config.glint.root_markers + local root_dir = vim.fs.root(0, root_markers) + + return { root_dir .. '/node_modules/.bin/glint-language-server' } +end + return { - cmd = { 'glint-language-server' }, + cmd = function(dispatchers) + local cmd = get_cmd() + return vim.lsp.rpc.start(cmd, dispatchers) + end, init_options = { glint = { useGlobal = false, }, }, - before_init = function(_, config) - if config.init_options.glint.useGlobal then - return - end - - local root_dir = config.root_dir - if not root_dir then - error('No root directory found for glint') - end - config.cmd = { - 'exec', - root_dir .. '/node_modules/.bin/glint-language-server', - } - end, filetypes = { 'html.handlebars', 'handlebars', |
