From 6947d64ed77e30180c6bdeb41d8ce8d6fa47a808 Mon Sep 17 00:00:00 2001 From: Michael Martin Date: Fri, 8 Aug 2025 14:40:23 -0700 Subject: 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 --- lsp/docker_language_server.lua | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lsp/docker_language_server.lua') 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', -- cgit v1.2.3-70-g09d2