aboutsummaryrefslogtreecommitdiffstats
path: root/lsp/docker_language_server.lua
diff options
context:
space:
mode:
authorMichael Martin <flrgh@protonmail.com>2025-08-08 14:40:23 -0700
committerGitHub <noreply@github.com>2025-08-08 14:40:23 -0700
commit6947d64ed77e30180c6bdeb41d8ce8d6fa47a808 (patch)
tree50ee3b2c3d9ccef5a140d64b22aa144bc9172e97 /lsp/docker_language_server.lua
parentdocs: update configs.md (diff)
downloadnvim-lspconfig-6947d64ed77e30180c6bdeb41d8ce8d6fa47a808.tar
nvim-lspconfig-6947d64ed77e30180c6bdeb41d8ce8d6fa47a808.tar.gz
nvim-lspconfig-6947d64ed77e30180c6bdeb41d8ce8d6fa47a808.tar.bz2
nvim-lspconfig-6947d64ed77e30180c6bdeb41d8ce8d6fa47a808.tar.lz
nvim-lspconfig-6947d64ed77e30180c6bdeb41d8ce8d6fa47a808.tar.xz
nvim-lspconfig-6947d64ed77e30180c6bdeb41d8ce8d6fa47a808.tar.zst
nvim-lspconfig-6947d64ed77e30180c6bdeb41d8ce8d6fa47a808.zip
fix(docker_language_server): set language id for compose files #3990
This adds a `get_language_id()` handler to the docker language server config to correctly set the language ID to `dockercompose` as expected by the server. Before this change, the nvim filetype of `yaml.docker-compose` was passed to the server as the language ID, resulting in in a docker compose file being misinterpreted as a Dockerfile. See also: e3d837b938bd1d7e84c3eb0362b6761e4d5dc15d / #3982
Diffstat (limited to 'lsp/docker_language_server.lua')
-rw-r--r--lsp/docker_language_server.lua7
1 files changed, 7 insertions, 0 deletions
diff --git a/lsp/docker_language_server.lua b/lsp/docker_language_server.lua
index 76236ffa..38f74f67 100644
--- a/lsp/docker_language_server.lua
+++ b/lsp/docker_language_server.lua
@@ -9,6 +9,13 @@
return {
cmd = { 'docker-language-server', 'start', '--stdio' },
filetypes = { 'dockerfile', 'yaml.docker-compose' },
+ get_language_id = function(_, ftype)
+ if ftype == 'yaml.docker-compose' or ftype:lower():find('ya?ml') then
+ return 'dockercompose'
+ else
+ return ftype
+ end
+ end,
root_markers = {
'Dockerfile',
'docker-compose.yaml',