merge: branch 'feature/treesit'

Fix: #7742
Fix: #7623
Fix: #7593
This commit is contained in:
Henrik Lissner
2025-08-31 14:55:37 +02:00
120 changed files with 1513 additions and 1069 deletions

View File

@@ -18,6 +18,9 @@ functions allow images to be built easily.
** Module flags
- +lsp ::
Enable integration for the Dockerfile Language Server.
- +tree-sitter ::
Leverages tree-sitter for better syntax highlighting and structural text
editing. Requires Emacs 29.1+ and [[doom-module::tools tree-sitter]].
** Packages
- [[doom-package:docker]]

View File

@@ -6,3 +6,12 @@
(when (modulep! +lsp)
(add-hook 'dockerfile-mode-local-vars-hook #'lsp! 'append)))
(use-package! dockerfile-ts-mode
:when (modulep! +tree-sitter)
:defer t
:init
(set-tree-sitter! 'dockerfile-mode 'dockerfile-ts-mode
'((dockerfile :url "https://github.com/camdencheek/tree-sitter-dockerfile"
:commit "087daa20438a6cc01fa5e6fe6906d77c869d19fe"))))

View File

@@ -1,5 +1,13 @@
;;; tools/docker/doctor.el -*- lexical-binding: t; -*-
(assert! (or (not (modulep! +tree-sitter))
(modulep! :tools tree-sitter))
"This module requires (:tools tree-sitter)")
(assert! (or (not (modulep! +tree-sitter))
(fboundp 'dockerfile-ts-mode))
"Can't find `dockerfile-ts-mode'; Emacs 29.1+ is required")
(when (modulep! :editor format)
(unless (executable-find "dockfmt")
(warn! "Couldn't find dockfmt. Formatting will be disabled.")))