aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lsp/docker_language_server.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lsp/docker_language_server.lua')
-rw-r--r--.config/nvim/lsp/docker_language_server.lua32
1 files changed, 32 insertions, 0 deletions
diff --git a/.config/nvim/lsp/docker_language_server.lua b/.config/nvim/lsp/docker_language_server.lua
new file mode 100644
index 0000000..695d51a
--- /dev/null
+++ b/.config/nvim/lsp/docker_language_server.lua
@@ -0,0 +1,32 @@
+---@brief
+---
+--- https://github.com/docker/docker-language-server
+---
+--- `docker-langserver-server` can be installed via `go`:
+--- ```sh
+--- go install github.com/docker/docker-language-server/cmd/docker-language-server@latest
+--- ```
+
+---@type vim.lsp.Config
+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',
+ 'docker-compose.yml',
+ 'compose.yaml',
+ 'compose.yml',
+ 'docker-bake.json',
+ 'docker-bake.hcl',
+ 'docker-bake.override.json',
+ 'docker-bake.override.hcl',
+ },
+}