diff --git a/env/.config/nvim/init.lua b/env/.config/nvim/init.lua index da301d1..d93cb5d 100644 --- a/env/.config/nvim/init.lua +++ b/env/.config/nvim/init.lua @@ -51,7 +51,7 @@ vim.cmd [[set completeopt+=menuone,noselect,popup]] -- LSP vim.lsp.enable({ - "lua_ls", "tinymist", "marksman", "bashls", "hyprls", + "lua_ls", "tinymist", "marksman", "bashls", "hyprls", "docker-language-server", }) vim.lsp.config('bashls', { @@ -59,6 +59,29 @@ vim.lsp.config('bashls', { cmd = { 'bash-language-server', 'start' }, }) +vim.lsp.config('docker-language-server', { + 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', + 'docker-compose.yml', + 'compose.yaml', + 'compose.yml', + 'docker-bake.json', + 'docker-bake.hcl', + 'docker-bake.override.json', + 'docker-bake.override.hcl', + }, +}) + -- Fix warnings for 'vim' global keyword. vim.lsp.config("lua_ls", { settings = {