aboutsummaryrefslogtreecommitdiffstats
path: root/lsp/glint.lua
diff options
context:
space:
mode:
authorJulian Visser <12615757+justmejulian@users.noreply.github.com>2025-06-17 16:12:45 +0200
committerGitHub <noreply@github.com>2025-06-17 07:12:45 -0700
commit95a5ded01e67deb6670f0ac5a0fa143dc392e9da (patch)
tree20d126e245478a260a0eb21c8026783ab94fa662 /lsp/glint.lua
parentdocs: update configs.md (diff)
downloadnvim-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.lua31
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',