From 6aef629cc2ec4ff717cb8f56f69e71c69ed0a171 Mon Sep 17 00:00:00 2001 From: Petr Nyc Date: Sat, 17 Jan 2026 21:50:32 +0100 Subject: [PATCH] dockerfile and terraform syntax checking --- .spacemacs | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/.spacemacs b/.spacemacs index 74fb8a6..62793bc 100644 --- a/.spacemacs +++ b/.spacemacs @@ -80,8 +80,8 @@ This function should only modify configuration layer settings." syntax-checking ;; version-control treemacs - docker - terraform + (docker :variables docker-dockerfile-backend 'lsp) + (terraform :variables terraform-backend 'lsp) ) @@ -799,6 +799,24 @@ before packages are loaded." ;; otherwise it locks up emacs startup (add-hook 'sh-mode-hook #'lsp-deferred) + ;; Chain mode-specific checkers (Hadolint, TFLint) to run after LSP. + ;; We use `lsp-managed-mode-hook` to ensure the `lsp` checker is fully + ;; defined before modifying its chain, preventing "lsp is not a valid + ;; syntax checker" errors during startup. + (defun jp/lsp-flycheck-chaining () + "Chain specific checkers to LSP based on the current mode." + (cond + ;; Dockerfile: LSP -> Hadolint + ((derived-mode-p 'dockerfile-mode) + (flycheck-add-next-checker 'lsp 'dockerfile-hadolint)) + + ;; Terraform: LSP -> TFLint + ((derived-mode-p 'terraform-mode) + (flycheck-add-next-checker 'lsp 'terraform-tflint)))) + + ;; Run this whenever LSP starts managing a buffer + (add-hook 'lsp-managed-mode-hook #'jp/lsp-flycheck-chaining) + ;; / LSP config ;; jira config